NEOPAX._source_models

Attributes

SOURCE_MODEL_REGISTRY

SOURCE_MODEL_VALIDATION

_DEFAULTS_REGISTERED

Classes

SourceModelBase

Base class for non-conservative source models.

AnalyticSource

Base class for non-conservative source models.

ExampleStateDrivenSource

Base class for non-conservative source models.

CombinedSourceModel

Base class for non-conservative source models.

FusionPowerFractionElectronsSource

Base class for non-conservative source models.

DTReactionSource

Base class for non-conservative source models.

PowerExchangeSource

Base class for non-conservative source models.

BremsstrahlungRadiationSource

Base class for non-conservative source models.

Functions

register_source_model(→ None)

register_source(→ None)

source_model(name, **register_kwargs)

_ensure_default_source_models_registered(→ None)

get_source_model(→ SourceModelBase)

get_source(→ SourceModelBase)

_as_name_list(→ list[str])

_builder_kwargs_for(→ dict[str, Any])

_compose_sources(→ SourceModelBase | None)

_broadcast_profile(→ jax.Array)

_species_component(→ jax.Array)

sum_source_components(→ jax.Array)

assemble_density_source_components(→ dict[str, jax.Array])

assemble_pressure_source_components(→ dict[str, jax.Array])

build_source_models_from_config(→ dict[str, ...)

Build density/temperature source callables from TOML-style config.

Module Contents

NEOPAX._source_models.SOURCE_MODEL_REGISTRY: dict[str, Callable[Ellipsis, SourceModelBase]]
NEOPAX._source_models.SOURCE_MODEL_VALIDATION: dict[str, bool]
NEOPAX._source_models._DEFAULTS_REGISTERED = False
NEOPAX._source_models.register_source_model(name: str, builder: Callable[Ellipsis, SourceModelBase], *, validate: bool = False, validation_context: NEOPAX._model_api.ModelValidationContext | None = None) None
NEOPAX._source_models.register_source(name: str, builder: Callable[Ellipsis, SourceModelBase]) None
NEOPAX._source_models.source_model(name: str, **register_kwargs)
NEOPAX._source_models._ensure_default_source_models_registered() None
class NEOPAX._source_models.SourceModelBase

Base class for non-conservative source models.

abstractmethod __call__(state: Any)
build_lagged_response(state: Any, **kwargs)
evaluate_with_lagged_response(state: Any, lagged_response: Any, **kwargs)
class NEOPAX._source_models.AnalyticSource

Bases: SourceModelBase

Base class for non-conservative source models.

profile: Any
__call__(state: Any)
class NEOPAX._source_models.ExampleStateDrivenSource

Bases: SourceModelBase

Base class for non-conservative source models.

scale: float = 1.0
__call__(state: Any)
class NEOPAX._source_models.CombinedSourceModel

Bases: SourceModelBase

Base class for non-conservative source models.

sources: tuple[SourceModelBase, Ellipsis] = ()
classmethod from_names(names: list[str] | tuple[str, Ellipsis], *, params_cfg: dict[str, Any] | None = None, species: Any | None = None, cfg: dict[str, Any] | None = None) CombinedSourceModel
with_added_sources(*sources: SourceModelBase) CombinedSourceModel
with_replaced_sources(sources: tuple[SourceModelBase, Ellipsis]) CombinedSourceModel
__call__(state: Any)
build_lagged_response(state: Any, **kwargs)
evaluate_with_lagged_response(state: Any, lagged_response: Any, **kwargs)
class NEOPAX._source_models.FusionPowerFractionElectronsSource

Bases: SourceModelBase

Base class for non-conservative source models.

species: Any = None
__call__(state, species=None)
class NEOPAX._source_models.DTReactionSource

Bases: SourceModelBase

Base class for non-conservative source models.

species: Any = None
__call__(state, species=None)
class NEOPAX._source_models.PowerExchangeSource

Bases: SourceModelBase

Base class for non-conservative source models.

species: Any = None
mode: str = 'all'
coulomb_log_mode: str = 'neopax_simple'
temperature_active_mask: Any = None
idx_a: str = None
idx_b: str = None
__call__(state, species=None)
class NEOPAX._source_models.BremsstrahlungRadiationSource

Bases: SourceModelBase

Base class for non-conservative source models.

species: Any = None
delta_zeff: float = 0.0
coefficient_mode: str = 'astra'
brems_coefficient: float | None = None
__call__(state, species=None)
NEOPAX._source_models.get_source_model(name: str, **kwargs) SourceModelBase
NEOPAX._source_models.get_source(name: str, *args, **kwargs) SourceModelBase
NEOPAX._source_models._as_name_list(value: Any) list[str]
NEOPAX._source_models._builder_kwargs_for(source_name: str, params_cfg: dict[str, Any], species: Any | None = None, cfg: dict[str, Any] | None = None) dict[str, Any]
NEOPAX._source_models._compose_sources(names: list[str], params_cfg: dict[str, Any] | None = None, species: Any | None = None) SourceModelBase | None
NEOPAX._source_models._broadcast_profile(value: Any, template: jax.Array) jax.Array
NEOPAX._source_models._species_component(template: jax.Array, species_index: int, profile: Any) jax.Array
NEOPAX._source_models.sum_source_components(components: dict[str, jax.Array] | None, template: jax.Array) jax.Array
NEOPAX._source_models.assemble_density_source_components(source_value: Any, state: Any, species: Any) dict[str, jax.Array]
NEOPAX._source_models.assemble_pressure_source_components(source_value: Any, state: Any, species: Any) dict[str, jax.Array]
NEOPAX._source_models.build_source_models_from_config(cfg: dict[str, Any], species: Any | None = None) dict[str, SourceModelBase] | None

Build density/temperature source callables from TOML-style config.

Supported schema:

[sources] density = [“name1”, “name2”] temperature = [“name3”]

[sources.parameters] name3 = {some_kw = 1.0}