qrunch.chemistry.ground_state_problem.calculators.mp2_ground_state_problem_calculators
Ground state energy calculator using second-order Møller-Plesset (MP2) perturbation theory.
Classes
Class for performing second-order Møller-Plesset (MP2) calculations. |
|
Options to use for second-order Møller-Plesset (MP2) ground state calculations. |
- class MollerPlesset2GroundStateProblemCalculator
Bases:
objectClass for performing second-order Møller-Plesset (MP2) calculations.
- __init__(options: MollerPlesset2GroundStateProblemCalculatorOptions | None = None) None
Initialize an instance of MollerPlesset2GroundStateProblemCalculator.
- Parameters:
options (MollerPlesset2GroundStateProblemCalculatorOptions | None) – Options to use for the calculation. None results in default options.
- Return type:
None
- calculate(ground_state_problem: RestrictedGroundStateProblem | UnrestrictedGroundStateProblem) GroundStateProblemCalculatorResult
Calculate the second-order Møller-Plesset (MP2) ground state energy.
The MP2 method computes a perturbative correction to the Hartree-Fock energy, accounting for electron correlation effects. The total energy is:
\(E_\mathrm{total} = E_\mathrm{HF} + E_\mathrm{MP2-correlation}\)
Note that the ground_state_problem may restrict the orbital space, in which case this is not a standard MP2 calculation but a calculation with a truncated orbital space. The inactive energy contribution associated with an active space (if any) is included in the ground_state_problem.
The Hamiltonian for the ground state problem is assumed to be real.
- Parameters:
ground_state_problem (RestrictedGroundStateProblem | UnrestrictedGroundStateProblem) – The ground state problem to calculate energy for.
- Return type:
- class MollerPlesset2GroundStateProblemCalculatorOptions
Bases:
DataclassPublicAPIOptions to use for second-order Møller-Plesset (MP2) ground state calculations.
All fields are immutable (
frozen=True) so an instance can be safely reused.- Parameters:
degeneracy_threshold – Minimum allowed gap between any occupied and virtual orbital energy. If \(|\varepsilon_a - \varepsilon_i| <\)
degeneracy_thresholdfor any occupied orbital i and virtual orbital a, the calculation raises aValueErrorto avoid numerically unstable MP2 energy denominators. (default=0.1)canonicality_tolerance – Maximum allowed absolute value of any off-diagonal element of the Fock matrix. Must be set according to SCF convergence thresholds. Default tolerance is set according to default SCF convergence. (default=1e-6)
verbose – Verbosity level for the underlying PySCF MP2 calculation. Higher values produce more output. (default=0)
- __init__(*, degeneracy_threshold: float = 0.1, canonicality_tolerance: float = 1e-06, verbose: int = 0) None
- Parameters:
degeneracy_threshold (float)
canonicality_tolerance (float)
verbose (int)
- Return type:
None
- canonicality_tolerance: float = 1e-06
- degeneracy_threshold: float = 0.1
- verbose: int = 0