ITM Grid Service Library: Fortran 90
|
00001 module itm_grid_common 00002 00003 use itm_types , ITM_R8 => R8, ITM_R4 => R4 00004 use itm_assert 00005 00006 implicit none 00007 00008 integer, parameter :: GRID_UNDEFINED = 0 00009 00010 ! Data representation definitions 00011 integer, parameter :: GEO_TYPE_STANDARD = 1 00012 character(*), parameter :: GEO_TYPE_ID_STANDARD = "Standard" 00013 integer, parameter :: GEO_TYPE_FOURIER = 2 00014 character(*), parameter :: GEO_TYPE_ID_FOURIER = "Fourier" 00015 00016 ! Coordinate type definitions 00017 00018 ! Cartesian coordinates 00019 integer, parameter :: COORDTYPE_X = 1 ! (m) 00020 integer, parameter :: COORDTYPE_Y = 2 ! (m) 00021 00022 ! The following are part of the ITM convention machine coordinate system 00023 integer, parameter :: COORDTYPE_R = 4 ! Major radius (m) 00024 integer, parameter :: COORDTYPE_Z = 5 ! Vertical height (m) 00025 integer, parameter :: COORDTYPE_PHI = 6 ! Toroidal angle (rad) 00026 00027 integer, parameter :: COORDTYPE_PSI = 7 ! Radial flux coordinate 00028 integer, parameter :: COORDTYPE_THETA = 8 ! Poloidal angle 00029 00030 ! From 4.09a distribution/distri_vec/dist_func/markers/var_id 00031 integer, parameter :: COORDTYPE_RHOTOR = 107 ! Square root of the toroidal flux 00032 integer, parameter :: COORDTYPE_THETAB = 109 ! Boozer poloidal angle (rad) 00033 integer, parameter :: COORDTYPE_VX = 110 ! velocity in X-direction (m/s) 00034 integer, parameter :: COORDTYPE_VY = 111 ! velocity in Y-direction (m/s) 00035 integer, parameter :: COORDTYPE_VZ = 112 ! velocity in Z-direction (m/s) 00036 integer, parameter :: COORDTYPE_VEL = 113 ! total velocity (m/s) 00037 integer, parameter :: COORDTYPE_VPHI = 114 ! velocity in PHI-direction (m/s) 00038 integer, parameter :: COORDTYPE_VPAR = 115 ! velocity in parallel-direction (m/s) 00039 integer, parameter :: COORDTYPE_VPERP = 116 ! velocity in perpendicular-direction (m/s) 00040 integer, parameter :: COORDTYPE_E = 117 ! Hamiltonian energy (J) 00041 integer, parameter :: COORDTYPE_Pphi = 118 ! Canonical toroidal angular momentum (kg m^2/s) 00042 integer, parameter :: COORDTYPE_mu = 119 ! magnetic moment (J/T) 00043 integer, parameter :: COORDTYPE_lambda = 120 ! mu/E (1/T) 00044 integer, parameter :: COORDTYPE_pitch = 121 ! vpar/v ( ) 00045 integer, parameter :: COORDTYPE_OMNIG = 122 ! position of the omnigenous plane (generalised equitorial plane) 00046 integer, parameter :: COORDTYPE_SPIN = 123 ! particle spin 00047 00048 00049 00050 ! Field aligned vector definitions 00051 integer, parameter :: VEC_ALIGN_DEFAULT = 1 00052 character(len=132), parameter :: VEC_ALIGN_DEFAULT_ID = "DEFAULT" 00053 00054 integer, parameter :: VEC_ALIGN_POLOIDAL = 1001 00055 character(len=132), parameter :: VEC_ALIGN_POLOIDAL_ID = "Poloidal" 00056 integer, parameter :: VEC_ALIGN_RADIAL = 1002 00057 character(len=132), parameter :: VEC_ALIGN_RADIAL_ID = "Radial" 00058 integer, parameter :: VEC_ALIGN_PARALLEL = 1003 00059 character(len=132), parameter :: VEC_ALIGN_PARALLEL_ID = "Parallel" 00060 00061 integer, parameter :: VEC_ALIGN_TOROIDAL = 1004 00062 character(len=132), parameter :: VEC_ALIGN_TOROIDAL_ID = "Toroidal" 00063 00064 00065 !contains 00066 00067 00068 00069 00070 end module itm_grid_common