gs2_gryfx_zonal Module

FIXME : Add documentation



Contents


Variables

Type Visibility Attributes Name Initial
type(gs2_program_state_type), public :: state
logical, public :: test_flag = .false.
integer, private, parameter :: verb = 2
real, public, dimension(:,:), allocatable :: gs2_2_gryfx_grid
real, private, dimension(:,:), allocatable :: gryfx_2_gs2_grid

Derived Types

type, public ::  gryfx_parameters_type

FIXME : Add documentation

Components

Type Visibility Attributes Name Initial
integer(kind=c_int), public :: mpirank
integer(kind=c_int), public :: restart
integer(kind=c_int), public :: nstep
real(kind=c_double), public :: end_time
integer(kind=c_int), public :: job_id
integer(kind=c_int), public :: trinity_timestep
integer(kind=c_int), public :: trinity_iteration
integer(kind=c_int), public :: trinity_conv_count
integer(kind=c_int), public :: equilibrium_type
integer(kind=c_int), public :: irho
real(kind=c_double), public :: rhoc
integer(kind=c_int), public :: bishop
integer(kind=c_int), public :: nperiod
integer(kind=c_int), public :: ntheta
real(kind=c_double), public :: rgeo_lcfs
real(kind=c_double), public :: rgeo_local
real(kind=c_double), public :: akappa
real(kind=c_double), public :: akappri
real(kind=c_double), public :: tri
real(kind=c_double), public :: tripri
real(kind=c_double), public :: shift
real(kind=c_double), public :: qinp
real(kind=c_double), public :: shat
real(kind=c_double), public :: asym
real(kind=c_double), public :: asympri
real(kind=c_double), public :: eps
real(kind=c_double), public :: beta_prime_input
real(kind=c_double), public :: s_hat_input
real(kind=c_double), public :: g_exb
integer(kind=c_int), public :: ntspec
real(kind=c_double), public :: dens(20)
real(kind=c_double), public :: temp(20)
real(kind=c_double), public :: fprim(20)
real(kind=c_double), public :: tprim(20)
real(kind=c_double), public :: nu(20)
type(c_ptr), public :: everything_struct_address

Subroutines

private subroutine create_interp_matrices(gryfx_theta)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(1:2*ntgrid) :: gryfx_theta

public subroutine interpolate_theta(matrix, array, is_field)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(:,:) :: matrix
complex(kind=real32), intent(inout), dimension (:) :: array
logical, intent(in) :: is_field

public subroutine allocate_gryfx_zonal_arrays()

FIXME : Add documentation

Arguments

None

public subroutine deallocate_gryfx_zonal_arrays()

FIXME : Add documentation

Arguments

None

private subroutine init_gs2_gryfx_c(strlen, run_name, mp_comm, nz, gryfx_theta, gryfx_parameters) bind(c, name='init_gs2')

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
integer(kind=c_int), intent(in) :: strlen
character(kind=c_char, len=1), intent(in) :: run_name
integer(kind=c_int), intent(in) :: mp_comm
integer(kind=c_int), intent(in) :: nz
real(kind=c_float), intent(in), dimension(nz) :: gryfx_theta
type(gryfx_parameters_type), intent(in) :: gryfx_parameters

public subroutine init_gs2_gryfx(strlen, file_name, mp_comm, gryfx_theta, gryfx_parameters)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: strlen
character(len=strlen), intent(in) :: file_name
integer, intent(in) :: mp_comm
real, intent(inout), dimension(2*ntgrid) :: gryfx_theta
type(gryfx_parameters_type), intent(in) :: gryfx_parameters

private subroutine advance_gs2_gryfx_c(dens_ky0, upar_ky0, tpar_ky0, tprp_ky0, qpar_ky0, qprp_ky0, phi_ky0, first_half_step) bind(c, name='advance_gs2')

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex(kind=c_float_complex), intent(inout) :: dens_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: upar_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: tpar_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: tprp_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: qpar_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: qprp_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(out) :: phi_ky0(naky*ntheta0*2*ntgrid)
integer(kind=c_int), intent(in) :: first_half_step

public subroutine advance_gs2_gryfx(dens_ky0, upar_ky0, tpar_ky0, tprp_ky0, qpar_ky0, qprp_ky0, phi_ky0, first_half_step)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex(kind=real32), intent(inout), dimension (:) :: dens_ky0
complex(kind=real32), intent(inout), dimension (:) :: upar_ky0
complex(kind=real32), intent(inout), dimension (:) :: tpar_ky0
complex(kind=real32), intent(inout), dimension (:) :: tprp_ky0
complex(kind=real32), intent(inout), dimension (:) :: qpar_ky0
complex(kind=real32), intent(inout), dimension (:) :: qprp_ky0
complex(kind=real32), intent(inout), dimension (:) :: phi_ky0
logical, intent(in) :: first_half_step

private subroutine finish_gs2_gryfx_c() bind(c, name='finish_gs2')

FIXME : Add documentation

Arguments

None

public subroutine finish_gs2_gryfx()

FIXME : Add documentation

Arguments

None

private subroutine getmoms_gryfx_c(dens_ky0, upar_ky0, tpar_ky0, tprp_ky0, qpar_ky0, qprp_ky0, phi_ky0) bind(c, name='getmoms_gryfx')

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex(kind=c_float_complex), intent(inout) :: dens_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: upar_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: tpar_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: tprp_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: qpar_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(inout) :: qprp_ky0(naky*ntheta0*2*ntgrid*nspec)
complex(kind=c_float_complex), intent(out) :: phi_ky0(naky*ntheta0*2*ntgrid)

private subroutine broadcast_integer_c(a) bind(c, name='broadcast_integer')

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
integer(kind=c_int), intent(inout) :: a

private subroutine init_gs2_file_utils_c(strlen, run_name) bind(c, name='init_gs2_file_utils')

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
integer(kind=c_int), intent(in) :: strlen
character(kind=c_char, len=1), intent(in) :: run_name

private subroutine init_gs2_file_utils_c_actual(strlen, run_name)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: strlen
character(len=strlen), intent(in) :: run_name

private subroutine finish_gs2_file_utils_c() bind(c, name='finish_gs2_file_utils')

FIXME : Add documentation

Arguments

None