quri_parts.chem.mol.models module¶
- class OrbitalType(value)¶
Bases:
EnumType of orbital.
- CORE = 1¶
core orbital.
- ACTIVE = 2¶
active orbital.
- VIRTUAL = 3¶
virtual orbital.
- class ActiveSpace(n_active_ele, n_active_orb, active_orbs_indices=None)¶
Bases:
objectAn immutable (frozen) dataclass representing a active space.
- Parameters:
n_active_ele (int)
n_active_orb (int)
active_orbs_indices (Sequence[int] | None)
- n_active_ele: int¶
number of active electrons.
- n_active_orb: int¶
number of active orbitals.
- active_orbs_indices: Sequence[int] | None = None¶
sequence of spatial orbital indices of the active orbitals.
- cas(n_active_ele, n_active_orb, active_orbs_indices=None)¶
Convenient function for constructing the active space.
- Parameters:
n_active_ele (int)
n_active_orb (int)
active_orbs_indices (Sequence[int] | None)
- Return type:
- class MolecularOrbitals(*args, **kwargs)¶
Bases:
ProtocolInterface protocol for a data of the molecule.
- abstract property n_electron: int¶
Returns the number of electrons.
- abstract property spin: int¶
Returns the total spin of the electrons.
Note
We follow the quantum chemistry convention where:
\[N_{\alpha} - N_{\beta} = 2S\]and spin = 2S.
- abstract property n_spatial_orb: int¶
Returns the number of spatial orbitals.
- abstract property mo_coeff: ndarray[Any, dtype[complex128]]¶
Returns molecular orbital coefficients.
- class ActiveSpaceMolecularOrbitalsBase(*args, **kwargs)¶
Bases:
MolecularOrbitals,ABC- abstract property n_active_ele: int¶
- abstract property n_core_ele: int¶
- abstract property n_active_orb: int¶
Returns the number of active orbitals.
- abstract property n_core_orb: int¶
Returns the number of core orbitals.
- abstract property n_vir_orb: int¶
Returns the number of virtual orbitals.
- abstract get_core_and_active_orb()¶
- Return type:
tuple[Sequence[int], Sequence[int]]
- abstract orb_type(mo_index)¶
- Parameters:
mo_index (int)
- Return type:
- class ActiveSpaceMolecularOrbitals(mo, active_space)¶
Bases:
ActiveSpaceMolecularOrbitalsBaseRepresents a data of the active space for the molecule.
- Parameters:
mo (MolecularOrbitals) –
MolecularOrbitalsfor the molecule.active_space (ActiveSpace) –
ActiveSpacefor the molecule.
- property n_electron: int¶
Returns a number of electrons.
- property spin: int¶
Returns the total spin of the electrons.
- property n_active_ele: int¶
Returns the number of active electrons.
- property n_core_ele: int¶
Returns the number of core electrons.
- property n_ele_alpha: int¶
Return the number of spin up electrons.
- property n_ele_beta: int¶
Return the number of spin down electrons.
- property n_spatial_orb: int¶
Returns the number of spatial orbitals.
- property n_active_orb: int¶
Returns the number of active orbitals.
- property n_core_orb: int¶
Returns the number of core orbitals.
- property n_vir_orb: int¶
Returns the number of virtual orbitals.
- property mo_coeff: ndarray[Any, dtype[complex128]]¶
Returns molecular orbital coefficients.
- get_core_and_active_orb()¶
Returns a set of core and active orbitals.
The output orbitals are represented as the spatial orbital.
- Return type:
tuple[Sequence[int], Sequence[int]]
- orb_type(mo_index)¶
Returns a type of the given orbital index.
- Parameters:
mo_index (int) – Orbital index.
- Return type:
- class AO1eInt(*args, **kwargs)¶
Bases:
ProtocolInterface protocol for an atomic orbital one-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- abstract to_mo1int(mo_coeff)¶
This method converts an atomic orbital one-electron integral into the molecular orbital one-electron integral.
- Parameters:
mo_coeff (ndarray[Any, dtype[complex128]]) – molecular orbital coefficients.
- Return type:
- class AO2eInt(*args, **kwargs)¶
Bases:
ProtocolInterface protocol for an atomic orbital two-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- abstract to_mo2int(mo_coeff)¶
This method converts an atomic orbital two-electron integral into the molecular orbital two-electron integral.
- Parameters:
mo_coeff (ndarray[Any, dtype[complex128]]) – molecular orbital coefficients.
- Return type:
- class AOeIntSet(*args, **kwargs)¶
Bases:
ProtocolAOeIntSet holds a constant and the atomic orbital electron integrals.
- constant: float¶
constant.
- to_full_space_mo_int(mo)¶
Compute the full space spin mo integral.
- Parameters:
mo (MolecularOrbitals)
- Return type:
- to_active_space_mo_int(active_space_mo)¶
Compute the active space spin mo integral.
- Parameters:
active_space_mo (ActiveSpaceMolecularOrbitalsBase)
- Return type:
- class SpatialMO1eInt(*args, **kwargs)¶
Bases:
ProtocolInterface protocol for a molecular orbital one-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- class SpatialMO2eInt(*args, **kwargs)¶
Bases:
ProtocolInterface protocol for a molecular orbital two-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- class SpatialMO1eIntArray(array)¶
Bases:
SpatialMO1eIntA class of a molecular orbital one-electron integral.
This interface has an integral as numpy ndarray.
- Parameters:
array (npt.NDArray[np.complex128])
- property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- class SpatialMO2eIntArray(array)¶
Bases:
SpatialMO2eIntA class of a molecular orbital two-electron integral.
This interface has an integral as numpy ndarray.
- Parameters:
array (npt.NDArray[np.complex128])
- property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- class SpatialMOeIntSet(const, mo_1e_int, mo_2e_int)¶
Bases:
NamedTupleSpatialMOeIntSet holds a constant and a set of molecular orbital electron integral.
- Parameters:
const (float)
mo_1e_int (SpatialMO1eInt)
mo_2e_int (SpatialMO2eInt)
- const: float¶
constant.
- mo_1e_int: SpatialMO1eInt¶
molecular orbital one-electron integral.
- mo_2e_int: SpatialMO2eInt¶
molecular orbital two-electron integral.
- class SpinMO1eInt(*args, **kwargs)¶
Bases:
ProtocolInterface protocol for a molecular spin orbital one-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- class SpinMO2eInt(*args, **kwargs)¶
Bases:
ProtocolInterface protocol for a molecular spin orbital two-electron integral.
- abstract property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- class SpinMO1eIntArray(array)¶
Bases:
SpinMO1eIntStores the array of the 1-electron integrals.
- Parameters:
array (npt.NDArray[np.complex128])
- property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- class SpinMO2eIntArray(array)¶
Bases:
SpinMO2eIntStores the array of the 2-electron integrals.
- Parameters:
array (npt.NDArray[np.complex128])
- property array: ndarray[Any, dtype[complex128]]¶
Returns integral as numpy ndarray.
- class SpinMOeIntSet(const, mo_1e_int, mo_2e_int)¶
Bases:
NamedTupleSpinMOeIntSet holds a constant and a set of molecular orbital electron integral.
- Parameters:
const (float)
mo_1e_int (SpinMO1eInt)
mo_2e_int (SpinMO2eInt)
- const: float¶
constant.
- mo_1e_int: SpinMO1eInt¶
spin molecular orbital one-electron integral.
- mo_2e_int: SpinMO2eInt¶
spin molecular orbital two-electron integral.