| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | groupname |
Name of diagnostics group |
||
| character(len=:), | public, | allocatable | :: | dirpath |
Path to diagnostics directory |
||
| type(diagnostic_variable_t), | public | :: | tau |
Time |
|||
| type(diagnostic_variable_t), | public, | dimension(:), allocatable | :: | diags |
Container of non-generic diagnostic variables |
||
| integer, | public | :: | n_diags |
Number of non-generic diagnostic variables |
|||
| logical, | public | :: | file_exists |
Internal flag to track snapshot file status |
Initialize diagnostic
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_group_t), | intent(inout) | :: | self |
Instance of class |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
MPI communication handler |
||
| character(len=*), | intent(in) | :: | groupname |
Directory suffix to write snapsfiles into |
Initialize diagnostic
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_group_t), | intent(inout) | :: | self |
Instance of class |
||
| integer, | intent(in) | :: | n_diags |
Directory to write snapsfiles into |
Write all diagnostics
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_group_t), | intent(inout) | :: | self |
Instance of class |
||
| real(kind=GP), | intent(in) | :: | tau |
Time |
||
| integer, | intent(in) | :: | isnaps |
Snapshot file index |
||
| integer, | intent(in) | :: | idiag |
Diagnostic step index |
||
| logical, | intent(in) | :: | start_new_file |
If true, a new file will be created |
Initialize single diagnostic and provide pointer to its vals field
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_group_t), | intent(inout) | :: | self |
Instance of class |
||
| integer, | intent(in) | :: | ndim |
Number of elements in diagnostic |
||
| character(len=*), | intent(in) | :: | dimname |
Name of dimension of diagnostic |
||
| character(len=*), | intent(in) | :: | varname |
Name of diagnostic |
||
| integer, | intent(out) | :: | ind_out |
Index of initiated diagnostic in diags array |
Main diagnostics computation routine
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_zonal_t), | intent(inout) | :: | self |
Instance of class |
||
| type(diagnostics_packet_t), | intent(inout) | :: | diag_packet |
Diagnostic packet |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
MPI communication handler |
||
| class(equilibrium_t), | intent(in) | :: | equi |
Magnetic equilibrium |
||
| class(equilibrium_storage_t), | intent(in) | :: | equi_on_cano |
Equilibrium storage on canonical plane enabling faster performance at certain locations |
||
| class(equilibrium_storage_t), | intent(in) | :: | equi_on_stag |
Equilibrium storage on staggered plane enabling faster performance at certain locations |
||
| type(mesh_cart_t), | intent(in) | :: | mesh_cano |
Mesh (canonical) within poloidal plane |
||
| type(mesh_cart_t), | intent(in) | :: | mesh_stag |
Mesh (staggered) within poloidal plane |
||
| type(parallel_map_t), | intent(in) | :: | map |
Parallel map |
||
| type(penalisation_t), | intent(in) | :: | penalisation_cano |
Penalisation (canonical) |
||
| type(penalisation_t), | intent(in) | :: | penalisation_stag |
Penalisation (staggered) |
||
| type(polars_t), | intent(in) | :: | polars_cano |
Polar grid and operators (canonical) |
||
| type(polars_t), | intent(in) | :: | polars_stag |
Polar grid and operators (staggered) |
||
| real(kind=GP), | intent(in) | :: | tau |
Time |
||
| type(variable_t), | intent(in) | :: | ne |
Electron density |
||
| type(variable_t), | intent(in) | :: | te |
Electron temperature |
||
| type(variable_t), | intent(in) | :: | ti |
Ion temperature |
||
| type(variable_t), | intent(in) | :: | pot |
Electrostatic potential |
||
| type(variable_t), | intent(in) | :: | vort |
Generalised vorticity |
||
| type(variable_t), | intent(in) | :: | upar |
Parallel ion velocity |
||
| type(variable_t), | intent(in) | :: | jpar |
Parallel current |
||
| type(variable_t), | intent(in) | :: | apar |
Parallel electromagnetic potential |
||
| type(variable_t), | intent(in) | :: | apar_fluct |
Parallel electromagnetic potential fluctation |
||
| type(variable_t), | intent(in) | :: | neutrals_dens |
Neutrals density |
||
| type(variable_t), | intent(in) | :: | neutrals_parmom |
Neutrals parallel momentum |
||
| type(variable_t), | intent(in) | :: | neutrals_pressure |
Neutrals pressure |
||
| real(kind=GP), | intent(in), | dimension(mesh_cano%get_n_points_inner()) | :: | src_ne |
Particle source values on inner mesh points |
|
| real(kind=GP), | intent(in), | dimension(mesh_cano%get_n_points_inner()) | :: | src_te |
Electron temperature source values on inner mesh points |
|
| real(kind=GP), | intent(in), | dimension(mesh_cano%get_n_points_inner()) | :: | src_ti |
Ion temperature source values on inner mesh points |
|
| real(kind=GP), | intent(in), | dimension(mesh_cano%get_n_points_inner()) | :: | src_upar |
Parallel momentum source values on inner mesh points |
|
| real(kind=GP), | intent(in), | dimension(mesh_cano%get_n_points_inner()) | :: | src_vort |
Vorticity source values on inner mesh points |
|
| integer, | intent(in) | :: | isnaps |
Braginskii model snapshot number |
||
| integer, | intent(in) | :: | idiag |
Diagnostic snapshot number |
||
| logical, | intent(in) | :: | start_new_file |
Flag whether to write to new file |
Project input onto zonal diagnostic dimension nrho
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_zonal_t), | intent(inout) | :: | self |
Instance of class |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
MPI communication handler |
||
| class(equilibrium_t) | :: | equi | ||||
| class(equilibrium_storage_t), | intent(in) | :: | equi_storage |
Equilibrium storage enabling faster performance at certain locations |
||
| type(mesh_cart_t), | intent(in) | :: | mesh |
Mesh within poloidal plane |
||
| type(parallel_map_t), | intent(in) | :: | map |
Parallel map |
||
| type(polars_t), | intent(in) | :: | polars |
Polar grid and operators |
||
| integer, | intent(in) | :: | ind |
Work index in diagnostics array |
||
| real(kind=GP), | intent(in), | dimension(:) | :: | u |
Input array |
|
| character(len=*), | intent(in) | :: | mode |
Projection mode, select from : 'ZONAVG' - zonal volume average aka 'flux surface average' 'ZONINT' - zonal volume integral 'SRFAVG' - surface average 'SRFINT' - surface integral |