XGCa
Public Attributes | List of all members
grid_class::grid_type Type Reference
Collaboration diagram for grid_class::grid_type:
Collaboration graph
[legend]

Public Attributes

integer nnode
 
integer ntriangle
 
integer, dimension(:), pointer rgn
 
real(kind=8), dimension(:), pointer psi
 
real(kind=8), dimension(:,:), pointer x
 
integer, dimension(:,:), pointer nd
 
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_typegradientx
 
type(mat_typegradienty
 
type(mat_typed2dtheta2
 
type(mat_typed2dpsi2
 
type(mat_typerad_smooth_mat
 
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 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 npsi_surf
 
integer npsi_surf2
 
type(mat_ptr_typecnv_2d_00
 
type(mat_ptr_typecnv_00_2d
 
real(8), dimension(:), pointer psi_surf
 
real(8), dimension(:), pointer psi_surf2
 
integer, dimension(:), pointer psi_surf_map
 mapping from psi_surf2 --> psi_surf 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 non_aligned_ff_s_idx
 Surface 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_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_typeff_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(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 absgradpsi_avg
 Flux-avg of absgradpsi. 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

◆ absgradpsi

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

|grad(psi)|

◆ absgradpsi_avg

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

Flux-avg of absgradpsi.

◆ basis

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

◆ bfield

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

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

◆ cnv_00_2d

type(mat_ptr_type) grid_class::grid_type::cnv_00_2d

◆ cnv_2d_00

type(mat_ptr_type) grid_class::grid_type::cnv_2d_00

◆ curl_nb

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

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

◆ d2dpsi2

type (mat_type) grid_class::grid_type::d2dpsi2

◆ d2dtheta2

type (mat_type) grid_class::grid_type::d2dtheta2

◆ delta_phi

real (kind=8) grid_class::grid_type::delta_phi

◆ drho

real (8), dimension(0:ptl_nsp_max) grid_class::grid_type::drho

◆ epspar

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

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

◆ ff_fourier_mn

type(mat_type) grid_class::grid_type::ff_fourier_mn

◆ fft_isurf_beg

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

◆ fft_isurf_end

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

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

◆ fft_ntor

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

Toroidal mode numbers retained.

◆ fft_num_ntor

integer grid_class::grid_type::fft_num_ntor

Number of toroidal Fourier modes.

◆ fft_tor_exp

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

Pre-computed exponentials for toroidal FFT.

◆ ft_plan2_1d

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

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

◆ ft_plan2_1d_c2c

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

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

◆ ft_plan_1d

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

◆ ft_plan_1d_c2c

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

◆ gradientx

type (mat_type) grid_class::grid_type::gradientx

◆ gradienty

type (mat_type) grid_class::grid_type::gradienty

◆ gradpsi

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

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

◆ guess_count

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

◆ guess_list

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

◆ guess_max

real (kind=8), dimension(2) grid_class::grid_type::guess_max

◆ guess_min

real (kind=8), dimension(2) grid_class::grid_type::guess_min

◆ guess_n

integer, dimension(2) grid_class::grid_type::guess_n

◆ guess_xtable

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

◆ i_x1

integer grid_class::grid_type::i_x1

◆ i_x2

integer grid_class::grid_type::i_x2

◆ inv_delta_phi

real (kind=8) grid_class::grid_type::inv_delta_phi

◆ inv_guess_d

real (kind=8), dimension(2) grid_class::grid_type::inv_guess_d

◆ iphi_offset

integer grid_class::grid_type::iphi_offset

◆ isurf_sep1

integer grid_class::grid_type::isurf_sep1

◆ isurf_sep2

integer grid_class::grid_type::isurf_sep2

◆ itheta0

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

◆ j0_sep

integer grid_class::grid_type::j0_sep

length and start index of upper part of separatrix surface

◆ j0_sep2

integer grid_class::grid_type::j0_sep2

length and start index of lower part of second separatrix surface

◆ len_sep

integer grid_class::grid_type::len_sep

◆ len_sep2

integer grid_class::grid_type::len_sep2

◆ m_max_surf

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

Maximum poloidal mode number supported by the flux surface.

◆ mapping

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

◆ n_x_point

integer grid_class::grid_type::n_x_point

◆ nb_curl_nb

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

b.curl(b)

◆ nd

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

◆ nnode

integer grid_class::grid_type::nnode

◆ node_area

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

◆ node_to_wall

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.

◆ node_vol

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

◆ node_vol_ff

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

◆ node_vol_nearest

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

◆ non_aligned_ff_idx

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

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

◆ non_aligned_ff_s_idx

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

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

◆ non_aligned_ff_w

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

Interpolation weights for field-line following Fourier-filter.

◆ non_aligned_nsurf

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

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

◆ non_aligned_surf_idx

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

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

◆ non_aligned_vert

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

Indices of non-aligned vertices.

◆ nphi

integer grid_class::grid_type::nphi

◆ npsi_surf

integer grid_class::grid_type::npsi_surf

◆ npsi_surf2

integer grid_class::grid_type::npsi_surf2

◆ nrho

integer, dimension(0:ptl_nsp_max) grid_class::grid_type::nrho

◆ nsurf

integer grid_class::grid_type::nsurf

◆ nsurf1

integer grid_class::grid_type::nsurf1

◆ nsurf2

integer grid_class::grid_type::nsurf2

◆ nsurf3a

integer grid_class::grid_type::nsurf3a

◆ nsurf3b

integer grid_class::grid_type::nsurf3b

◆ ntheta0

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

◆ ntriangle

integer grid_class::grid_type::ntriangle

◆ num_non_aligned

integer grid_class::grid_type::num_non_aligned

Number of non-surface-aligned vertices.

◆ num_t_node

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

◆ nwall

integer grid_class::grid_type::nwall =0

Number of wall vertices.

◆ old_flx_aif_format

logical grid_class::grid_type::old_flx_aif_format

◆ phimax

real (kind=8) grid_class::grid_type::phimax

◆ phimin

real (kind=8) grid_class::grid_type::phimin

◆ psi

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

◆ psi_surf

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

◆ psi_surf2

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

◆ psi_surf_map

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

mapping from psi_surf2 --> psi_surf

◆ qsafety

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

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

◆ rad_smooth_mat

type (mat_type) grid_class::grid_type::rad_smooth_mat

◆ rgn

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

◆ rhomax

real (8), dimension(0:ptl_nsp_max) grid_class::grid_type::rhomax

◆ rmaj

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

Major radius on flux-surfaces.

◆ rmin

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

Minor radius on flux-surfaces.

◆ sol_fourier_win

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

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

◆ spl_coef

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

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

◆ spl_idx

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.

◆ strikep

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

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

◆ surf_arc_len

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)

◆ surf_idx

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

Vertex indices for each flux-surface.

◆ surf_len

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

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

◆ surf_maxlen

integer grid_class::grid_type::surf_maxlen

Maximum number of vertices per flux-surface.

◆ theta

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

generalized poloidal angle (currently only for closed surfaces)

◆ theta_sort_idx

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

◆ tr_area

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

◆ tr_node

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

◆ tr_vol

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

◆ trapped

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

Trapped particle fraction on uniform psi-grid.

◆ uniform_max

integer grid_class::grid_type::uniform_max

Maximum size of uniform theta* grid.

◆ unit_vecs

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

◆ v_curv

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

curl(B)

◆ v_curv_avg

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.

◆ v_gradb

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

Bxgrad(B)

◆ v_gradb_avg

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.

◆ wall_length

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

Length of the segments of the wall curve.

◆ wall_nodes

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

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

◆ x

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

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