XGCa
 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
PlaneFiles Struct Reference

#include <grid_files.hpp>

Collaboration diagram for PlaneFiles:
Collaboration graph
[legend]

Public Types

enum  FileRegion { Inside =0, OnWall }
 
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, bool is_stellarator)
 
void convert_to_node_format (const View< int **, CLayout, HostType > &tmp_ele, View< Vertex *, HostType > &nodes)
 
View< int *, HostTypepack_scalars (int max_nodes_on_surface, int n_xpts, int n_separatrices) const
 
void unpack_scalars (const View< int *, HostType > &scalars, int &max_nodes_on_surface, int &n_xpts, int &n_separatrices)
 
 PlaneFiles ()
 
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)
 
 PlaneFiles (int nshells, double raxis, double zaxis, double rscale, double zscale, GridCreateOpt grid_opt=Hexagonal)
 
 PlaneFiles (MagneticField< HostType > &magnetic_field, int nshells, GridCreateOpt grid_opt=Hexagonal)
 
int n_specified_xpts () const
 
View< Equil::XPoint *, HostTypeget_xpts () const
 
RZPair get_axis () const
 
RZPair get_reference_point () const
 
View< double *, HostTypeget_psiN () const
 

Static Public Member Functions

static int nshells_from_nnodes (int nnodes)
 

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
 
View< double *, HostTypepsiN
 An array of normalized psi coordinates temporarily needed for the stellarator version. More...
 

Member Enumeration Documentation

Enumerator
Inside 
OnWall 
Enumerator
Hexagonal 
Circular 

Constructor & Destructor Documentation

PlaneFiles::PlaneFiles ( )
inline
PlaneFiles::PlaneFiles ( 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:

PlaneFiles::PlaneFiles ( 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 PlaneFiles::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 PlaneFiles::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 PlaneFiles::convert_to_node_format ( const View< int **, CLayout, HostType > &  tmp_ele,
View< Vertex *, HostType > &  nodes 
)
inline

Here is the call graph for this function:

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

Here is the call graph for this function:

RZPair PlaneFiles::get_axis ( ) const
inline
View<double*, HostType> PlaneFiles::get_psiN ( ) const
inline
RZPair PlaneFiles::get_reference_point ( ) const
inline
View<Equil::XPoint*, HostType> PlaneFiles::get_xpts ( ) const
inline
int PlaneFiles::n_specified_xpts ( ) const
inline

Here is the caller graph for this function:

double PlaneFiles::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 PlaneFiles::nshells_from_nnodes ( int  nnodes)
inlinestatic

Here is the caller graph for this function:

View<int*, HostType> PlaneFiles::pack_scalars ( int  max_nodes_on_surface,
int  n_xpts,
int  n_separatrices 
) const
inline
void PlaneFiles::unpack_scalars ( const View< int *, HostType > &  scalars,
int &  max_nodes_on_surface,
int &  n_xpts,
int &  n_separatrices 
)
inline

Member Data Documentation

View<int*, HostType> PlaneFiles::i_surf_separatrices
View<int*, HostType> PlaneFiles::i_x
int PlaneFiles::nnodes
View<int*, HostType> PlaneFiles::nnodes_on_surface
View<Vertex*, HostType> PlaneFiles::nodes
View<int*, HostType> PlaneFiles::non_aligned_nsurf
View<int**, CLayout, HostType> PlaneFiles::non_aligned_surf_idx
View<int*, HostType> PlaneFiles::non_aligned_vert
int PlaneFiles::nsurfaces
int PlaneFiles::nsurfaces1
int PlaneFiles::nsurfaces2
int PlaneFiles::nsurfaces3a
int PlaneFiles::nsurfaces3b
int PlaneFiles::ntriangles
int PlaneFiles::num_non_aligned
View<double*, HostType> PlaneFiles::psiN

An array of normalized psi coordinates temporarily needed for the stellarator version.

View<int*, HostType> PlaneFiles::rgn
int PlaneFiles::sum_nnodes_on_surfaces
View<int**, CLayout, HostType> PlaneFiles::surf_idx
View<RZPair*, HostType> PlaneFiles::x

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