3.7.10. horton.meanfield.occ
– Occupation number models¶
-
class
horton.meanfield.occ.
FixedOccModel
(*occ_arrays)¶ Bases:
horton.meanfield.occ.OccModel
-
assign
(*exps)¶ Assign occupation numbers to the expansion objects
Arguments:
- exp_alpha, exp_beta, ...
- Expansion objects
-
check_dms
(overlap, *dms, **kwargs)¶ Test if the given density matrices contain the right number of electrons
Arguments:
- overlap
- The overlap operator.
- dm1, dm2, ...
- Density matrices to be tested.
Optional keyword arguments:
- eps (default=1e-4)
- The allowed deviation.
-
-
class
horton.meanfield.occ.
AufbauOccModel
(*noccs)¶ Bases:
horton.meanfield.occ.OccModel
Arguments:
- nalpha, nbeta, ...
- The number of electrons in each channel.
-
assign
(*exps)¶ Assign occupation numbers to the expansion objects
Arguments:
- exp_alpha, exp_beta, ...
- Expansion objects
-
check_dms
(overlap, *dms, **kwargs)¶ Test if the given density matrices contain the right number of electrons
Arguments:
- overlap
- The overlap operator.
- dm1, dm2, ...
- Density matrices to be tested.
Optional keyword arguments:
- eps (default=1e-4)
- The allowed deviation.
-
class
horton.meanfield.occ.
AufbauSpinOccModel
(nel)¶ Bases:
horton.meanfield.occ.OccModel
Arguments:
- nel
- The total number of electrons (alpha + beta)
-
assign
(exp_alpha, exp_beta)¶ Assign occupation numbers to the expansion objects
Arguments:
- exp_alpha, exp_beta, ...
- Expansion objects
-
check_dms
(overlap, *dms, **kwargs)¶ Test if the given density matrices contain the right number of electrons
Arguments:
- overlap
- The overlap operator.
- dm1, dm2, ...
- Density matrices to be tested.
Optional keyword arguments:
- eps (default=1e-4)
- The allowed deviation.
-
class
horton.meanfield.occ.
FermiOccModel
(*noccs, **kwargs)¶ Bases:
horton.meanfield.occ.AufbauOccModel
Arguments:
- nalpha, nbeta, ...
- The number of electrons in each channel.
Optional keyword arguments:
- temperature
- Controls the width of the distribution (derivative)
- eps
- The error on the sum of the occupation number when searching for the right Fermi level.
For each channel, the orbital occupations are assigned with the Fermi distribution:
\[n_i = \frac{1}{1 + e^{(\epsilon_i - \mu)/k_B T}}\]where, for a given set of energy levels, \(\{\epsilon_i\}\), the chemical potential, \(\mu\), is optimized as to satisfy the following constraint:
\[\sum_i n_i = n_\text{occ}\]where \(n_\text{occ}\) can be set per (spin) channel. This is only a part of the methodology presented in [rabuck1999].
-
assign
(*exps)¶ Assign occupation numbers to the expansion objects
Arguments:
- exp_alpha, exp_beta, ...
- Expansion objects
-
check_dms
(overlap, *dms, **kwargs)¶ Test if the given density matrices contain the right number of electrons
Arguments:
- overlap
- The overlap operator.
- dm1, dm2, ...
- Density matrices to be tested.
Optional keyword arguments:
- eps (default=1e-4)
- The allowed deviation.