Quantum chemistry methods module.

class daltonproject.qcmethod.QCMethod(qc_method: str, xc_functional: str | None = None, coulomb: str | None = None, exchange: str | None = None, scf_threshold: float | None = None, exact_exchange: float | None = None, environment: str | None = None)

Specifies the QC method, including all associated settings.

complete_active_space(num_active_electrons: int, num_cas_orbitals: list[int] | int, num_inactive_orbitals: list[int] | int) None

Specify complete active space.

  • num_active_electrons – Number of active electrons. // Maybe this should be inferred just from the num_inactive_orbitals?

  • num_cas_orbitals – List of number of orbitals in complete active space.

  • num_inactive_orbitals – List of number of inactive (doubly occupied) orbitals.

coulomb(coulomb: str) None

Specify name of Coulomb approximation.


coulomb – Name of approximation to use for the Coulomb contribution.

environment(environment: str) None

Specify the environment model.


environment – Name of the environment model.

exact_exchange(exact_exchange: float) None

Specify amount of Hartree-Fock-like exchange in DFT calculation.


exact_exchange – Coefficient specifying amount of Hartree-Fock-like exchange, where 0.0 is only DFT exchange and 1.0 is only Hartree-Fock-like exchange.

exchange(exchange: str) None

Specify name of exchange approximation.


exchange – Name of approximation to use for the exchange contribution.

input_orbital_coefficients(orbitals: np.ndarray | Mapping[int, np.ndarray]) None

Specify starting guess for orbitals.


orbitals – Orbital coefficients.

integral_family(integral_family: bool) None

Specify if internal integral intermediates should be reused for integral_family basis sets.


integral_family – Reuse internal integral intermediates for shared-exponent angular blocks.

qc_method(qc_method: str) None

Specify quantum chemistry method.


qc_method – Name of quantum chemical method.

range_separation_parameter(mu: float) None

Specify value of range separation parameter.

The range separation parameter is used in srDFT.


mu – Range separation parameter in unit of a.u.^-1.

scf_threshold(threshold: float) None

Specify convergence threshold for SCF calculations.


threshold – Threshold for SCF convergence in Hartree.

target_state(state: int, symmetry: int = 1) None

Specify target state for state-specific calculations.

  • state – Which state to be targeted, counting from 1.

  • symmetry – Symmetry of the target state.

xc_functional(xc_functional: str) None

Specify exchange-correlation functional to use with DFT methods.


xc_functional – Name of exchange-correlation functional.