ElemCo.jl methods

ElemCo.ECMethodsModule

Specify methods available for electron-correlation calculations

Main structure

ElemCo.ECMethods.ECMethodType
ECMethod

Description of the electron-correlation method

  • theory: theory level: "MP", "CC", "DC".

  • prefix: prefix of the methods, e.g., "EOM", "U", "R", "2D", "FRS", "FRT".

  • suffix: suffix of the methods.

  • exclevel: excitation level for each class (exclevel[1] for singles etc.). Possible values: :none, :full, :pert, :pertiter.

  • pertlevel: perturbation theory level (relevant for MP methods).

Exported functions

ElemCo.ECMethods.has_prefixMethod
has_prefix(method::ECMethod, spec::AbstractString)

Return true if method has prefix spec, e.g., "EOM".

ElemCo.ECMethods.has_suffixMethod
has_suffix(method::ECMethod, spec::AbstractString)

Return true if method has suffix spec, e.g., "F12".

ElemCo.ECMethods.method_nameMethod
method_name(method::ECMethod; main::Bool = true, root::Bool = false)

Return string representation of method. If main is true, return only the main part of the name, i.e., without perturbative corrections. If root is true, return the root name of the method, i.e., without any prefixes or suffixes.

Internal functions

Base.showMethod
show(io::IO, method::ECMethod)

Print method to io.

ElemCo.ECMethods.check_specsMethod
check_specs(mname::AbstractString, pos, specs::Vector)

Check if starting from position pos, mname contains any of specs and return a list of the matching ones (without dashes for multiple-letter specs!) and the final position after specs.