XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Attributes | List of all members
grid_class::grid_type Type Reference

Public Attributes

integer nnode
 
integer ntriangle
 
integer, dimension(:), pointer rgn
 
real(kind=8), dimension(:), pointer psi
 
real(kind=8), dimension(:,:),
pointer 
x
 
real(kind=8), dimension(:),
allocatable 
dtheta_dltheta
 
integer, dimension(:,:), pointer nd
 
integer, dimension(:,:), pointer adj
 
real(kind=8), dimension(:,:,:),
pointer 
mapping
 
integer, dimension(:,:),
allocatable 
tr_node
 
integer, dimension(:), allocatable num_t_node
 
real(kind=8), dimension(:,:,:),
allocatable 
unit_vecs
 
integer, dimension(:), pointer basis
 
type(mat_type) gradientx
 
type(mat_type) gradienty
 
type(mat_type) d2dtheta2
 
type(mat_type) d2dpsi2
 
type(mat_type) rad_smooth_mat
 
type(mat_type) smooth_pol
 
type(mat_type) hyp_vis_rad
 
integer, dimension(2) guess_n
 
real(kind=8), dimension(2) guess_min
 
real(kind=8), dimension(2) guess_max
 
real(kind=8), dimension(2) inv_guess_d
 
integer, dimension(:), pointer guess_list
 
integer, dimension(:,:), pointer guess_xtable
 
integer, dimension(:,:), pointer guess_count
 
integer, dimension(:,:), pointer guess_list_1d
 Guess list for 1D psi-search on irregular grid. More...
 
integer iphi_offset
 
integer nphi
 
real(kind=8) delta_phi
 
real(kind=8) inv_delta_phi
 
real(kind=8) phimin
 
real(kind=8) phimax
 
integer, dimension(0:ptl_nsp_max) nrho
 
real(8), dimension(0:ptl_nsp_max) rhomax
 
real(8), dimension(0:ptl_nsp_max) drho
 
integer, dimension(0:ptl_nsp_max) sp_gyro_avg_mat_mapping
 
integer, dimension(:), allocatable gyro_avg_mat_sp0_mapping
 
integer n_gyro_avg_mat
 
integer npsi00
 
integer npsi_surf
 
integer npsi_surf2
 
real(8) psi00min
 
real(8) psi00max
 
real(8) dpsi00
 
type(mat_type) cnv_2d_00
 
type(mat_type) cnv_00_2d
 
real(8), dimension(:), allocatable cnv_norm_2d
 
real(8), dimension(:), allocatable cnv_norm_1d00
 
real(8), dimension(:), allocatable psi_surf
 
real(8), dimension(:), pointer psi_surf2
 
integer, dimension(:), allocatable psi_surf_map
 mapping from psi_surf2 –> psi_surf More...
 
integer, dimension(:), allocatable psi_surf_map2
 mapping from psi_surf –> psi_surf2 More...
 
integer surf_maxlen
 Maximum number of vertices per flux-surface. More...
 
