qrunch.chemistry.ground_state_problem.builders.full_ground_state_problem_builders

Module containing builders for a full ground state problem.

Functions

persistence_checkpoints()

Define the persistence checkpoints used during the process.

Classes

FullGroundStateProblemBuilder

Full ground state problem builder.

FullRestrictedGroundStateProblemBuilder

Restricted full ground state problem builder.

FullUnrestrictedGroundStateProblemBuilder

Unrestricted full ground state problem builder.

class FullGroundStateProblemBuilder

Bases: GroundStateProblemBuilder

Full ground state problem builder.

__init__(*, verbose: bool = False, molecular_orbital_calculator: MolecularOrbitalCalculator | None = None, repulsion_integral_builder: TwoBodyElectronRepulsionIntegralBuilderProtocol | None = None, data_persister_manager: DataPersisterManager | None = None, problem_modifiers: list[GroundStateProblemModifier] | None = None) None

Initialize a full ground state problem builder.

This builder uses a general MolecularOrbitalCalculator to obtain the molecular orbitals required for defining the ground state problem.

The builder can build a restricted or unrestricted ground state problem.

The ground state problem is an object that contains all the information needed to solve the electronic structure problem for a given molecular configuration. This includes the molecular electronic integrals, the electron configuration, and any additional energy contributions (e.g., nuclear repulsion energy).

Parameters:
  • verbose (bool) – If True, enables verbose output for the calculation process.

  • molecular_orbital_calculator (MolecularOrbitalCalculator | None) – Solver used to find orbitals for the system. HartreeFockCalculator is used as default.

  • repulsion_integral_builder (TwoBodyElectronRepulsionIntegralBuilderProtocol | None) – The object that can build two electron repulsion integrals. UnrestrictedTwoBodyElectronRepulsionIntegralBuilder is used as default.

  • data_persister_manager (DataPersisterManager | None) – Manager to handle saving and loading heavy full system calculations.

  • problem_modifiers (list[GroundStateProblemModifier] | None) – A list of problem modifiers

Return type:

None

build_restricted(molecular_configuration: MolecularConfiguration) RestrictedGroundStateProblem

Build restricted full ground state problem containing all atomic orbitals.

This method uses the restricted formalism which assumes that the alpha and beta spin components are identical, simplifying the electronic structure problem. This is suitable for systems where the electron spins are paired, such as closed-shell molecules.

Parameters:

molecular_configuration (MolecularConfiguration) – The molecular configuration to calculate the integrals from.

Return type:

RestrictedGroundStateProblem

build_unrestricted(molecular_configuration: MolecularConfiguration) UnrestrictedGroundStateProblem

Build unrestricted full ground state problem containing all atomic orbitals.

This method uses the unrestricted formalism, where the alpha and beta spin components are treated independently, leading to a more flexible (but computationally more demanding) calculation. This flexibility allows the problem to describe systems with unpaired electrons (e.g., radicals) more accurately.

Parameters:

molecular_configuration (MolecularConfiguration) – The molecular configuration to calculate the integrals from.

Return type:

UnrestrictedGroundStateProblem

data_persister_manager() DataPersisterManager | None

Return the data persister manager.

Return type:

DataPersisterManager | None

classmethod persistence_checkpoints() list[str]

Define the persistence checkpoints used during the embedding process.

These checkpoints specify computational stages where intermediate results can be saved and loaded to optimize computations and ensure reproducibility.

Return type:

list[str]

class FullRestrictedGroundStateProblemBuilder

Bases: object

Restricted full ground state problem builder.

__init__(*, verbose: bool = False, molecular_orbital_calculator: MolecularOrbitalCalculator | None = None, repulsion_integral_builder: TwoBodyElectronRepulsionIntegralBuilderProtocol | None = None, data_persister_manager: DataPersisterManager | None = None, problem_modifiers: list[GroundStateProblemModifier] | None = None) None

Initialize a restricted full ground state problem builder.

