Collection of diagnostics objects Gets passed into timestep_brag/neut routines to pick up relevant data on entire mesh and is projected into different diagnostics dimensions
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=GP), | public, | dimension(:), allocatable | :: | ne_stag | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | te_stag | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ti_stag | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | pot_stag | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | upar_cano | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | neutrals_dens_stag | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | neutrals_parmom_cano | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | nupar_cano | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | nvpar_cano | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | jpar_cano | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | apar_fluct_over_btor | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | radgrad_ne | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | radgrad_te | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | radgrad_ti | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | v_exb_rad | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | v_dia_e_rad | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | v_dia_i_rad | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | b_1_rad | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_ext_ne |
External density source |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_ext_te |
External electron temperature source |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_ext_ti |
External ion temperature source |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_iz_ne |
Electron density source from ionization |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_rec_ne |
Electron density source from recombination |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_neut_te |
Electron temperature source due to neutrals interactions |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_neut_ti |
Ion temperature source due to neutrals interactions |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_neut_upar |
Parallel ion velocity source due to neutrals interactions |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_neut_vort |
Vorticity source due to neutrals interactions |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_neut_pressure |
Neutrals pressure source |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_neut_rcy |
Neutrals density source due to recycling |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_floor_ne |
Density source due to floor application |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | src_floor_neutrals_dens |
Neutrals density source due to floor application |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ddt_eth |
Changerate of thermal energy density |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ddt_ne |
Changerate of electron density |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ddt_te |
Changerate of electron temperature |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ddt_ti |
Changerate of ion temperature |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ddt_neutrals_dens |
Changerate of neutrals density |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | eth |
Stored thermal energy density |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_heat_e |
Electron heating power |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_heat_i |
Ion heating power |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_rad_imp |
Electron energy lost by impurity radiation |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_rad_iz |
Direct electron energy loss from ionization |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_rad_rec |
Direct electron energy loss by main plasma recombination |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_neut_e |
Electron energy source due to neutrals interactions |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_neut_i |
Ion energy source due to neutrals interactions |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_ext_par |
Parallel kinetic energy source due to external sources |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_neut_par_cano |
Parallel kinetic energy source due to neutrals interactions (part on cano) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_neut_par_stag |
Parallel kinetic energy source due to neutrals interactions (part on stag) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_ext_perp |
Perpendicular kinetic energy source due to external sources |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | p_neut_perp |
Perpendicular kinetic energy source due to neutrals interactions |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | qpar_cond_e |
Conductive parallel electron heat flux |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | qpar_cond_i |
Conductive parallel ion heat flux |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | qpar_conv_e |
Convective parallel electron heat flux |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | qpar_conv_i |
Convective parallel electron heat flux |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | parflux_ne_fwd |
Electron outflow through fwd target due to parallel advection |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | parflux_ne_bwd |
Electron outflow through bwd target due to parallel advection |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | parflux_ne_fwd_weighted |
Weighted electron outflow through fwd target due to parallel advection |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | parflux_ne_bwd_weighted |
Weighted electron outflow through bwd target due to parallel advection |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | parflux_neutrals_fwd |
Neutrals outflow through fwd target due to parallel advection |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | parflux_neutrals_bwd |
Neutrals outflow through bwd target due to parallel advection |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | parflux_neutralsdiss_fwd |
Neutrals outflow through fwd target due to parallel dissipation |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | parflux_neutralsdiss_bwd |
Neutrals outflow through bwd target due to parallel dissipation |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | perpflux_ne_exb |
Electron outflow through perp boundary due to exb advection |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | perpflux_ne_dia |
Electron outflow through perp boundary due to diamag. advection |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | perpflux_neutrals_outer |
Neutrals outflow through outer perp boundary due to poloidal pressure diffusion |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | perpflux_neutrals_volint |
Volume integral of poloidal pressure diffusion |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | neut_k_iz |
Ionization rate coefficient |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | neut_k_rec |
Recombination rate coefficient |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | neut_k_cx |
Charge exchange rate coefficient |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | neut_w_iz |
Ionization cooling rate coefficient |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | neut_w_rec |
Recombination cooling rate coefficient |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_radflux_exb |
Radial ExB flux of ne |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_radflux_dia |
Radial diamagnetic flux of ne |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_radflux_visc |
Radial viscous fluxes of ne (hyperdiffusion + buffer) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_radflux_mag |
Radial electromagnetic flutter flux of ne |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_exb_advection |
ExB advection (with Arakawa) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_flutter |
Magnetic flutter advection (with Arakawa) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_div_nupar |
Divergence of the parallel ion flux |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_curv_pot |
ExB compression |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_curv_pe |
Diamagnetic compression (electron velocity) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | cont_hypvisc |
Hyperviscosity (dissipation) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | vort_curv_pi |
Diamagnetic compression (ion velocity) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | vort_div_jpar |
Divergence of the parallel current (b0 background) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | vort_flutter |
Magnetic flutter advection of jpar (with Arakawa), Maxwell stress |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | vort_hypvisc |
Hyperviscosity (dissipation) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_ddt |
Changerate of E_the |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_radflux_exb |
Radial ExB flux of E_the |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_radflux_dia |
Diamagnetic flux of E_the |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_radflux_dia_real |
Diamagnetic flux of E_the - divergent part |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_pe_div_exb |
pe div v_E term in E_the equation RHS |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_vpar_gradpar_pe |
vpar gradpar pe term in E_the equation RHS |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_eta_jpar2 |
Resistivity term in E_the equation RHS |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_jpar_gradpar_te |
jpar gradpar te term in E_the equation RHS |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_equipartition |
Equipartition term in E_the equation RHS |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_hypvisc |
Hyperviscous dissipation of E_the |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_buffer |
Buffer diffusion of E_the |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_src |
E_the source term in E_the equation RHS |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_radflux_mag_qtotal |
Radial flutter thermal conduction of electrons (total) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_radflux_mag_qnormal |
Radial flutter thermal conduction of electrons (no flutter grad te) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethe_radflux_visc |
Radial viscous fluxes of thermal electron energy (hyperdiffusion + buffer) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_radflux_exb |
Radial ExB flux of E_thi |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_radflux_dia |
Radial diamagnetic flux of E_thi |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_pi_div_exb |
pi div v_E term in E_thi equation RHS |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_upar_gradpar_pi |
upar gradpar pi term in E_thi equation RHS |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_radflux_dia_real |
Radial diamagnetic flux of E_thi - divergent part |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_radflux_mag_adv |
Radial flutter advective flux of E_thi |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_radflux_mag_qtotal |
Radial flutter thermal conduction of ions (total) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_radflux_mag_qnormal |
Radial flutter thermal conduction of ions (no flutter grad te) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_radflux_visc |
Radial viscous fluxes of thermal ion energy (hyperdiffusion + buffer) |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ekin_perp |
Perpendicular kinetic energy |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ekin_perp_ddt |
Changerate of perpendicular kinetic energy |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ekin_par |
Parallel kinetic energy |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ekin_par_ddt |
Changerate of E_kinpar |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | eem |
Electromagnetic energy |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | eem_ddt |
Electromagnetic energy |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | etrans_upar_gradpar_pe |
upar gradpar pi term in E_thi equation RHS |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | etrans_jpar_gradpar_pot |
jpar gradpar pot transfer term |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | etrans_upol_grad_pi | |||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ethi_upol_flux |
div(5/2 pi * upol) in Ethi equation |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ekinperp_upol_flux |
div(pot * ne * upol) in Ekinperp equation |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | ekinperp_jpol_poynt_flux |
div(pot * ne * upol) in Ekinperp equation |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | eem_flux |
Electromagnetic flux of electromagnetic energy |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | aparv_fluct_cano |
Values of fluctuating part of electromagnetic potential on canonical mesh |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | diss_ne |
Dissipation (total) on density |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | diss_te |
Dissipation (total) on electron temperature |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | diss_pe |
Dissipation (total) on electron pressure |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | diss_ti |
Dissipation (total) on ion temperature |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | diss_pi |
Dissipation (total) on ion pressure |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | diss_upar |
Dissipation (total) on parallel velocity |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | diss_apar |
Dissipation (total) on parallel electromagnetic potential |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | diss_vort |
Dissipation (total) on vorticity |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | gstressv |
Ion stress function |
||
| real(kind=GP), | public, | dimension(:), allocatable | :: | gstressv_par |
Parallel part of ion stress function |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(diagnostics_packet_t), | intent(inout) | :: | self |
Instance of type |
Compute diagnostics Only work for tratio=1
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(diagnostics_packet_t), | intent(inout) | :: | self |
Instance of class |
||
| type(comm_handler_t), | intent(in) | :: | comm_handler |
MPI communicators |
||
| class(equilibrium_t), | intent(inout) | :: | equi |
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 |
Polars (canonical) |
||
| type(polars_t), | intent(in) | :: | polars_stag |
Polars (staggered) |
||
| type(parallel_target_flux_t), | intent(in) | :: | parflux_utils_cano |
Parallel boundary flux utility (canonical) |
||
| type(parallel_target_flux_t), | intent(in) | :: | parflux_utils_stag |
Parallel boundary flux utility (staggered) |
||
| type(perp_bnd_flux_t), | intent(in) | :: | perp_bnd_flux_cano |
Perpendicular boundary flux utility (canonical) |
||
| type(perp_bnd_flux_t), | intent(in) | :: | perp_bnd_flux_stag |
Perpendicular boundary flux utility (staggered) |
||
| type(inplane_operators_t), | intent(inout) | :: | opsinplane_cano |
Inplane operators (canonical) |
||
| type(inplane_operators_t), | intent(inout) | :: | opsinplane_stag |
Inplane operators (staggered) |
||
| type(boundaries_braginskii_t), | intent(in) | :: | boundaries |
Boundary information for the Braginskii model |
||
| type(boundaries_neutrals_t), | intent(in) | :: | boundaries_neutrals |
Boundaries related with neutrals module |
||
| real(kind=GP), | intent(in), | dimension(mesh_cano%get_n_points()) | :: | cf_buffer_cano |
Buffer function (canonical) |
|
| real(kind=GP), | intent(in), | dimension(mesh_stag%get_n_points()) | :: | cf_buffer_stag |
Buffer function (staggered) |
|
| real(kind=GP), | intent(in), | dimension(mesh_cano%get_n_points()) | :: | cf_diss_cano |
Envelope function for dissipation (canonical) |
|
| real(kind=GP), | intent(in), | dimension(mesh_stag%get_n_points()) | :: | cf_diss_stag |
Envelope function for dissipation (staggered) |
|
| real(kind=GP), | intent(in) | :: | tau |
Time |
||
| type(variable_t), | intent(inout) | :: | ne |
Electron density |
||
| type(variable_t), | intent(inout) | :: | te |
Electron temperature |
||
| type(variable_t), | intent(inout) | :: | ti |
Ion temperature |
||
| type(variable_t), | intent(inout) | :: | pot |
Electrostatic potential |
||
| type(variable_t), | intent(inout) | :: | vort |
Generalised vorticity |
||
| type(variable_t), | intent(inout) | :: | upar |
Parallel ion velocity |
||
| type(variable_t), | intent(inout) | :: | jpar |
Parallel current |
||
| type(variable_t), | intent(inout) | :: | apar |
Parallel electromagnetic potential |
||
| type(variable_t), | intent(inout) | :: | apar_fluct |
Fluctation of apar used for flutter operators |
||
| type(gyroviscosity_t), | intent(inout) | :: | gstress |
Gyroviscosity |
||
| type(variable_t), | intent(inout) | :: | neutrals_dens |
Neutrals density |
||
| type(variable_t), | intent(inout) | :: | neutrals_parmom |
Neutrals parallel momentum |
||
| type(variable_t), | intent(in) | :: | neutrals_pressure |
Neutrals pressure |
||
| type(sources_external_t), | intent(inout) | :: | sources_external |
External sources |
||
| real(kind=GP), | intent(in), | dimension(mesh_stag%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 |
|
| type(multistep_storage_t), | intent(in) | :: | multistep_storage_cano |
Multistep storage for quantities on the canonical mesh |
||
| type(multistep_storage_t), | intent(in) | :: | multistep_storage_stag |
Multistep storage for quantities on the staggered mesh |