jaxrts.models.ThreePotentialHNCIonFeat

class jaxrts.models.ThreePotentialHNCIonFeat(rmin: ~pint.registry.Quantity = <Quantity(0.001, 'bohr')>, rmax: ~pint.registry.Quantity = <Quantity(100, 'bohr')>, pot: int = 14, SVT: bool = False, mix: float = 0.0, tmult: list[float] = None)[source]

Calculates \(S_{ab}\) including electron-ion and electron-electron static structure factors using the Hypernetted Chain approximation. This is achieved by treating the electrons as an additional ion species, that is amended to the list of ions. See, e.g. [Schwarz et al., 2007].

Note

Compared to OnePotentialHNCIonFeat, the internal Variables, V_s and V_l are now \((n+1 \times n+1 \times m)\) matrices, where \(n\) is the number of ion species and \(m = 2^\text{pot}\). pot is an attribute defining the number of grid-points evaluated in the HNC approach, which heavily relies on Fourier transforms).

Requires 3 Potentials:

  • an ‘ion-ion Potential’ The black entries in the picture below (defaults to CoulombPotential).

  • an ‘electron-ion Potential’ The orange entries in the picture below (defaults to KlimontovichKraeftPotential).

  • an ‘electron-electron Potential’ The red entries in the picture below (defaults to KelbgPotental).

../_images/ThreePotentialHNC.svg

See also

jaxrts.ion_feature.q_Glenzer2009

Calculation of the screening, when both S_ei and S_ii are known. As we directly calculate all static structure factors, we don’t require a ‘screening’ model with this ‘ionic scattering’ model.

Methods

Rayleigh_weight(plasma_state, setup)

Here, we have to calculate the Rayleigh weight different than the default, because we get the screening from the calculated S_ei, rather than any model.

S_ii(plasma_state, setup)

Calculate the ion-ion static structure factor in the given IonFeatModel.

__init__([rmin, rmax, pot, SVT, mix, tmult])

check(plasma_state)

Test if the model is applicable to the PlasmaState.

citation([style, comment])

Return bibliographic information for the Model used.

evaluate(plasma_state, setup)

prepare(plasma_state, key)

Modify the plasma_state in place.

Attributes

allowed_keys

A list of keywords where this model is adequate for

cite_keys

A list of bibtex keys.

k

r

r_max

The maximal radius for evaluating the potentials.

pot

The exponent (2 ** pot), setting the number of points in r or k to evaluate.

mix

Value in [0, 1); describes how much of the last iterations' nodal correction term should be added to the newly obtained N_ab.

SVT

if True use the SVT formulation to extend the HNC scheme to different temperatures between the components.

tmult

List of temperature multipliers used in auxiliary HNC calculations.