Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
Public Member Functions | Private Member Functions | List of all members
sierra::nalu::HexNElementDescription Struct Referencefinal

#include <HexNElementDescription.h>

Inheritance diagram for sierra::nalu::HexNElementDescription:
sierra::nalu::ElementDescription

Public Member Functions

 HexNElementDescription (std::vector< double > nodeLocs)
 
- Public Member Functions inherited from sierra::nalu::ElementDescription
virtual ~ElementDescription ()
 
ordinal_type node_map (ordinal_type i, ordinal_type j) const
 
ordinal_type node_map (ordinal_type i, ordinal_type j, ordinal_type k) const
 
ordinal_type node_map_bc (ordinal_type j) const
 
ordinal_type node_map_bc (ordinal_type i, ordinal_type j) const
 
const ordinal_typeside_node_ordinals (ordinal_type sideOrdinal) const
 

Private Member Functions

void set_subelement_connectivity ()
 
std::vector< ordinal_typeedge_node_ordinals ()
 
void set_edge_node_connectivities ()
 
std::vector< ordinal_typeface_node_ordinals ()
 
void set_face_node_connectivities ()
 
std::vector< ordinal_typevolume_node_ordinals ()
 
void set_volume_node_connectivities ()
 
void set_subelement_connectivites ()
 
void set_side_node_ordinals ()
 
std::pair< ordinal_type, ordinal_typeget_edge_offsets (ordinal_type i, ordinal_type j, ordinal_type k, ordinal_type edge_ordinal)
 
std::pair< ordinal_type, ordinal_typeget_face_offsets (ordinal_type i, ordinal_type j, ordinal_type k, ordinal_type face_ordinal)
 
void set_base_node_maps ()
 
void set_tensor_product_node_mappings ()
 
void set_boundary_node_mappings ()
 
void set_isoparametric_coordinates ()
 
ordinal_typenmap (ordinal_type i, ordinal_type j, ordinal_type k)
 
std::vector< ordinal_type > & inmap (ordinal_type j)
 

Additional Inherited Members

- Public Types inherited from sierra::nalu::ElementDescription
using AddedConnectivityOrdinalMap = std::map< ordinal_type, std::vector< ordinal_type >>
 We implement the high order method using the "super topology" concept in STK. More...
 
using AddedNodeLocationsMap = std::map< ordinal_type, std::vector< double >>
 
using SubElementConnectivity = std::vector< std::vector< ordinal_type >>
 
- Static Public Member Functions inherited from sierra::nalu::ElementDescription
static std::unique_ptr< ElementDescriptioncreate (int dimension, int order)
 
static std::unique_ptr< ElementDescriptioncreate (int dimension, stk::topology topo)
 
- Public Attributes inherited from sierra::nalu::ElementDescription
std::vector< double > nodeLocs1D
 
stk::topology baseTopo
 
int polyOrder
 
int dimension
 
int nodes1D
 
int nodesPerElement
 
int nodesPerSide
 
int numEdges
 
int numFaces
 
int numBoundaries
 
int nodesInBaseElement
 
int nodesPerSubElement
 
int newNodesPerEdge
 
int newNodesPerFace
 
int newNodesPerVolume
 
AddedConnectivityOrdinalMap addedConnectivities
 
AddedConnectivityOrdinalMap edgeNodeConnectivities
 
AddedConnectivityOrdinalMap faceNodeConnectivities
 
AddedConnectivityOrdinalMap volumeNodeConnectivities
 
AddedNodeLocationsMap nodeLocs
 
SubElementConnectivity subElementConnectivity
 
std::vector< ordinal_typebaseNodeOrdinals
 
std::vector< ordinal_typepromotedNodeOrdinals
 
std::vector< ordinal_typenodeMap
 
std::vector< ordinal_typenodeMapBC
 
std::vector< std::vector< ordinal_type > > baseEdgeConnectivity
 
std::vector< std::vector< ordinal_type > > baseFaceConnectivity
 
std::vector< std::vector< ordinal_type > > baseFaceEdgeConnectivity
 
std::vector< std::vector< ordinal_type > > inverseNodeMap
 
std::vector< std::vector< ordinal_type > > inverseNodeMapBC
 
std::vector< std::vector< ordinal_type > > faceNodeMap
 
std::vector< std::vector< ordinal_type > > sideOrdinalMap
 
- Protected Member Functions inherited from sierra::nalu::ElementDescription
 ElementDescription ()
 

Constructor & Destructor Documentation

sierra::nalu::HexNElementDescription::HexNElementDescription ( std::vector< double >  nodeLocs)

Member Function Documentation

std::vector< ordinal_type > sierra::nalu::HexNElementDescription::edge_node_ordinals ( )
private
std::vector< ordinal_type > sierra::nalu::HexNElementDescription::face_node_ordinals ( )
private
std::pair< ordinal_type, ordinal_type > sierra::nalu::HexNElementDescription::get_edge_offsets ( ordinal_type  i,
ordinal_type  j,
ordinal_type  k,
ordinal_type  edge_ordinal 
)
private
std::pair< ordinal_type, ordinal_type > sierra::nalu::HexNElementDescription::get_face_offsets ( ordinal_type  i,
ordinal_type  j,
ordinal_type  k,
ordinal_type  face_ordinal 
)
private
std::vector<ordinal_type>& sierra::nalu::HexNElementDescription::inmap ( ordinal_type  j)
inlineprivate
ordinal_type& sierra::nalu::HexNElementDescription::nmap ( ordinal_type  i,
ordinal_type  j,
ordinal_type  k 
)
inlineprivate
void sierra::nalu::HexNElementDescription::set_base_node_maps ( )
private
void sierra::nalu::HexNElementDescription::set_boundary_node_mappings ( )
private
void sierra::nalu::HexNElementDescription::set_edge_node_connectivities ( )
private
void sierra::nalu::HexNElementDescription::set_face_node_connectivities ( )
private
void sierra::nalu::HexNElementDescription::set_isoparametric_coordinates ( )
private
void sierra::nalu::HexNElementDescription::set_side_node_ordinals ( )
private
void sierra::nalu::HexNElementDescription::set_subelement_connectivites ( )
private
void sierra::nalu::HexNElementDescription::set_subelement_connectivity ( )
private
void sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings ( )
private
void sierra::nalu::HexNElementDescription::set_volume_node_connectivities ( )
private
std::vector< ordinal_type > sierra::nalu::HexNElementDescription::volume_node_ordinals ( )
private

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