astronomix._modules._stellar_wind.stellar_wind

astronomix._modules._stellar_wind.stellar_wind#

Stellar-wind injection into the fluid state.

Implements the wind injection schemes of https://arxiv.org/abs/2107.14673 for the finite-volume solver (mass-and-energy overwrite, momentum-and-energy injection, thermal-energy injection) in 1D and 3D, plus the source-term variant used by the finite-difference solver. _wind_injection dispatches to the appropriate scheme based on the configuration.

Module Contents#

Functions#

dummy_multi_star_wind

Inject identical winds from several hard-coded star positions (3D).

API#

astronomix._modules._stellar_wind.stellar_wind.dummy_multi_star_wind(wind_params: astronomix._modules._stellar_wind.stellar_wind_options.WindParams, primitive_state: astronomix.option_classes.simulation_config.STATE_TYPE, dt: jaxtyping.Float[jaxtyping.Array], config: astronomix.option_classes.simulation_config.SimulationConfig, helper_data: astronomix.data_classes.simulation_helper_data.HelperData, num_ghost_cells: int, num_injection_cells: int, gamma: Union[float, jaxtyping.Float[jaxtyping.Array]], registered_variables: astronomix.variable_registry.registered_variables.RegisteredVariables) astronomix.option_classes.simulation_config.STATE_TYPE[source]#

Inject identical winds from several hard-coded star positions (3D).

A placeholder multi-source variant of the thermal-energy-injection scheme: it loops over a fixed list of star positions and adds a spherical mass and energy source around each.

Args:

wind_params: The wind parameters. primitive_state: The primitive state array. dt: The time step. config: The simulation configuration. helper_data: The helper data. num_ghost_cells: The number of ghost cells. num_injection_cells: The number of injection cells. gamma: The adiabatic index. registered_variables: The registered variables.

Returns:

The primitive state array with the stellar winds injected.