gryfx_parameters_type Derived Type

type, public, bind(c) :: gryfx_parameters_type

FIXME : Add documentation


Contents

Source Code


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

Source Code

  type, bind(c) :: gryfx_parameters_type
     integer(c_int) :: mpirank
     integer(c_int) :: restart
     integer(c_int) :: nstep
     real(c_double) :: end_time
     integer(c_int) :: job_id
     integer(c_int) :: trinity_timestep
     integer(c_int) :: trinity_iteration
     integer(c_int) :: trinity_conv_count

     ! Name of gryfx/gryfx input file
     !character(len=1000) :: input_file
     !Base geometry parameters - not currently set by trinity 
     !See geometry.f90
     integer(c_int) :: equilibrium_type
     !character(len=800) :: eqfile
     integer(c_int) :: irho
     real(c_double) :: rhoc
     integer(c_int) :: bishop
     integer(c_int) :: nperiod
     integer(c_int) :: ntheta

     ! Miller parameters
     real(c_double) :: rgeo_lcfs
     real(c_double) :: rgeo_local
     real(c_double) :: akappa
     real(c_double) :: akappri
     real(c_double) :: tri
     real(c_double) :: tripri
     real(c_double) :: shift
     real(c_double) :: qinp
     real(c_double) :: shat
     real(c_double) :: asym
     real(c_double) :: asympri

     ! Geometry parameters
     ! To be implemented but not until
     ! after the 7.0 release as it breaks
     ! compatibility with current Trintiy
     ! and gryfx. We need at least
     ! one release with the current
     ! interface.

     !real(c_double) :: rgeo_lcfs
     !real(c_double) :: rgeo_local
     !real(c_int) :: geoType
     !real(c_double) :: aSurf
     !real(c_double) :: shift
     !real(c_double) :: shiftVert
     !real(c_int) :: mMode
     !real(c_int) :: nMode
     !real(c_double) :: deltam
     !real(c_double) :: deltan
     !real(c_double) :: deltampri
     !real(c_double) :: deltanpri
     !real(c_double) :: thetam
     !real(c_double) :: thetan
     !real(c_double) :: qinp
     !real(c_double) :: shat
     !real(c_double) :: asym
     !real(c_double) :: asympri

     ! For backwards compatibility

     ! Circular parameters
     real(c_double) :: eps

     ! Other geometry parameters - Bishop/Greene & Chance
     real(c_double) :: beta_prime_input
     real(c_double) :: s_hat_input

     ! Flow shear
     real(c_double) :: g_exb
     ! Species parameters... I think allowing 20 species should be enough!
     ! Allocating the structs and arrays is tedious and prone to segfaults
     ! and is unnecessary given the tiny memory usage of this data object
     ! Most importantly it is not interoperable with C!
     integer(c_int) :: ntspec
     real(c_double):: dens(20)
     real(c_double):: temp(20)
     real(c_double):: fprim(20)
     real(c_double):: tprim(20)
     real(c_double):: nu(20)

     type(c_ptr) :: everything_struct_address

  end type gryfx_parameters_type