qrunch.chemistry.calculators.mp2_calculator

Ground state energy calculator using second-order Møller-Plesset (MP2) perturbation theory.

Classes

MollerPlesset2GroundStateCalculator

Class for performing second-order Møller-Plesset (MP2) calculations.

MollerPlesset2GroundStateProblemCalculatorOptions

Options to use for second-order Møller-Plesset (MP2) ground state calculations.

class MollerPlesset2GroundStateCalculator

Bases: object

Class 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(problem: GeneralGroundStateProblem) → GroundStateProblemCalculatorResult
calculate(problem: ReactionPathProblem) → ReactionPathProblemCalculatorResult

Solve the second-order Moller-Plesset (MP2) problem.

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. In case of a restricted orbital space the inactive energy contribution associated with the active space is included in the ground_state_problem.

The Hamiltonian for all geometries is assumed to be real.

Parameters:

problem (RestrictedGroundStateProblem | LazyRestrictedGroundStateProblem | UnrestrictedGroundStateProblem | LazyUnrestrictedGroundStateProblem | RestrictedReactionPathProblem | UnrestrictedReactionPathProblem) – The problem to calculate the ground state energy / energies for.

Return type:

GroundStateProblemCalculatorResult | ReactionPathProblemCalculatorResult

calculate_t2_amplitudes(ground_state_problem: RestrictedGroundStateProblem | UnrestrictedGroundStateProblem) → RestrictedMP2T2Amplitudes | UnrestrictedMP2T2Amplitudes

Calculate and return the MP2 double excitation (t2) amplitudes.

Parameters:

ground_state_problem (RestrictedGroundStateProblem | UnrestrictedGroundStateProblem) – The ground state problem to calculate t2 amplitudes for.

Return type:

RestrictedMP2T2Amplitudes | UnrestrictedMP2T2Amplitudes

class MollerPlesset2GroundStateProblemCalculatorOptions

Bases: DataclassPublicAPI

Options 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_threshold for any occupied orbital i and virtual orbital a, the calculation logs a warning about potentially numerically unstable MP2 energy denominators but proceeds with the computation. (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