jaxrts.plasmastate.PlasmaState
- class jaxrts.plasmastate.PlasmaState(ions: list[Element], Z_free: list | Quantity, mass_density: list | Quantity, T_e: Quantity, T_i: list | Quantity | None = None)[source]
Define a plasma. The
PlasmaStateis defined by the set of state parameters, which are attributes of this object and have to be set during initialization:ions: a list ofjaxrts.elements.Elementobjects that define the constituents of the plasma.Z_free: a list of ionization states for each of the constituents.mass_density: a list of partial mass densities for the ions. Therefore, the mass_density also contains the information about the stoichiometry plasma (see :py:attr:~.number_fraction`. Summing up mass_density gives the total mass density.T_e: The electronic temperature of the system.T_i: The ionic temperature of the system. One temperature per ion species. IfT_iis not given when initializing the plasma state, we assume equilibrium between electron- and ion temperatures.
Instances of a
jaxrts.models.Modelcan be set to describe certain aspects of a plasa state, i.e., the ionization potential depression model, or the description of free-free scattering. To attach such a Models instance to aPlasmaState, assign it to a key that is valid for the specificjaxrts.models.Model, e.g.,>>> state["free-free scattering"] = jaxrts.models.RPA()
Methods
__init__(ions, Z_free, mass_density, T_e[, T_i])citation([style])Return bibliographic information for all the :py:class`jaxrts.models.Model` attached to this PlasmaState.
db_wavelength(kind)evaluate(key, setup)Evaluate an individual :py:class:~`jaxrts.models.Model`, attached to this :py:class`~.PlasmaState` with the modelkey
key.Creates a new PlasmaState with twice the amount of ion species, where each of the ions has an integer charge state and the number of ions is adjusted so that the mean charge is the (potentially fractional) charge of self.
keys()Return a list of keys under which
jaxrts.models.Models are attached to the PlasmaState.probe(setup)Function to generate a spectrum by combining the :py:class:~.PlasmaState` (and the connected Models therein) with a
jaxrts.setup.Setup.update_default_model(model_name, model_class)Add a model to the
PlasmaState, if it does not exist, already.Attributes
Return the fermi temperature of the free electron system, determined by the electron density.
Return the effective electron temperature.
The atomic number of the atom-species.
The number of electrons still bound to the ion.
The atomic weight of the atoms.
Return the degree of degeneracy of the electrons.
The mean atomic number.
The free electron number density.
The ion number density.
The number of species in the plasma.
Return the number fraction of the elements.
This is a shortcut to just get the screening length, which is used, e.g., by the
jaxrts.hnc_potentials.DebyeHueckelPotential.A list of
jaxrts.elements.Elementobjects that define the constituents of the plasma.A list of ionization states for each of the constituents.
A list of partial mass densities for the ions.
The electronic temperature of the system.
The ionic temperature of the system.