advance_mirror_explicit calculates the contribution to the RHS of the gyrokinetic equation due to the mirror force term; it treats all terms explicitly in time
start the timer for this subroutine
assume we are simulating a single flux surface
swap from ky >= 0 and all kx to kx >= 0 and all ky
needed for ky2y transform below
for upwinding of vpa, need to evaluate dg/dvpa in y-space
this is necessary because the advection speed contains dB/dz, which depends on y
first must take g(ky,kx) and transform to g(y,kx)
remap g so velocities are local
next, calculate dg/dvpa;
we enforce a boundary condition on
finally add the mirror term to the RHS of the GK eqn
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(in), | dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) | :: | g | ||
complex, | intent(inout), | dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) | :: | gout |