get_fields_fluxtube Interface

public interface get_fields_fluxtube

Module Procedures

private subroutine get_fields_fluxtube_vmlo(g, phi, apar, bpar, dist, skip_fsa)

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

Read more…

Arguments

Type IntentOptional 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

private subroutine get_fields_fluxtube_kxkyzlo(g, phi, apar, bpar, dist, skip_fsa)

If we are parallelising over (kx,ky,z) then this subroutine is called This is the less common version used compared with parallelising over (vpa, mu). This is NOT the default routine for stella, and the flag must be set to use this routine. 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

Read more…

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, kxkyz_lo%llim_proc:) :: g
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: phi
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: apar
complex, intent(inout), dimension(:, :, -nzgrid:, :) :: bpar
character(len=*), intent(in) :: dist
logical, intent(in), optional :: skip_fsa