Type containing necessary objects and subroutines for apar_shift
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(variable_t), | public | :: | apar_shift |
Background shift in apar |
|||
| type(snapshot_t), | public | :: | snaps_apar_shift |
Snapshots for apar_shift |
Initialise apar shift variable, snapshot, and timestepper
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(apar_shift_t), | intent(inout) | :: | self |
Instance of class |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communicators |
||
| class(equilibrium_t), | intent(inout) | :: | equi |
Equilibrium |
||
| type(mesh_cart_t), | intent(inout) | :: | mesh_cano |
Mesh (canonical) within poloidal plane |
||
| type(mesh_cart_t), | intent(inout) | :: | mesh_stag |
Mesh (staggered) within poloidal plane |
||
| type(variable_t), | intent(in) | :: | apar |
Parallel electromagnetic potential |
||
| real(kind=GP), | intent(in) | :: | tau |
Time |
||
| integer, | intent(out) | :: | isnaps_apar_shift |
Snapshot of apar shift model |
||
| real(kind=GP), | intent(in), | optional, | dimension(mesh_stag%get_n_points(), tstep_order-1) | :: | apar_shift_firsts |
Initial storage of apar_shift at previous timesteps to achieve high order accuracy |
| real(kind=GP), | intent(in), | optional, | dimension(mesh_stag%get_n_points(), tstep_order-1) | :: | dapar_shift_firsts |
Initial storage of dapar_shift at previous timesteps to achieve high order accuracy |
Evaluate the fluctuating part of parallel electromagnetic potential
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(apar_shift_t), | intent(inout) | :: | self |
Instance of class |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communicators |
||
| class(equilibrium_t), | intent(inout) | :: | equi |
Equilibrium |
||
| type(mesh_cart_t), | intent(inout) | :: | mesh_stag |
Mesh (staggered) within poloidal plane |
||
| type(variable_t), | intent(in) | :: | apar |
Full parallel electromagnetic potential returned from Ohm's law |
||
| type(variable_t), | intent(inout) | :: | apar_fluct |
Fluctuating part of apar to be used by flutter terms |
Writes apar_shift to snapshots
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(apar_shift_t), | intent(inout) | :: | self |
Instance of class |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communicators |
||
| integer, | intent(in) | :: | isnaps_apar_shift |
Snapshot of apar shift model |
||
| real(kind=GP), | intent(in) | :: | tau |
Time |
Advances apar_shift from t to t+1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(apar_shift_t), | intent(inout) | :: | self |
Instance of class |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
Communicators |
||
| type(mesh_cart_t), | intent(in) | :: | mesh_stag |
Mesh (staggered) within poloidal plane |
||
| real(kind=GP), | intent(in) | :: | tau |
Time |
||
| type(variable_t), | intent(in) | :: | apar |
Parallel electromagnetic potential at timestep t |