advance_wdrifty_explicit Subroutine

private subroutine advance_wdrifty_explicit(g, phi, bpar, gout)

advance_wdrifty_explicit subroutine calculates and adds the y-component of the magnetic drift term to the RHS of the GK equation

start the timing of the y component of the magnetic drift advance

calculate dg/dy in (ky,kx) space calculate dbpar/dy in (ky,kx) space

assume only a single flux surface simulated transform dg/dy from k-space to y-space add vM . grad y dg/dy term to equation

calculate dphi/dy in (ky,kx) space Here g_scratch is in k-space that has been pre-calculated and stored

transform d/dy from k-space to y-space add vM . grad y d/dy term to equation

Note that this is here because for FFS te gyro-average is calculated once outside this routine TODO-GA: can we do something similar for fluxtube to save cpu time? calculate dphi/dy in (ky,kx) space

stop the timing of the y component of the magnetic drift advance

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: g
complex, intent(in), dimension(:, :, -nzgrid:, :) :: phi
complex, intent(in), dimension(:, :, -nzgrid:, :) :: bpar
complex, intent(inout), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: gout