cherab.imas.plasma.load_core_plasmaยถ
-
cherab.imas.plasma.load_core_plasma(*args, time: float =
0, occurrence: int =0, equilibrium: EFITEquilibrium | None =None, b_field: Function2D | None =None, psi_interpolator: Callable[[float], float] | None =None, time_threshold: float =inf, split_ion_bundles: bool =True, atomic_data: AtomicData | None =None, parent: _NodeBase | None =None, **kwargs) PlasmaSourceยถ Load core profiles and create a
Plasmaobject.Prefer
density_thermaloverdensityprofile.The distribution of each species is defined with
Maxwellianusing its density and temperature profiles, which are mapped to 3D using the providedequilibrium.The plasma geometry is defined as a cylindrical annulus between the inner and outer radii of the equilibrium, and between the minimum and maximum z values of the equilibrium.
The ion bundle species are split into their constituent charge states using
solve_coronal_equilibriumwhensplit_ion_bundlesis True and the necessary atomic data is available. Otherwise, ion bundles are ignored with a warning.- Parameters:
- *argsยถ
Arguments passed to the
DBEntryconstructor.- time: float =
0ยถ Time for the core plasma, by default 0.
- occurrence: int =
0ยถ Occurrence index of the
core_profilesIDS, by default 0.- equilibrium: EFITEquilibrium | None =
Noneยถ Alternative
EFITEquilibriumused to map core profiles. By default None: the equilibrium is read from the same IMAS query as the core profiles. Ignored if the core plasma is not available.- b_field: Function2D | None =
Noneยถ Alternative 2D interpolator of the magnetic field vector (Br, Bphi, Bz). By default None: the magnetic field is loaded from the
equilibriumIDS.- psi_interpolator: Callable[[float], float] | None =
Noneยถ Alternative
psi_norm(rho_tor_norm)interpolator. Used only ifpsiis missing in the core grid. By default None. Obtained from theequilibriumIDS.- mask
Mask function used for blending:
(1 - mask) * f_edge + mask * f_core. By default, usesEFITEquilibriumโsinside_lcfs.- time_threshold: float =
infยถ Maximum allowed difference between the requested time and the nearest available time, by default
numpy.inf.- split_ion_bundles: bool =
Trueยถ Whether to split ion bundles into their constituent charge states using
solve_coronal_equilibrium, by default True.- atomic_data: AtomicData | None =
Noneยถ Atomic data provider class for this plasma, by default None. If None, some species (e.g. ion_bundle) may not be properly loaded.
- parent: _NodeBase | None =
Noneยถ Parent node in the Raysect scene graph, by default None. Typically a
Worldinstance.- **kwargsยถ
Keyword arguments passed to the
DBEntryconstructor.
- Returns:
Plasmaโ Plasma object with core profiles.- Raises:
RuntimeError โ If the
profiles_1dAOS in core_profiles IDS is empty.ValueError โ If the
equilibriumargument is not anEFITEquilibriuminstance when provided.