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 Plasma object.

Prefer density_thermal over density profile.

The distribution of each species is defined with Maxwellian using its density and temperature profiles, which are mapped to 3D using the provided equilibrium.

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_equilibrium when split_ion_bundles is True and the necessary atomic data is available. Otherwise, ion bundles are ignored with a warning.

Parameters:
*argsยถ

Arguments passed to the DBEntry constructor.

time: float = 0ยถ

Time for the core plasma, by default 0.

occurrence: int = 0ยถ

Occurrence index of the core_profiles IDS, by default 0.

equilibrium: EFITEquilibrium | None = Noneยถ

Alternative EFITEquilibrium used 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 equilibrium IDS.

psi_interpolator: Callable[[float], float] | None = Noneยถ

Alternative psi_norm(rho_tor_norm) interpolator. Used only if psi is missing in the core grid. By default None. Obtained from the equilibrium IDS.

mask

Mask function used for blending: (1 - mask) * f_edge + mask * f_core. By default, uses EFITEquilibriumโ€™s inside_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 World instance.

**kwargsยถ

Keyword arguments passed to the DBEntry constructor.

Returns:

Plasma โ€“ Plasma object with core profiles.

Raises: