ElemCo.jl methods


Specify methods available for electron-correlation calculations

Main structure


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

has_prefix(method::ECMethod, spec::AbstractString)

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

has_suffix(method::ECMethod, spec::AbstractString)

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

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

show(io::IO, method::ECMethod)

Print method to io.

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.