This builder uses a general MolecularOrbitalCalculator to obtain the molecular orbitals required for defining the ground state problem. The restricted formalism assumes that the alpha and beta spin components are identical, simplifying the electronic structure problem.

Parameters:
  • verbose (bool) – If True, enables verbose output for the calculation process.

  • molecular_orbital_calculator (MolecularOrbitalCalculator | None) – Solver used to find molecular orbitals for the system. HartreeFockCalculator is used as default.

  • repulsion_integral_builder (TwoBodyElectronRepulsionIntegralBuilderProtocol | None) – The object that can build two electron repulsion integrals.

  • default. (TwoBodyElectronRepulsionIntegralBuilder is used as)

  • data_persister_manager (DataPersisterManager | None) – Manager to handle saving and loading heavy full system calculations.

  • problem_modifiers (list[GroundStateProblemModifier] | None) – A list of problem modifiers

Return type:

None

build(molecular_configuration: MolecularConfiguration) RestrictedGroundStateProblem

Build full ground state problem containing all atomic orbitals.

Parameters:

molecular_configuration (MolecularConfiguration) – The molecular configuration to calculate the integrals from.

Return type:

RestrictedGroundStateProblem

data_persister_manager() DataPersisterManager | None

Return the data persister manager.

Return type:

DataPersisterManager | None

classmethod persistence_checkpoints() list[str]

Define the persistence checkpoints used during the process.

These checkpoints specify computational stages where intermediate results can be saved and loaded to optimize computations and ensure reproducibility.

Return type:

list[str]

class FullUnrestrictedGroundStateProblemBuilder

Bases: object

Unrestricted full ground state problem builder.

__init__(*, verbose: bool = False, molecular_orbital_calculator: MolecularOrbitalCalculator | None = None, repulsion_integral_builder: TwoBodyElectronRepulsionIntegralBuilderProtocol | None = None, data_persister_manager: DataPersisterManager | None = None, problem_modifiers: list[GroundStateProblemModifier] | None = None) None

Initialize an unrestricted full ground state problem builder.

This builder uses a general MolecularOrbitalCalculator to obtain the molecular orbitals required for defining the ground state problem. In the unrestricted formalism, the alpha and beta spin components are treated independently, leading to a more flexible (but computationally more demanding) calculation. This flexibility allows the problem to describe systems with unpaired electrons (e.g., radicals) more accurately.

Parameters:
  • verbose (bool) – If True, enables verbose output for the calculation process.

  • molecular_orbital_calculator (MolecularOrbitalCalculator | None) – Solver used to find orbitals for the system. HartreeFockCalculator is used as default.

  • repulsion_integral_builder (TwoBodyElectronRepulsionIntegralBuilderProtocol | None) – The object that can build two electron repulsion integrals. UnrestrictedTwoBodyElectronRepulsionIntegralBuilder is used as default.

  • data_persister_manager (DataPersisterManager | None) – Manager to handle saving and loading heavy full system calculations.

  • problem_modifiers (list[GroundStateProblemModifier] | None) – A list of problem modifiers

Return type:

None

build(molecular_configuration: MolecularConfiguration) UnrestrictedGroundStateProblem

Build full ground state problem containing all atomic orbitals.

Parameters:

molecular_configuration (MolecularConfiguration) – The molecular configuration to calculate the integrals from.

Return type:

UnrestrictedGroundStateProblem

data_persister_manager() DataPersisterManager | None

Return the data persister manager.

Return type:

DataPersisterManager | None

classmethod persistence_checkpoints() list[str]

Define the persistence checkpoints used during the embedding process.

These checkpoints specify computational stages where intermediate results can be saved and loaded to optimize computations and ensure reproducibility.

Return type:

list[str]

persistence_checkpoints() list[str]

Define the persistence checkpoints used during the process.

These checkpoints specify computational stages where intermediate results can be saved and loaded to optimize computations and ensure reproducibility.

Return type:

list[str]