![]() |
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
|
#include <ElementDescription.h>
Public Types | |
| 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 >> |
Public Member Functions | |
| 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_type * | side_node_ordinals (ordinal_type sideOrdinal) const |
Static Public Member Functions | |
| static std::unique_ptr< ElementDescription > | create (int dimension, int order) |
| static std::unique_ptr< ElementDescription > | create (int dimension, stk::topology topo) |
Protected Member Functions | |
| ElementDescription () | |
| using sierra::nalu::ElementDescription::AddedConnectivityOrdinalMap = std::map<ordinal_type, std::vector<ordinal_type>> |
We implement the high order method using the "super topology" concept in STK.
However,"super topologies" in STK only hold information about the number of nodes. An "ElementDescription" provides the remaining topological information as well as the reference coordinates of the nodes.
| using sierra::nalu::ElementDescription::AddedNodeLocationsMap = std::map<ordinal_type, std::vector<double>> |
| using sierra::nalu::ElementDescription::SubElementConnectivity = std::vector<std::vector<ordinal_type>> |
|
virtualdefault |
Referenced by create().
|
protecteddefault |
Referenced by create().
|
static |
References ElementDescription(), sierra::nalu::gauss_lobatto_legendre_rule(), and ~ElementDescription().
Referenced by anonymous_namespace{UnitTestHOMasterElements.C}::check_derivative_hex(), anonymous_namespace{UnitTestHOMasterElements.C}::check_derivative_quad(), anonymous_namespace{UnitTestHOMasterElements.C}::check_interpolation_hex(), anonymous_namespace{UnitTestHOMasterElements.C}::check_interpolation_quad(), anonymous_namespace{UnitTestHOMasterElements.C}::check_is_in_element_hex(), anonymous_namespace{UnitTestHOMasterElements.C}::check_is_in_element_quad(), anonymous_namespace{UnitTestHOMasterElements.C}::check_is_not_in_element_hex(), anonymous_namespace{UnitTestHOMasterElements.C}::check_is_not_in_element_quad(), anonymous_namespace{UnitTestHOMasterElements.C}::check_point_interpolation_hex(), anonymous_namespace{UnitTestHOMasterElements.C}::check_point_interpolation_quad(), anonymous_namespace{UnitTestHOMasterElements.C}::check_volume_quadrature_hex(), anonymous_namespace{UnitTestHOMasterElements.C}::check_volume_quadrature_hex_SGL(), anonymous_namespace{UnitTestHOMasterElements.C}::check_volume_quadrature_quad(), anonymous_namespace{UnitTestHOMasterElements.C}::check_volume_quadrature_quad_SGL(), create(), sierra::nalu::create_surface_master_element(), sierra::nalu::create_volume_master_element(), unit_test_utils::dump_promoted_mesh_file(), unit_test_utils::fill_and_promote_hex_mesh(), sierra::nalu::Realm::setup_element_promotion(), PromoteElementQuadTestV2::setup_promotion(), PromoteElementHexTestV2::setup_promotion(), and anonymous_namespace{UnitTestElementDescription.C}::TEST().
|
static |
References create(), and sierra::nalu::poly_order_from_super_topology().
|
inline |
References nodeMap, and nodes1D.
Referenced by sierra::nalu::HigherOrderHexSCS::set_boundary_info(), sierra::nalu::HigherOrderQuad2DSCS::set_boundary_info(), sierra::nalu::HexNElementDescription::set_boundary_node_mappings(), sierra::nalu::HigherOrderHexSCV::set_interior_info(), sierra::nalu::HigherOrderHexSCS::set_interior_info(), sierra::nalu::HigherOrderQuad2DSCV::set_interior_info(), sierra::nalu::HigherOrderQuad2DSCS::set_interior_info(), sierra::nalu::QuadNElementDescription::set_isoparametric_coordinates(), sierra::nalu::HexNElementDescription::set_isoparametric_coordinates(), sierra::nalu::QuadNElementDescription::set_side_node_ordinals(), sierra::nalu::HexNElementDescription::set_side_node_ordinals(), sierra::nalu::QuadNElementDescription::set_subelement_connectivites(), sierra::nalu::HexNElementDescription::set_subelement_connectivites(), sierra::nalu::QuadNElementDescription::set_tensor_product_node_mappings(), and sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings().
|
inline |
|
inline |
|
inline |
|
inline |
| AddedConnectivityOrdinalMap sierra::nalu::ElementDescription::addedConnectivities |
| std::vector<std::vector<ordinal_type> > sierra::nalu::ElementDescription::baseEdgeConnectivity |
| std::vector<std::vector<ordinal_type> > sierra::nalu::ElementDescription::baseFaceConnectivity |
| std::vector<std::vector<ordinal_type> > sierra::nalu::ElementDescription::baseFaceEdgeConnectivity |
| std::vector<ordinal_type> sierra::nalu::ElementDescription::baseNodeOrdinals |
Referenced by sierra::nalu::promotion::internal::add_base_nodes_to_elem_connectivity(), sierra::nalu::promotion::internal::exposed_side_to_super_elem_map(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::promotion::internal::set_coordinates_hex(), and sierra::nalu::promotion::internal::set_coordinates_quad().
| stk::topology sierra::nalu::ElementDescription::baseTopo |
| int sierra::nalu::ElementDescription::dimension |
Referenced by sierra::nalu::ElementCondenser::ElementCondenser(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::HigherOrderHexSCS::HigherOrderHexSCS(), sierra::nalu::HigherOrderHexSCV::HigherOrderHexSCV(), sierra::nalu::HigherOrderQuad2DSCS::HigherOrderQuad2DSCS(), sierra::nalu::HigherOrderQuad2DSCV::HigherOrderQuad2DSCV(), sierra::nalu::promotion::promote_elements(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::promotion::internal::set_coordinates_hex(), sierra::nalu::promotion::internal::set_coordinates_quad(), and sierra::nalu::SGLQuadratureOps::SGLQuadratureOps().
| AddedConnectivityOrdinalMap sierra::nalu::ElementDescription::edgeNodeConnectivities |
Referenced by sierra::nalu::promotion::internal::add_edge_nodes_to_elem_connectivity(), sierra::nalu::QuadNElementDescription::set_edge_node_connectivities(), sierra::nalu::HexNElementDescription::set_edge_node_connectivities(), sierra::nalu::QuadNElementDescription::set_tensor_product_node_mappings(), sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings(), and sierra::nalu::QuadNElementDescription::volume_node_ordinals().
| AddedConnectivityOrdinalMap sierra::nalu::ElementDescription::faceNodeConnectivities |
| std::vector<std::vector<ordinal_type> > sierra::nalu::ElementDescription::faceNodeMap |
| std::vector<std::vector<ordinal_type> > sierra::nalu::ElementDescription::inverseNodeMap |
Referenced by sierra::nalu::QuadNElementDescription::inmap(), sierra::nalu::HexNElementDescription::inmap(), sierra::nalu::QuadNElementDescription::set_base_node_maps(), sierra::nalu::HexNElementDescription::set_base_node_maps(), sierra::nalu::HexNElementDescription::set_boundary_node_mappings(), sierra::nalu::QuadNElementDescription::set_tensor_product_node_mappings(), sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings(), and sierra::nalu::SGLQuadratureOps::SGLQuadratureOps().
| std::vector<std::vector<ordinal_type> > sierra::nalu::ElementDescription::inverseNodeMapBC |
| int sierra::nalu::ElementDescription::newNodesPerEdge |
Referenced by sierra::nalu::promotion::internal::add_edge_nodes_to_elem_connectivity(), sierra::nalu::promotion::internal::add_face_nodes_to_elem_connectivity(), sierra::nalu::HexNElementDescription::edge_node_ordinals(), sierra::nalu::QuadNElementDescription::edge_node_ordinals(), sierra::nalu::HexNElementDescription::face_node_ordinals(), sierra::nalu::HexNElementDescription::get_face_offsets(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::promotion::internal::promote_elements_hex(), sierra::nalu::promotion::internal::promote_elements_quad(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::HexNElementDescription::set_edge_node_connectivities(), sierra::nalu::QuadNElementDescription::set_edge_node_connectivities(), sierra::nalu::QuadNElementDescription::set_tensor_product_node_mappings(), sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings(), and sierra::nalu::HexNElementDescription::volume_node_ordinals().
| int sierra::nalu::ElementDescription::newNodesPerFace |
Referenced by sierra::nalu::promotion::internal::add_face_nodes_to_elem_connectivity(), sierra::nalu::HexNElementDescription::face_node_ordinals(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::promotion::internal::promote_elements_hex(), sierra::nalu::HexNElementDescription::set_face_node_connectivities(), and sierra::nalu::HexNElementDescription::volume_node_ordinals().
| int sierra::nalu::ElementDescription::newNodesPerVolume |
Referenced by sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::promotion::internal::promote_elements_hex(), sierra::nalu::promotion::internal::promote_elements_quad(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), and sierra::nalu::HexNElementDescription::volume_node_ordinals().
| AddedNodeLocationsMap sierra::nalu::ElementDescription::nodeLocs |
| std::vector<double> sierra::nalu::ElementDescription::nodeLocs1D |
Referenced by sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::HexNElementDescription::set_boundary_node_mappings(), sierra::nalu::QuadNElementDescription::set_isoparametric_coordinates(), and sierra::nalu::HexNElementDescription::set_isoparametric_coordinates().
| std::vector<ordinal_type> sierra::nalu::ElementDescription::nodeMap |
Referenced by sierra::nalu::QuadNElementDescription::nmap(), sierra::nalu::HexNElementDescription::nmap(), node_map(), sierra::nalu::QuadNElementDescription::set_base_node_maps(), sierra::nalu::HexNElementDescription::set_base_node_maps(), sierra::nalu::HigherOrderQuad2DSCS::set_boundary_info(), sierra::nalu::HexNElementDescription::set_boundary_node_mappings(), sierra::nalu::QuadNElementDescription::set_tensor_product_node_mappings(), and sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings().
| std::vector<ordinal_type> sierra::nalu::ElementDescription::nodeMapBC |
| int sierra::nalu::ElementDescription::nodes1D |
Referenced by sierra::nalu::QuadNElementDescription::get_edge_offsets(), sierra::nalu::HexNElementDescription::get_edge_offsets(), sierra::nalu::HexNElementDescription::get_face_offsets(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::HigherOrderEdge2DSCS::HigherOrderEdge2DSCS(), sierra::nalu::HigherOrderQuad3DSCS::HigherOrderQuad3DSCS(), sierra::nalu::QuadNElementDescription::nmap(), sierra::nalu::HexNElementDescription::nmap(), node_map(), node_map_bc(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::HigherOrderHexSCS::set_boundary_info(), sierra::nalu::HigherOrderQuad2DSCS::set_boundary_info(), sierra::nalu::QuadNElementDescription::set_boundary_node_mappings(), sierra::nalu::HexNElementDescription::set_boundary_node_mappings(), sierra::nalu::HigherOrderHexSCV::set_interior_info(), sierra::nalu::HigherOrderHexSCS::set_interior_info(), sierra::nalu::HigherOrderQuad3DSCS::set_interior_info(), sierra::nalu::HigherOrderQuad2DSCV::set_interior_info(), sierra::nalu::HigherOrderQuad2DSCS::set_interior_info(), sierra::nalu::QuadNElementDescription::set_isoparametric_coordinates(), sierra::nalu::HexNElementDescription::set_isoparametric_coordinates(), sierra::nalu::QuadNElementDescription::set_side_node_ordinals(), sierra::nalu::HexNElementDescription::set_side_node_ordinals(), sierra::nalu::QuadNElementDescription::set_subelement_connectivites(), sierra::nalu::HexNElementDescription::set_subelement_connectivites(), sierra::nalu::QuadNElementDescription::set_tensor_product_node_mappings(), sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings(), and sierra::nalu::SGLQuadratureOps::SGLQuadratureOps().
| int sierra::nalu::ElementDescription::nodesInBaseElement |
Referenced by sierra::nalu::promotion::internal::add_base_nodes_to_elem_connectivity(), sierra::nalu::HexNElementDescription::edge_node_ordinals(), sierra::nalu::QuadNElementDescription::edge_node_ordinals(), sierra::nalu::promotion::internal::exposed_side_to_super_elem_map(), sierra::nalu::HexNElementDescription::face_node_ordinals(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::promotion::internal::make_base_nodes_to_elem_map_at_boundary(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::promotion::internal::set_coordinates_hex(), sierra::nalu::promotion::internal::set_coordinates_quad(), sierra::nalu::QuadNElementDescription::volume_node_ordinals(), and sierra::nalu::HexNElementDescription::volume_node_ordinals().
| int sierra::nalu::ElementDescription::nodesPerElement |
Referenced by sierra::nalu::promotion::internal::create_super_elements(), sierra::nalu::ElementCondenser::ElementCondenser(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::HigherOrderHexSCS::HigherOrderHexSCS(), sierra::nalu::HigherOrderHexSCV::HigherOrderHexSCV(), sierra::nalu::HigherOrderQuad2DSCS::HigherOrderQuad2DSCS(), sierra::nalu::HigherOrderQuad2DSCV::HigherOrderQuad2DSCV(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::QuadNElementDescription::set_base_node_maps(), sierra::nalu::HexNElementDescription::set_base_node_maps(), sierra::nalu::promotion::internal::set_coordinates_hex(), sierra::nalu::promotion::internal::set_coordinates_quad(), and sierra::nalu::SGLQuadratureOps::SGLQuadratureOps().
| int sierra::nalu::ElementDescription::nodesPerSide |
Referenced by sierra::nalu::promotion::internal::create_boundary_elements(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::QuadNElementDescription::set_side_node_ordinals(), sierra::nalu::HexNElementDescription::set_side_node_ordinals(), and sierra::nalu::SGLQuadratureOps::SGLQuadratureOps().
| int sierra::nalu::ElementDescription::nodesPerSubElement |
| int sierra::nalu::ElementDescription::numBoundaries |
| int sierra::nalu::ElementDescription::numEdges |
Referenced by sierra::nalu::HexNElementDescription::edge_node_ordinals(), sierra::nalu::QuadNElementDescription::edge_node_ordinals(), sierra::nalu::HexNElementDescription::face_node_ordinals(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::HexNElementDescription::set_edge_node_connectivities(), sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings(), and sierra::nalu::HexNElementDescription::volume_node_ordinals().
| int sierra::nalu::ElementDescription::numFaces |
Referenced by sierra::nalu::HexNElementDescription::face_node_ordinals(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::HigherOrderHexSCS::set_boundary_info(), sierra::nalu::HexNElementDescription::set_face_node_connectivities(), sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings(), and sierra::nalu::HexNElementDescription::volume_node_ordinals().
| int sierra::nalu::ElementDescription::polyOrder |
Referenced by sierra::nalu::ElementCondenser::ElementCondenser(), sierra::nalu::promotion::internal::exposed_side_to_super_elem_map(), sierra::nalu::HexNElementDescription::HexNElementDescription(), sierra::nalu::PromotedElementIO::PromotedElementIO(), sierra::nalu::QuadNElementDescription::QuadNElementDescription(), sierra::nalu::QuadNElementDescription::set_base_node_maps(), sierra::nalu::HexNElementDescription::set_base_node_maps(), sierra::nalu::QuadNElementDescription::set_boundary_node_mappings(), sierra::nalu::QuadNElementDescription::set_edge_node_connectivities(), sierra::nalu::QuadNElementDescription::set_tensor_product_node_mappings(), sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings(), sierra::nalu::SGLQuadratureOps::SGLQuadratureOps(), sierra::nalu::QuadNElementDescription::volume_node_ordinals(), sierra::nalu::PromotedElementIO::write_elem_block_definitions(), sierra::nalu::PromotedElementIO::write_element_connectivity(), and sierra::nalu::PromotedElementIO::write_sideset_definitions().
| std::vector<ordinal_type> sierra::nalu::ElementDescription::promotedNodeOrdinals |
| std::vector<std::vector<ordinal_type> > sierra::nalu::ElementDescription::sideOrdinalMap |
| SubElementConnectivity sierra::nalu::ElementDescription::subElementConnectivity |
| AddedConnectivityOrdinalMap sierra::nalu::ElementDescription::volumeNodeConnectivities |
Referenced by sierra::nalu::promotion::internal::add_volume_nodes_to_elem_connectivity(), sierra::nalu::QuadNElementDescription::set_tensor_product_node_mappings(), sierra::nalu::HexNElementDescription::set_tensor_product_node_mappings(), sierra::nalu::QuadNElementDescription::set_volume_node_connectivities(), and sierra::nalu::HexNElementDescription::set_volume_node_connectivities().
1.8.11