gyro_average Interface

public interface gyro_average

Module Procedures

private subroutine gyro_average_local(field, iky, ikx, iz, ivmu, gyro_field)

gyro_average_local takes a field at a given ky, kx, z and (vpa, mu, s) value and returns the gyro-average of that field;

Arguments

Type IntentOptional Attributes Name
complex, intent(in) :: field
integer, intent(in) :: iky
integer, intent(in) :: ikx
integer, intent(in) :: iz
integer, intent(in) :: ivmu
complex, intent(out) :: gyro_field

private subroutine gyro_average_kxky_local(field, iz, ivmu, gyro_field)

if simulating a full flux surface, the alpha dependence present in kperp makes gyro-averaging non-local in k-space if simulating a flux tube, a gyro-average is local in k-space

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: field
integer, intent(in) :: iz
integer, intent(in) :: ivmu
complex, intent(out), dimension(:, :) :: gyro_field

private subroutine gyro_average_kxkyz_local(field, ivmu, gyro_field)

if simulating a full flux surface, the alpha dependence present in kperp makes gyro-averaging non-local in k-space if simulating a flux tube, a gyro-average is local in k-space

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :) :: field
integer, intent(in) :: ivmu
complex, intent(out), dimension(:, :, -nzgrid:, :) :: gyro_field

private subroutine gyro_average_kxkyzv_local(field, gyro_field)

if simulating a full flux surface, the alpha dependence present in kperp makes gyro-averaging non-local in k-space if simulating a flux tube, a gyro-average is local in k-space

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: field
complex, intent(out), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: gyro_field

private subroutine gyro_average_v_local(distfn, imu, ikxkyz, gyro_distfn)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:) :: distfn
integer, intent(in) :: imu
integer, intent(in) :: ikxkyz
complex, intent(out), dimension(:) :: gyro_distfn

private subroutine gyro_average_vmu_local(distfn, ikxkyz, gyro_distfn)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: distfn
integer, intent(in) :: ikxkyz
complex, intent(out), dimension(:, :) :: gyro_distfn

private subroutine gyro_average_vmus_nonlocal(field, iky, ikx, iz, gyro_field)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(vmu_lo%llim_proc:) :: field
integer, intent(in) :: iky
integer, intent(in) :: ikx
integer, intent(in) :: iz
complex, intent(out), dimension(vmu_lo%llim_proc:) :: gyro_field

private subroutine gyro_average_ffs_kxky_local(field, gyro_field, coefs)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :) :: field
complex, intent(out), dimension(:, :) :: gyro_field
type(coupled_alpha_type), intent(in), dimension(:, :) :: coefs

private subroutine gyro_average_ffs_kxkyz_local(field, gyro_field, coefs)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :) :: field
complex, intent(out), dimension(:, :, -nzgrid:, :) :: gyro_field
type(coupled_alpha_type), intent(in), dimension(:, :, -nzgrid:) :: coefs

private subroutine gyro_average_ffs_field(field, gyro_field, coefs)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :) :: field
complex, intent(out), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: gyro_field
type(coupled_alpha_type), intent(in), dimension(:, :, -nzgrid:, vmu_lo%llim_proc:) :: coefs

private subroutine gyro_average_ffs(dist, gyro_dist, coefs)

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: dist
complex, intent(out), dimension(:, :, -nzgrid:, :, vmu_lo%llim_proc:) :: gyro_dist
type(coupled_alpha_type), intent(in), dimension(:, :, -nzgrid:, vmu_lo%llim_proc:) :: coefs