jf1uids.time_stepping.time_integration module

jf1uids.time_stepping.time_integration module#

jf1uids.time_stepping.time_integration.time_integration(primitive_state: Float[Array, 'num_vars num_cells_x'] | Float[Array, 'num_vars num_cells_x num_cells_y'] | Float[Array, 'num_vars num_cells_x num_cells_y num_cells_z'], config: SimulationConfig, params: SimulationParams, helper_data: HelperData, registered_variables: RegisteredVariables, snapshot_callable=None, sharding: None | NamedSharding = None) Float[Array, 'num_vars num_cells_x'] | Float[Array, 'num_vars num_cells_x num_cells_y'] | Float[Array, 'num_vars num_cells_x num_cells_y num_cells_z'] | SnapshotData[source]#

Integrate the fluid equations in time. For the options of the time integration see the simulation configuration and the simulation parameters.

Parameters:
  • primitive_state – The primitive state array.

  • config – The simulation configuration.

  • params – The simulation parameters.

  • helper_data – The helper data.

  • registered_variables – The registered variables.

  • snapshot_callable

    A callable which is called at certain time points if config.activate_snapshot_callback is True. The callable must have the signature

    callable(time: float, state: STATE_TYPE, registered_variables: RegisteredVariables) -> None

    and can be used to e.g. output the current state to disk or directly produce intermediate plots.

  • sharding – The sharding to use for the padded helper data. If None, no sharding is applied.

Returns:

Depending on the configuration (return_snapshots, num_snapshots) either the final state of the fluid after the time integration of snapshots of the time evolution.