Module which contains functions for calculating and writing out the fluxes of heat and momentum etc.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real, | public, | dimension (:,:,:,:), allocatable | :: | qheat | |||
real, | public, | dimension (:,:,:,:), allocatable | :: | qmheat | |||
real, | public, | dimension (:,:,:,:), allocatable | :: | qbheat | |||
real, | public, | dimension (:,:,:), allocatable | :: | pflux | |||
real, | public, | dimension (:,:,:), allocatable | :: | vflux | |||
real, | public, | dimension (:,:,:), allocatable | :: | vflux_par | |||
real, | public, | dimension (:,:,:), allocatable | :: | vflux_perp | |||
real, | public, | dimension (:,:,:), allocatable | :: | pflux_tormom | |||
real, | public, | dimension (:,:,:), allocatable | :: | vflux0 | |||
real, | public, | dimension (:,:,:), allocatable | :: | vflux1 | |||
real, | public, | dimension (:,:,:), allocatable | :: | pmflux | |||
real, | public, | dimension (:,:,:), allocatable | :: | vmflux | |||
real, | public, | dimension (:,:,:), allocatable | :: | pbflux | |||
real, | public, | dimension (:,:,:), allocatable | :: | vbflux | |||
real, | private, | dimension (:,:), allocatable | :: | esflux_vs_e | |||
real, | private, | dimension (:,:), allocatable | :: | apflux_vs_e | |||
real, | private, | dimension (:,:), allocatable | :: | bpflux_vs_e | |||
real, | public, | dimension (:,:,:), allocatable | :: | exchange | |||
real, | private, | dimension (:,:,:), allocatable | :: | exchange_dummy | |||
logical, | private, | parameter | :: | moment_to_allprocs | = | .false. | |
real, | private, | dimension (:,:), allocatable | :: | vpa1d | |||
real, | private, | dimension (:,:,:), allocatable | :: | hermp1d | |||
real, | private, | dimension (:,:,:,:,:), allocatable | :: | vpapts | |||
real, | private, | dimension (:,:,:,:,:,:), allocatable | :: | hermp |
Returns Gn = Hn / sqrt(2^n n!) / pi^(1/4), where Hn are the hermite polynomials i.e. int dx Gm * Gn exp(-x^2) = 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (:) | :: | xptsdum | ||
real, | intent(out), | dimension (:,0:) | :: | hpdum |
Returns Gn = Hn / sqrt(2^n n!) / pi^(1/4), where Hn are the hermite polynomials i.e. int dx Gm * Gn exp(-x^2) = 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (-ntgrid:,:,:,:) | :: | xptsdum | ||
real, | intent(out), | dimension (-ntgrid:,:,:,:,0:) | :: | hpdum |
Allocate and zero module-level arrays
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(diagnostics_type), | intent(inout), | optional | :: | gnostics |
Clean up module, deallocate module-level arrays
Set averages in gnostics\%current_results to 0.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(diagnostics_type), | intent(inout) | :: | gnostics |
Calculate and possibly write fluxes.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(diagnostics_type), | intent(inout) | :: | gnostics |
Calculate estimates of the heat and particles fluxes using gamma / k^2 estimate of the diffusivity
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(diagnostics_type), | intent(inout) | :: | gnostics |
Writes a range of different summed and averaged properties of the given flux... e.g. the flux summed over kx as a function of ky, species and time
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(diagnostics_type), | intent(inout) | :: | gnostics | |||
character(len=*), | intent(in) | :: | flux_name | |||
character(len=*), | intent(in) | :: | flux_description | |||
character(len=*), | intent(in) | :: | flux_units | |||
real, | intent(inout), | dimension(ntheta0,naky,nspec) | :: | flux_value | ||
logical, | intent(in) | :: | distributed |
Calculate various fluxes
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | phi | ||
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | apar | ||
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | bpar | ||
real, | intent(out), | dimension (:,:,:) | :: | pflux | ||
real, | intent(out), | dimension (:,:,:,:) | :: | qflux | ||
real, | intent(out), | dimension (:,:,:) | :: | vflux | ||
real, | intent(out), | dimension (:,:,:) | :: | vflux_par | ||
real, | intent(out), | dimension (:,:,:) | :: | vflux_perp | ||
real, | intent(out), | dimension (:,:,:) | :: | pmflux | ||
real, | intent(out), | dimension (:,:,:,:) | :: | qmflux | ||
real, | intent(out), | dimension (:,:,:) | :: | vmflux | ||
real, | intent(out), | dimension (:,:,:) | :: | pbflux | ||
real, | intent(out), | dimension (:,:,:,:) | :: | qbflux | ||
real, | intent(out), | dimension (:,:,:) | :: | vbflux | ||
real, | intent(out), | dimension (:,:,:) | :: | pflux_tormom |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | phi | ||
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | apar | ||
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | bpar | ||
real, | intent(inout), | dimension (:,:) | :: | pflux | ||
real, | intent(inout), | dimension (:,:) | :: | pmflux | ||
real, | intent(inout), | dimension (:,:) | :: | pbflux |
Calculate the flux of a field
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension (-ntgrid:,:,g_lo%llim_proc:) | :: | g_in |
Input weighted distribution |
|
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | fld |
Input field |
|
real, | intent(out), | dimension (:,:,:) | :: | flx |
Output flux |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension (-ntgrid:,:,g_lo%llim_proc:) | :: | g_in |
Input weighted distribution |
|
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | fld | ||
real, | intent(inout), | dimension (:,:) | :: | flx |
Identical to get_flux except don't integrate over poloidal angle ! JRB
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension (-ntgrid:,:,g_lo%llim_proc:) | :: | g_in |
Input weighted distribution |
|
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | fld | ||
real, | intent(inout), | dimension (-ntgrid:,:,:,:) | :: | flx_dist |
Diagnose the poloidal distribution of the particle, angular momentum, and energy fluxes
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | phi | ||
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | bpar | ||
real, | intent(out), | dimension (-ntgrid:,:,:,:) | :: | pflux_dist | ||
real, | intent(out), | dimension (-ntgrid:,:,:,:) | :: | vflux_par_dist | ||
real, | intent(out), | dimension (-ntgrid:,:,:,:) | :: | vflux_perp_dist | ||
real, | intent(out), | dimension (-ntgrid:,:,:,:) | :: | qflux_dist |
Calculate energy exchange diagnostic that numerically guarantees that the total energy exchange (summed over species) is zero
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | phinew | ||
complex, | intent(in), | dimension (-ntgrid:,:,:) | :: | phi | ||
real, | intent(out), | dimension (:,:,:) | :: | exchange_dummy | ||
real, | intent(out), | dimension (:,:,:) | :: | exchange_sym |
Calculate the momentum flux as a function of
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension(-ntgrid:,:,:) | :: | phinew | ||
real, | intent(out), | dimension (-ntgrid:,:,:) | :: | vflx |
Calculates and returns toroidal momentum flux as a function of vpar and theta
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (-ntgrid:,:,:,:,:) | :: | f | ||
real, | intent(out), | dimension (-ntgrid:,:,:) | :: | vflx |
Returns Gn = Hn / sqrt(2^n n!) / pi^(1/4), where Hn are the hermite polynomials i.e. int dx Gm * Gn exp(-x^2) = 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (-ntgrid:,:,:,:) | :: | xptsdum | ||
real, | intent(out), | dimension (-ntgrid:,:,:,:,0:) | :: | hpdum |
Returns Gn = Hn / sqrt(2^n n!) / pi^(1/4), where Hn are the hermite polynomials i.e. int dx Gm * Gn exp(-x^2) = 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (:) | :: | xptsdum | ||
real, | intent(out), | dimension (:,0:) | :: | hpdum |