integer, dimension(:), allocatable surf_len
 Lengths (# of vertices) for each flux-surface. More...
 
integer, dimension(:,:),
allocatable 
surf_idx
 Vertex indices for each flux-surface. More...
 
integer num_non_aligned
 Number of non-surface-aligned vertices. More...
 
integer, dimension(:), allocatable non_aligned_vert
 Indices of non-aligned vertices. More...
 
integer, dimension(:), allocatable non_aligned_nsurf
 Number of adjacent flux-surfaces for each non-aligned vertex. More...
 
integer, dimension(:,:),
allocatable 
non_aligned_surf_idx
 Indices of the flux-surfaces adjacent to each non-aligned vertex. More...
 
integer, dimension(:,:),
allocatable 
non_aligned_ff_idx
 Vertex indices of interpolation stencil for field-line following Fourier-filter. More...
 
integer, dimension(:,:),
allocatable 
strikep
 Indices of the strike points of the open flux-surfaces. More...
 
real(kind=8), dimension(:,:),
allocatable 
non_aligned_ff_w
 Interpolation weights for field-line following Fourier-filter. More...
 
real(kind=8), dimension(:),
allocatable 
theta
 generalized poloidal angle (currently only for closed surfaces) More...
 
integer, dimension(:,:),
allocatable 
theta_sort_idx
 index set that sorts the generalized pol. angle in ascending order on each flux_surface More...
 
real(kind=8), dimension(:),
allocatable 
surf_vol
 The volume associated with the complete flux-surfaces (total is probably < than actual volume) More...
 
real(kind=8), dimension(:),
allocatable 
surf_arc_len
 poloidal arc-length of the complete flux-surfaces (currently only for closed surfaces) More...
 
real(kind=8), dimension(:,:),
allocatable 
sol_fourier_win
 poloidal window for Fourier smoothing of the electrostatic potential in the SOL More...
 
integer len_sep
 
integer j0_sep
 length and start index of upper part of separatrix surface More...
 
integer len_sep2
 
integer j0_sep2
 length and start index of lower part of second separatrix surface More...
 
type(mat_type) ff_fourier_mn
 
integer(kind=8), dimension(:),
allocatable 
ft_plan_1d
 
integer(kind=8), dimension(:),
allocatable 
ft_plan2_1d
 FFTW3 plans for FFTs on flux-surfaces (1D, r2c) More...
 
integer(kind=8), dimension(:),
allocatable 
ft_plan_1d_c2c
 
integer(kind=8), dimension(:),
allocatable 
ft_plan2_1d_c2c
 FFTW3 plans for FFTs on flux-surfaces (1D, c2c) More...
 
integer, dimension(:), allocatable fft_isurf_beg
 
integer, dimension(:), allocatable fft_isurf_end
 Start and end flux-surface indices for this MPI rank. More...
 
complex(kind=8), dimension(:,:),
allocatable 
fft_tor_exp
 Pre-computed exponentials for toroidal FFT. More...
 
integer fft_num_ntor
 Number of toroidal Fourier modes. More...
 
real(kind=8), dimension(:),
allocatable 
fft_ntor
 Toroidal mode numbers retained. More...
 
real(kind=8), dimension(:,:,:),
allocatable 
spl_coef
 Grid coefficients for spline interpolation between uniform and non-uniform theta* grids. More...
 
integer, dimension(:,:,:),
allocatable 
spl_idx
 Indices of points on non-uniform theta* grid adjacent to each point on uniform theta* grid. More...
 
integer uniform_max
 Maximum size of uniform theta* grid. More...
 
integer n_x_point
 
integer i_x1
 
integer i_x2
 
integer nsurf1
 
integer nsurf2
 
integer nsurf3a
 
integer nsurf3b
 
integer isurf_sep1
 
integer isurf_sep2
 
real(kind=8), dimension(:), pointer node_area
 
real(kind=8), dimension(:), pointer node_vol
 
real(8), dimension(:), pointer vol00
 1D flux-shell volume More...
 
real(kind=8), dimension(:), pointer tr_vol
 
real(kind=8), dimension(:), pointer tr_area
 
real(8), dimension(:,:), pointer node_vol_ff
 
real(8), dimension(:), pointer node_vol_nearest
 
real(kind=8), dimension(:,:),
allocatable 
bfield
 B vector: second dimension –> 1-3 => R,Z,phi components, 4 => |B|. More...
 
real(kind=8), dimension(:,:),
allocatable 
v_curv
 curl(B) More...
 
real(kind=8), dimension(:,:),
allocatable 
v_gradb
 Bxgrad(B) More...
 
real(kind=8), dimension(:),
allocatable 
v_curv_avg
 Flux-avg of radial curvature drift <1/(|grad(psi)|*B^2) curl(B)> |grad(psi)| B^2. More...
 
real(kind=8), dimension(:),
allocatable 
v_gradb_avg
 Flux-avg of radial grad(B) drift <1/(|grad(psi)|*B^3) Bxgrad(B)> |grad(psi)| B^3. More...
 
real(kind=8), dimension(:,:),
allocatable 
curl_nb
 Curl of normalized B, i.e., curl(B/|B|) More...
 
real(kind=8), dimension(:),
allocatable 
nb_curl_nb
 b.curl(b) More...
 
real(kind=8), dimension(:,:),
allocatable 
gradpsi
 grad(psi)=dpsi/dr R_hat + dpsi/dz Z_hat More...
 
real(kind=8), dimension(:),
allocatable 
absgradpsi
 |grad(psi)| More...
 
real(kind=8), dimension(:),
allocatable 
psihat_dot_gradb
 grad(psi)/|grad(psi)|.grad(|B|) More...
 
real(kind=8), dimension(:),
allocatable 
jpar0
 Equilibrium current \(j_\parallel=\hat{\boldsymbol{b}}\cdot(\nabla\times\boldsymbol{B})/\mu_0\). More...
 
real(kind=8), dimension(:),
allocatable 
trapped
 Trapped particle fraction on uniform psi-grid. More...
 
real(kind=8), dimension(:,:),
allocatable 
epspar
 Neoclassical inv. aspect ratio (R_min/R_maj) on uniform psi-grid. More...
 
real(kind=8), dimension(:),
allocatable 
qsafety
 Safety factor from qevaluateandtrapped.F90 on uniform psi-grid. More...
 
real(kind=8), dimension(:),
allocatable 
rmin
 Minor radius on flux-surfaces. More...
 
real(kind=8), dimension(:),
allocatable 
rmaj
 Major radius on flux-surfaces. More...
 
integer nsurf
 
integer, dimension(:), allocatable itheta0
 
integer, dimension(:), allocatable ntheta0
 
integer nwall =0
 Number of wall vertices. More...
 
integer, dimension(:), pointer wall_nodes
 Mapping from wall vertices to grid vertices (length: nwall) More...
 
integer, dimension(:), pointer node_to_wall
 Mapping from grid vertices to wall vertices (length: nnode), -1 if not a wall node. More...
 
real(kind=8), dimension(:),
allocatable 
wall_length
 Length of the segments of the wall curve. More...
 
integer, dimension(:), allocatable m_max_surf
 Maximum poloidal mode number supported by the flux surface. More...
 
logical old_flx_aif_format
 

Member Data Documentation

real (kind=8), dimension(:), allocatable grid_class::grid_type::absgradpsi

|grad(psi)|

integer, dimension(:,:), pointer grid_class::grid_type::adj
integer, dimension(:), pointer grid_class::grid_type::basis
real (kind=8), dimension(:,:), allocatable grid_class::grid_type::bfield

B vector: second dimension –> 1-3 => R,Z,phi components, 4 => |B|.

type(mat_type) grid_class::grid_type::cnv_00_2d
type(mat_type) grid_class::grid_type::cnv_2d_00
real (8), dimension(:), allocatable grid_class::grid_type::cnv_norm_1d00
real (8), dimension(:), allocatable grid_class::grid_type::cnv_norm_2d
real (kind=8), dimension(:,:), allocatable grid_class::grid_type::curl_nb

Curl of normalized B, i.e., curl(B/|B|)

type (mat_type) grid_class::grid_type::d2dpsi2
type (mat_type) grid_class::grid_type::d2dtheta2
real (kind=8) grid_class::grid_type::delta_phi
real (8) grid_class::grid_type::dpsi00
real (8), dimension(0:ptl_nsp_max) grid_class::grid_type::drho
real (kind=8), dimension(:), allocatable grid_class::grid_type::dtheta_dltheta
real (kind=8), dimension(:,:), allocatable grid_class::grid_type::epspar

Neoclassical inv. aspect ratio (R_min/R_maj) on uniform psi-grid.

type(mat_type) grid_class::grid_type::ff_fourier_mn
integer, dimension(:), allocatable grid_class::grid_type::fft_isurf_beg
integer, dimension(:), allocatable grid_class::grid_type::fft_isurf_end

Start and end flux-surface indices for this MPI rank.

real (kind=8), dimension(:), allocatable grid_class::grid_type::fft_ntor

Toroidal mode numbers retained.

integer grid_class::grid_type::fft_num_ntor

Number of toroidal Fourier modes.

complex (kind=8), dimension(:,:), allocatable grid_class::grid_type::fft_tor_exp

Pre-computed exponentials for toroidal FFT.

integer (kind=8), dimension(:), allocatable grid_class::grid_type::ft_plan2_1d

FFTW3 plans for FFTs on flux-surfaces (1D, r2c)

integer (kind=8), dimension(:), allocatable grid_class::grid_type::ft_plan2_1d_c2c

FFTW3 plans for FFTs on flux-surfaces (1D, c2c)

integer (kind=8), dimension(:), allocatable grid_class::grid_type::ft_plan_1d
integer (kind=8), dimension(:), allocatable grid_class::grid_type::ft_plan_1d_c2c
type (mat_type) grid_class::grid_type::gradientx
type (mat_type) grid_class::grid_type::gradienty
real (kind=8), dimension(:,:), allocatable grid_class::grid_type::gradpsi

grad(psi)=dpsi/dr R_hat + dpsi/dz Z_hat

integer, dimension(:,:), pointer grid_class::grid_type::guess_count
integer, dimension(:), pointer grid_class::grid_type::guess_list
integer, dimension(:,:), pointer grid_class::grid_type::guess_list_1d

Guess list for 1D psi-search on irregular grid.

real (kind=8), dimension(2) grid_class::grid_type::guess_max
real (kind=8), dimension(2) grid_class::grid_type::guess_min
integer, dimension(2) grid_class::grid_type::guess_n
integer, dimension(:,:), pointer grid_class::grid_type::guess_xtable
integer, dimension(:), allocatable grid_class::grid_type::gyro_avg_mat_sp0_mapping
type (mat_type) grid_class::grid_type::hyp_vis_rad
integer grid_class::grid_type::i_x1
integer grid_class::grid_type::i_x2
real (kind=8) grid_class::grid_type::inv_delta_phi
real (kind=8), dimension(2) grid_class::grid_type::inv_guess_d
integer grid_class::grid_type::iphi_offset
integer grid_class::grid_type::isurf_sep1
integer grid_class::grid_type::isurf_sep2
integer, dimension(:), allocatable grid_class::grid_type::itheta0
integer grid_class::grid_type::j0_sep

length and start index of upper part of separatrix surface

integer grid_class::grid_type::j0_sep2

length and start index of lower part of second separatrix surface

real (kind=8), dimension(:), allocatable grid_class::grid_type::jpar0

Equilibrium current \(j_\parallel=\hat{\boldsymbol{b}}\cdot(\nabla\times\boldsymbol{B})/\mu_0\).

integer grid_class::grid_type::len_sep
integer grid_class::grid_type::len_sep2
integer, dimension(:), allocatable grid_class::grid_type::m_max_surf

Maximum poloidal mode number supported by the flux surface.

real (kind=8), dimension(:,:,:), pointer grid_class::grid_type::mapping
integer grid_class::grid_type::n_gyro_avg_mat
integer grid_class::grid_type::n_x_point
real (kind=8), dimension(:), allocatable grid_class::grid_type::nb_curl_nb

b.curl(b)

integer, dimension(:,:), pointer grid_class::grid_type::nd
integer grid_class::grid_type::nnode
real (kind=8), dimension(:), pointer grid_class::grid_type::node_area
integer, dimension(:), pointer grid_class::grid_type::node_to_wall

Mapping from grid vertices to wall vertices (length: nnode), -1 if not a wall node.

real (kind=8), dimension(:), pointer grid_class::grid_type::node_vol
real (8), dimension(:,:), pointer grid_class::grid_type::node_vol_ff
real (8), dimension(:), pointer grid_class::grid_type::node_vol_nearest
integer, dimension(:,:), allocatable grid_class::grid_type::non_aligned_ff_idx

Vertex indices of interpolation stencil for field-line following Fourier-filter.

real (kind=8), dimension(:,:), allocatable grid_class::grid_type::non_aligned_ff_w

Interpolation weights for field-line following Fourier-filter.

integer, dimension(:), allocatable grid_class::grid_type::non_aligned_nsurf

Number of adjacent flux-surfaces for each non-aligned vertex.

integer, dimension(:,:), allocatable grid_class::grid_type::non_aligned_surf_idx

Indices of the flux-surfaces adjacent to each non-aligned vertex.

integer, dimension(:), allocatable grid_class::grid_type::non_aligned_vert

Indices of non-aligned vertices.

integer grid_class::grid_type::nphi
integer grid_class::grid_type::npsi00
integer grid_class::grid_type::npsi_surf
integer grid_class::grid_type::npsi_surf2
integer, dimension(0:ptl_nsp_max) grid_class::grid_type::nrho
integer grid_class::grid_type::nsurf
integer grid_class::grid_type::nsurf1
integer grid_class::grid_type::nsurf2
integer grid_class::grid_type::nsurf3a
integer grid_class::grid_type::nsurf3b
integer, dimension(:), allocatable grid_class::grid_type::ntheta0
integer grid_class::grid_type::ntriangle
integer grid_class::grid_type::num_non_aligned

Number of non-surface-aligned vertices.

integer, dimension(:), allocatable grid_class::grid_type::num_t_node
integer grid_class::grid_type::nwall =0

Number of wall vertices.

logical grid_class::grid_type::old_flx_aif_format
real (kind=8) grid_class::grid_type::phimax
real (kind=8) grid_class::grid_type::phimin
real (kind=8), dimension(:), pointer grid_class::grid_type::psi
real (8) grid_class::grid_type::psi00max
real (8) grid_class::grid_type::psi00min
real (8), dimension(:), allocatable grid_class::grid_type::psi_surf
real (8), dimension(:), pointer grid_class::grid_type::psi_surf2
integer, dimension(:), allocatable grid_class::grid_type::psi_surf_map

mapping from psi_surf2 –> psi_surf

integer, dimension(:), allocatable grid_class::grid_type::psi_surf_map2

mapping from psi_surf –> psi_surf2

real (kind=8), dimension(:), allocatable grid_class::grid_type::psihat_dot_gradb

grad(psi)/|grad(psi)|.grad(|B|)

real (kind=8), dimension(:), allocatable grid_class::grid_type::qsafety

Safety factor from qevaluateandtrapped.F90 on uniform psi-grid.

type (mat_type) grid_class::grid_type::rad_smooth_mat
integer, dimension(:), pointer grid_class::grid_type::rgn
real (8), dimension(0:ptl_nsp_max) grid_class::grid_type::rhomax
real (kind=8), dimension(:), allocatable grid_class::grid_type::rmaj

Major radius on flux-surfaces.

real (kind=8), dimension(:), allocatable grid_class::grid_type::rmin

Minor radius on flux-surfaces.

type (mat_type) grid_class::grid_type::smooth_pol
real (kind=8), dimension(:,:), allocatable grid_class::grid_type::sol_fourier_win

poloidal window for Fourier smoothing of the electrostatic potential in the SOL

integer, dimension(0:ptl_nsp_max) grid_class::grid_type::sp_gyro_avg_mat_mapping
real (kind=8), dimension(:,:,:), allocatable grid_class::grid_type::spl_coef

Grid coefficients for spline interpolation between uniform and non-uniform theta* grids.

integer, dimension(:,:,:), allocatable grid_class::grid_type::spl_idx

Indices of points on non-uniform theta* grid adjacent to each point on uniform theta* grid.

integer, dimension(:,:), allocatable grid_class::grid_type::strikep

Indices of the strike points of the open flux-surfaces.

real (kind=8), dimension(:), allocatable grid_class::grid_type::surf_arc_len

poloidal arc-length of the complete flux-surfaces (currently only for closed surfaces)

integer, dimension(:,:), allocatable grid_class::grid_type::surf_idx

Vertex indices for each flux-surface.

integer, dimension(:), allocatable grid_class::grid_type::surf_len

Lengths (# of vertices) for each flux-surface.

integer grid_class::grid_type::surf_maxlen

Maximum number of vertices per flux-surface.

real (kind=8), dimension(:), allocatable grid_class::grid_type::surf_vol

The volume associated with the complete flux-surfaces (total is probably < than actual volume)

real (kind=8), dimension(:), allocatable grid_class::grid_type::theta

generalized poloidal angle (currently only for closed surfaces)

integer, dimension(:,:), allocatable grid_class::grid_type::theta_sort_idx

index set that sorts the generalized pol. angle in ascending order on each flux_surface

real (kind=8), dimension(:), pointer grid_class::grid_type::tr_area
integer, dimension(:,:), allocatable grid_class::grid_type::tr_node
real (kind=8), dimension(:), pointer grid_class::grid_type::tr_vol
real (kind=8), dimension(:), allocatable grid_class::grid_type::trapped

Trapped particle fraction on uniform psi-grid.

integer grid_class::grid_type::uniform_max

Maximum size of uniform theta* grid.

real (kind=8), dimension(:,:,:), allocatable grid_class::grid_type::unit_vecs
real (kind=8), dimension(:,:), allocatable grid_class::grid_type::v_curv

curl(B)

real (kind=8), dimension(:), allocatable grid_class::grid_type::v_curv_avg

Flux-avg of radial curvature drift <1/(|grad(psi)|*B^2) curl(B)> |grad(psi)| B^2.

real (kind=8), dimension(:,:), allocatable grid_class::grid_type::v_gradb

Bxgrad(B)

real (kind=8), dimension(:), allocatable grid_class::grid_type::v_gradb_avg

Flux-avg of radial grad(B) drift <1/(|grad(psi)|*B^3) Bxgrad(B)> |grad(psi)| B^3.

real (8), dimension(:), pointer grid_class::grid_type::vol00

1D flux-shell volume

real (kind=8), dimension(:), allocatable grid_class::grid_type::wall_length

Length of the segments of the wall curve.

integer, dimension(:), pointer grid_class::grid_type::wall_nodes

Mapping from wall vertices to grid vertices (length: nwall)

real (kind=8), dimension(:,:), pointer grid_class::grid_type::x

The documentation for this type was generated from the following file: