NEOPAX._profiles

Profile initialization models for NEOPAX.

This module mirrors the TORAX idea of separating profile conditions from solver logic: profile models build initial T, n, and Er consistently, and the solver just consumes arrays.

Classes

ProfileSet

Output container for physical profiles and boundary values.

ProfileModel

Abstract base class for profile construction models.

AnalyticalProfileModel

Abstract base class for profile construction models.

PrescribedProfileModel

Profile model using user-provided arrays; edges extracted automatically.

Functions

build_profiles(→ ProfileSet)

Module Contents

class NEOPAX._profiles.ProfileSet

Output container for physical profiles and boundary values.

temperature: jax.numpy.ndarray
density: jax.numpy.ndarray
Er: jax.numpy.ndarray
T_edge: jax.numpy.ndarray
n_edge: jax.numpy.ndarray
class NEOPAX._profiles.ProfileModel

Bases: abc.ABC

Abstract base class for profile construction models.

abstractmethod build(field, n_species: int) ProfileSet

Build profiles and return ProfileSet with physical arrays and boundaries.

class NEOPAX._profiles.AnalyticalProfileModel

Bases: ProfileModel

Abstract base class for profile construction models.

n0: float
n_edge: float
T0: float
T_edge: float
c_density: tuple[float, Ellipsis] | None = None
c_temperature: tuple[float, Ellipsis] | None = None
density_shape_power: float = 2.0
temperature_shape_power: float = 2.0
n_scale: float | tuple[float, Ellipsis] = 1.0
T_scale: float | tuple[float, Ellipsis] = 1.0
er0_scale: float = 100.0
er0_peak_rho: float = 0.8
charge_qp: tuple[float, Ellipsis] | None = None
build(field, n_species: int) ProfileSet

Build profiles and return ProfileSet with physical arrays and boundaries.

class NEOPAX._profiles.PrescribedProfileModel

Bases: ProfileModel

Profile model using user-provided arrays; edges extracted automatically.

temperature: list[list[float]]
density: list[list[float]]
Er: list[float]
build(field, n_species: int) ProfileSet

Build profiles and return ProfileSet with physical arrays and boundaries.

NEOPAX._profiles.build_profiles(profile_cfg: dict[str, Any], field, n_species: int) ProfileSet