3.9.10. horton.meanfield.occ – Occupation number models¶
-
class
horton.meanfield.occ.FixedOccModel(*occ_arrays)¶ Bases:
horton.meanfield.occ.OccModel-
__init__(*occ_arrays)¶
-
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.OccModelArguments:
- nalpha, nbeta, …
- The number of electrons in each channel.
-
__init__(*noccs)¶ 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.OccModelArguments:
- nel
- The total number of electrons (alpha + beta)
-
__init__(nel)¶ 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.AufbauOccModelArguments:
- 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].
-
__init__(*noccs, **kwargs)¶ 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.