driver_iol Interface

interface
public module subroutine driver_iol(self, comm_handler, equi, mesh, polars, tau, dtau, ne, pot, ti, src_vort, update_performed, force_no_update)

Arguments

Type IntentOptional Attributes Name
class(iol_source_t), intent(inout) :: self

Instance of the type

type(comm_handler_t), intent(in) :: comm_handler

Communication handler

class(equilibrium_t), intent(inout) :: equi

Equilibrium

type(mesh_cart_t), intent(inout) :: mesh

Mesh within poloidal plane

type(polars_t), intent(in) :: polars

Polar grid and operators

real(kind=GP), intent(in) :: tau

Current time of simulation

real(kind=GP), intent(in) :: dtau

Timestep of simulation

type(variable_t), intent(in) :: ne

Electron density

type(variable_t), intent(in) :: pot

Electrostatic potential

type(variable_t), intent(in) :: ti

Ion temperature

real(kind=GP), intent(inout), dimension(mesh%get_n_points_inner()) :: src_vort

Vorticity source, on output with IOL contribution added

logical, intent(out) :: update_performed

Indicates if update of IOL source was performed

logical, intent(in), optional :: force_no_update

Switch that enforces that IOL source is not updated

Description

Driver routine for computing IOL sources. Takes care of time averaging procedure, i.e. (Re-)computes IOL sources at time frames tau_average based on internal average fields. Adds contribution of fields to current internal average fields