XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
GridFiles Struct Reference

#include <grid_files.hpp>

Collaboration diagram for GridFiles:
Collaboration graph
[legend]

Public Types

enum  GridCreateOpt { Hexagonal =0, Circular =1 }
 

Public Member Functions

void convert_to_x_rgn_format (const View< double **, CLayout, HostType > &tmp_nodes, View< RZPair *, HostType > &x, View< int *, HostType > &rgn)
 
void convert_to_node_format (const View< int **, CLayout, HostType > &tmp_ele, View< Vertex *, HostType > &nodes)
 
 GridFiles ()
 
 GridFiles (const std::string &node_file, const std::string &element_file, const std::string &flx_aif_file)
 
void construct_hex_grid (int nshells, double raxis, double zaxis, double rscale, double zscale)
 
double node_to_node_dist (RZPair a, RZPair b)
 
void construct_circular_grid (int nshells, double raxis, double zaxis, double rscale, double zscale)
 
 GridFiles (int nshells, double raxis, double zaxis, double rscale, double zscale, GridCreateOpt grid_opt=Hexagonal)
 
 GridFiles (MagneticField< HostType > &magnetic_field, int nshells, GridCreateOpt grid_opt=Hexagonal)
 
int n_specified_xpts ()
 
View< Equil::XPoint *, HostTypeget_xpts ()
 

Static Public Member Functions

static int nshells_from_nnodes (int nnodes)
 
static GridFiles grid_files_from_namelist (NLReader::NamelistReader &nlr)
 

Public Attributes

int nnodes
 
View< RZPair *, HostTypex
 
View< int *, HostTypergn
 
int ntriangles
 
View< Vertex *, HostTypenodes
 
View< int *, HostTypei_x
 
int nsurfaces
 
int nsurfaces1
 
int nsurfaces2
 
int nsurfaces3a
 
int nsurfaces3b
 
View< int *, HostTypei_surf_separatrices
 
View< int *, HostTypennodes_on_surface
 
int sum_nnodes_on_surfaces
 
int num_non_aligned
 
View< int *, HostTypenon_aligned_vert
 
View< int *, HostTypenon_aligned_nsurf
 
View< int **, CLayout, HostTypenon_aligned_surf_idx
 
View< int **, CLayout, HostTypesurf_idx
 

Member Enumeration Documentation

Enumerator
Hexagonal 
Circular 

Constructor & Destructor Documentation

GridFiles::GridFiles ( )
inline

Here is the caller graph for this function:

GridFiles::GridFiles ( const std::string &  node_file,
const std::string &  element_file,
const std::string &  flx_aif_file 
)
inline

Read node file

Read node file

Read flx aif file

Allocate vectors on non-root ranks

Here is the call graph for this function:

GridFiles::GridFiles ( int  nshells,
double  raxis,
double  zaxis,
double  rscale,
double  zscale,
GridCreateOpt  grid_opt = Hexagonal 
)
inline

Constructor to create analytic grid (hexagonal shells) given center and triangle scale

Parameters
[in]nshellsis the number of concentric hexagons to be constructed
[in]raxisis where the grid is to be centered (r coord)
[in]zaxisis where the grid is to be centered (z coord)
[in]rscaleis the length of the triangles
[in]zscaleis the height of the triangles

Here is the call graph for this function:

GridFiles::GridFiles ( MagneticField< HostType > &  magnetic_field,
int  nshells,
GridCreateOpt  grid_opt = Hexagonal 
)
inline

Constructor to create analytic grid (hexagonal shells) to fit the magnetic field provided

Parameters
[in]magnetic_fieldis the magnetic field that the grid should fit
[in]nshellsis the number of concentric hexagons to be constructed

Here is the call graph for this function:

Member Function Documentation

void GridFiles::construct_circular_grid ( int  nshells,
double  raxis,
double  zaxis,
double  rscale,
double  zscale 
)
inline

Construct the circular grid

Parameters
[in]nshellsis the number of concentric circles to be constructed
[in]raxisis where the grid is to be centered (r coord)
[in]zaxisis where the grid is to be centered (z coord)
[in]rscaleis the length of the triangles
[in]zscaleis the height of the triangles

Here is the call graph for this function:

Here is the caller graph for this function:

void GridFiles::construct_hex_grid ( int  nshells,
double  raxis,
double  zaxis,
double  rscale,
double  zscale 
)
inline

Construct the analytic hexagonal grid

Parameters
[in]nshellsis the number of concentric hexagons to be constructed
[in]raxisis where the grid is to be centered (r coord)
[in]zaxisis where the grid is to be centered (z coord)
[in]rscaleis the length of the triangles
[in]zscaleis the height of the triangles

Here is the caller graph for this function:

void GridFiles::convert_to_node_format ( const View< int **, CLayout, HostType > &  tmp_ele,
View< Vertex *, HostType > &  nodes 
)
inline

Here is the call graph for this function:

Here is the caller graph for this function:

void GridFiles::convert_to_x_rgn_format ( const View< double **, CLayout, HostType > &  tmp_nodes,
View< RZPair *, HostType > &  x,
View< int *, HostType > &  rgn 
)
inline

Here is the call graph for this function:

Here is the caller graph for this function:

View<Equil::XPoint*, HostType> GridFiles::get_xpts ( )
inline
static GridFiles GridFiles::grid_files_from_namelist ( NLReader::NamelistReader nlr)
inlinestatic

Here is the call graph for this function:

Here is the caller graph for this function:

int GridFiles::n_specified_xpts ( )
inline
double GridFiles::node_to_node_dist ( RZPair  a,
RZPair  b 
)
inline

Determine distance between two node points

Parameters
[in]ais the first point
[in]bis the second point

Here is the caller graph for this function:

static int GridFiles::nshells_from_nnodes ( int  nnodes)
inlinestatic

Member Data Documentation

View<int*, HostType> GridFiles::i_surf_separatrices
View<int*, HostType> GridFiles::i_x
int GridFiles::nnodes
View<int*, HostType> GridFiles::nnodes_on_surface
View<Vertex*, HostType> GridFiles::nodes
View<int*, HostType> GridFiles::non_aligned_nsurf
View<int**, CLayout, HostType> GridFiles::non_aligned_surf_idx
View<int*, HostType> GridFiles::non_aligned_vert
int GridFiles::nsurfaces
int GridFiles::nsurfaces1
int GridFiles::nsurfaces2
int GridFiles::nsurfaces3a
int GridFiles::nsurfaces3b
int GridFiles::ntriangles
int GridFiles::num_non_aligned
View<int*, HostType> GridFiles::rgn
int GridFiles::sum_nnodes_on_surfaces
View<int**, CLayout, HostType> GridFiles::surf_idx
View<RZPair*, HostType> GridFiles::x

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