astronomix.option_classes.simulation_params#

Runtime simulation parameters.

Unlike the simulation configuration, these parameters can be changed without triggering a recompilation, and the simulation can be differentiated with respect to them (CFL number, gas constants, viscosity, end time, …). The per-module parameter containers are bundled in here too.

Module Contents#

Classes#

FixedBoundaryState1D

The prescribed left/right states for a single axis with FIXED_BOUNDARY.

FixedBoundaryState

Per-axis fixed boundary states used when a boundary is FIXED_BOUNDARY.

SimulationParams

Different from the simulation configuration, the simulation parameters do not require recompilation when changed. The simulation can be differentiated with respect to them.

API#

class astronomix.option_classes.simulation_params.FixedBoundaryState1D[source]#

Bases: typing.NamedTuple

The prescribed left/right states for a single axis with FIXED_BOUNDARY.

left_state: jax.numpy.ndarray = 'array(...)'#
right_state: jax.numpy.ndarray = 'array(...)'#
class astronomix.option_classes.simulation_params.FixedBoundaryState[source]#

Bases: typing.NamedTuple

Per-axis fixed boundary states used when a boundary is FIXED_BOUNDARY.

x: astronomix.option_classes.simulation_params.FixedBoundaryState1D = 'FixedBoundaryState1D(...)'#
y: astronomix.option_classes.simulation_params.FixedBoundaryState1D = 'FixedBoundaryState1D(...)'#
z: astronomix.option_classes.simulation_params.FixedBoundaryState1D = 'FixedBoundaryState1D(...)'#
class astronomix.option_classes.simulation_params.SimulationParams[source]#

Bases: typing.NamedTuple

Different from the simulation configuration, the simulation parameters do not require recompilation when changed. The simulation can be differentiated with respect to them.

C_cfl: float = 0.4#
gravitational_constant: float = 1.0#
gravitational_potential: jax.numpy.array = 'array(...)'#
viscosity: float = 0.0#
thermal_conductivity: float = 0.0#
isothermal_sound_speed: float = 1.0#
gamma: float = None#
minimum_density: float = 1e-14#
minimum_pressure: float = 1e-14#
positivity_max_velocity: float = 50.0#
dt_max: float = None#
t_start: float = 0.0#
t_end: float = 0.2#
snapshot_timepoints: jax.numpy.array = 'array(...)'#
fixed_boundary_state: astronomix.option_classes.simulation_params.FixedBoundaryState = 'FixedBoundaryState(...)'#
turbulent_forcing_params: astronomix._modules._turbulent_forcing._turbulent_forcing_options.TurbulentForcingParams = 'TurbulentForcingParams(...)'#
wind_params: astronomix._modules._stellar_wind.stellar_wind_options.WindParams = 'WindParams(...)'#
cosmic_ray_params: astronomix._modules._cosmic_rays.cosmic_ray_options.CosmicRayParams = 'CosmicRayParams(...)'#
cooling_params: astronomix._modules._cooling.cooling_options.CoolingParams = 'CoolingParams(...)'#
neural_net_force_params: astronomix._modules._neural_net_force._neural_net_force_options.NeuralNetForceParams = 'NeuralNetForceParams(...)'#
cnn_mhd_corrector_params: astronomix._modules._cnn_mhd_corrector._cnn_mhd_corrector_options.CNNMHDconfig = 'CNNMHDconfig(...)'#