Inner Loop Step

vlapy.core.step.get_collision_step(stuff_for_time_loop, all_params)

This returns the function to be used for performing a collision step based on the input parameters and derived parameters

Parameters
  • stuff_for_time_loop – dictionary containing derivced parameters for the simulation

  • all_params – dictionary containing input parameters for the simulation

Returns

function for taking a Fokker-Planck timestep

vlapy.core.step.get_f_update(store_f_rule)

This function returns the function used in the stepper for storing f in a batch It performs the necessary transformations if we’re just storing Fourier modes.

Parameters

store_f_rule – (dictionary) the rules to store the distribution function as dictated by the diagnostics routine for the simulation

Returns

vlapy.core.step.get_fields_update(dv, v)

This returns a function that updates the moment-based quantities that are stored at every time-step in the simulation

Parameters
  • dv – (float) the grid-spacing in v

  • v – (1D float array) the velocity-grid

Returns

function with the above values initialized as static variables

vlapy.core.step.get_series_update(dv)

This returns a function that updates the series-based quantities that are stored at every time-step in the simulation. These are quantities that are integrated in (x, v) to produce a single number per timestep

e.g. The total number of particles in the box.

Parameters

dv – (float) the grid-spacing in v

Returns

a function with the above values initialized as static variables

vlapy.core.step.get_storage_step(stuff_for_time_loop)

This function returns the function that is used in the inner loop as part of a time step

Each time-step consists of the following: Vlasov-Poisson Step Fokker-Planck Step Storage Step

Parameters

stuff_for_time_loop – (dictionary) derived parameters for the simulation

Returns

function with the above variables initialized as static variables

vlapy.core.step.get_timestep(all_params, stuff_for_time_loop)

Gets the full VFP + logging timestep :param all_params: (dictionary) contains input parameters for simulation :param stuff_for_time_loop: (dictionary) contains derived parameters for simulation :return: a function with the above values initialized as static variables

vlapy.core.step.get_vlasov_poisson_step(all_params, stuff_for_time_loop)

This is the highest level function for getting a Vlasov-Poisson timestep method

It reads the chosen inputs where the different solvers to be used for the simulation are specified and returns the appropriately constructed Vlasov-Poisson stepper based on the choice of time-integrator vdfdx-integrator edfdv-integrator Poisson-solver

Parameters
  • all_params – dictionary containing input parameters for the simulation

  • stuff_for_time_loop – dictionary containing derivced parameters for the simulation

Returns

function for taking a Vlasov-Poisson timestep