natural_occupation
Natural orbital occupation module.
- class daltonproject.natural_occupation.CAS(active_electrons: int, active_orbitals: Union[int, List[int]], inactive_orbitals: Union[int, List[int]])
Data structure for complete active space specification.
- active_electrons: int
Alias for field number 0
- active_orbitals: Union[int, List[int]]
Alias for field number 1
- inactive_orbitals: Union[int, List[int]]
Alias for field number 2
- class daltonproject.natural_occupation.NatOrbOcc(num_irreps: int, strong_nat_occ: Dict[int, ndarray], weak_nat_occ: Dict[int, ndarray], strong_nat_occ_nosym: ndarray, strong_nat_occ_nosym2sym_idx: ndarray, weak_nat_occ_nosym: ndarray, weak_nat_occ_nosym2sym_idx: ndarray)
Data structure for natural orbital occupations.
- num_irreps: int
Alias for field number 0
- strong_nat_occ: Dict[int, ndarray]
Alias for field number 1
- strong_nat_occ_nosym: ndarray
Alias for field number 3
- strong_nat_occ_nosym2sym_idx: ndarray
Alias for field number 4
- weak_nat_occ: Dict[int, ndarray]
Alias for field number 2
- weak_nat_occ_nosym: ndarray
Alias for field number 5
- weak_nat_occ_nosym2sym_idx: ndarray
Alias for field number 6
- daltonproject.natural_occupation.pick_cas_by_thresholds(natural_occupations: Dict[int, ndarray], max_strong_occupation: float, min_weak_occupation: float) CAS
Get parameters needed for a CAS calculation based on simple thresholds.
- Parameters
natural_occupations – Natural occupation numbers.
max_strong_occupation – Maximum occupation number of strongly occupied natural orbitals to be included in CAS.
min_weak_occupation – Minimum occupation number of weakly occupied natural orbitals to be included in CAS.
- Returns
Number of active electrons, CAS, and number of inactive orbitals.
- daltonproject.natural_occupation.scan_occupations(natural_occupations: Dict[int, ndarray], strong_threshold: float = 1.995, weak_threshold: float = 0.002, max_orbitals: int = 14) str
Determine thresholds for picking active space.
Will not print orbitals outside the bounds of “strong_threshold” and “weak_threshold”.
- Parameters
natural_occupations – Natural occupation numbers.
strong_threshold – Strongly occupied natural orbitals with occupations above this threshold will not be printed.
weak_threshold – Weakly occupied natural orbitals with occupations below this threshold will not be printed.
max_orbitals – Maximum number of strongly and weakly occupied orbitals to print.
- Returns
String to be printed or saved to file.
- daltonproject.natural_occupation.sort_natural_occupations(natural_occupations: Union[ndarray, Dict[int, ndarray]]) NatOrbOcc
Sort natural orbital occupation numbers.
- Parameters
natural_occupations – Natural occupation numbers.
- Returns
Sorted natural orbital occupation numbers.
- daltonproject.natural_occupation.trim_natural_occupations(natural_occupations: Dict[int, ndarray], strong_threshold: float = 1.995, weak_threshold: float = 0.002) str
Print relevant natural occupations in a nice format.
- Parameters
natural_occupations – Natural occupation numbers.
strong_threshold – Strongly occupied natural orbitals with occupations above this threshold will not be printed.
weak_threshold – Weakly occupied natural orbitals with occupations below this threshold will not be printed.
- Returns
String to be printed or saved to file.