Module for computing lineout diagnostics for the BRAGINSKII model
Reads parameters related to lineouts
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(params_diag_lineout_t), | intent(inout) | :: | self |
Instance of the type |
||
| character(len=*), | intent(in) | :: | filepath |
Filepath to read from |
Writes parameters related to lineouts
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(params_diag_lineout_t), | intent(in) | :: | self |
Instance of the type |
||
| character(len=*), | intent(in), | optional | :: | filepath |
If present writes to file, otherwise to stdout |
Class containing lineout diagnostics for the BRAGINSKII model
| 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 |
| procedure , public :: init_diagnostics_group Subroutine | |
| procedure , public :: allocate_diags Subroutine | |
| procedure , public :: write_diagnostics Subroutine | |
| procedure , public :: init_next_diagnostic Subroutine | |
| procedure , public :: init_lineout Subroutine | |
| procedure , public :: process_to_file Subroutine | |
| procedure , public :: project_lineout Subroutine |
Initialize lineout diagnostic
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_lineout_t), | intent(inout) | :: | self |
Instance of class |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
MPI communication handler |
||
| character(len=*), | intent(in) | :: | groupname |
Directory to write snapsfiles into |
||
| character(len=*), | intent(in) | :: | filepath |
Filepath to read lineouts parameters from |
Main diagnostics computation routine
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_lineout_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 |
||
| 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 lineout diagnostic dimension nrho
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_lineout_t), | intent(inout) | :: | self |
Instance of class |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
MPI communication handler |
||
| type(mesh_cart_t), | intent(in) | :: | mesh |
Mesh within poloidal plane |
||
| integer, | intent(in) | :: | i_lineout |
Work index of lineout list |
||
| 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 : 'TORAVG' - toroidal average at each lineout point |