If we are parallelising over (vpa,mu) then this subroutine is called This is the more common version used compared with parallelising over (kx,ky,z) and is the default for stella. Here we calculate: sum_s int dv (J0 * g) and then call get_phi which divides this by the appropriate gamtot factor TODO-GA: remove apar from this and make it only needed for EM stella
Layouts
Arrays
Parameters
Grids
Calculations
Routines from other field modules
Note that this advances phi for the electrostatic, fluxtube case.
If electromagnetic effects are included then phi will be advanced below
First gyroaverage the distribution function g at each phase space location
and store this as g_scratch =
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) | :: | g | ||
complex, | intent(out), | dimension(:, :, -nzgrid:, :) | :: | phi | ||
complex, | intent(out), | dimension(:, :, -nzgrid:, :) | :: | apar | ||
complex, | intent(out), | dimension(:, :, -nzgrid:, :) | :: | bpar | ||
character(len=*), | intent(in) | :: | dist | |||
logical, | intent(in), | optional | :: | skip_fsa |