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
QuadNElementDescription.h
Go to the documentation of this file.
1 /*------------------------------------------------------------------------*/
2 /* Copyright 2014 Sandia Corporation. */
3 /* This software is released under the license detailed */
4 /* in the file, LICENSE, which is located in the top-level nalu */
5 /* directory structure */
6 /*------------------------------------------------------------------------*/
7 
8 #ifndef QuadNElementDescription_h
9 #define QuadNElementDescription_h
10 
11 #include <stddef.h>
12 #include <map>
13 #include <memory>
14 #include <vector>
16 
17 namespace sierra {
18 namespace nalu {
19 
21 {
22 public:
23  QuadNElementDescription(std::vector<double> nodeLocs);
24 private:
26  std::vector<ordinal_type> edge_node_ordinals();
28  std::vector<ordinal_type> volume_node_ordinals();
32  std::pair<ordinal_type,ordinal_type> get_edge_offsets(ordinal_type i, ordinal_type j, ordinal_type edge_offset);
33  void set_base_node_maps();
38  std::vector<ordinal_type>& inmap(ordinal_type j) { return inverseNodeMap.at(j); };
39 };
40 
41 } // namespace nalu
42 } // namespace Sierra
43 
44 #endif
void set_base_node_maps()
Definition: QuadNElementDescription.C:163
Definition: ElementDescription.h:27
AddedNodeLocationsMap nodeLocs
Definition: ElementDescription.h:77
void set_tensor_product_node_mappings()
Definition: QuadNElementDescription.C:196
Definition: ABLForcingAlgorithm.C:26
void set_isoparametric_coordinates()
Definition: QuadNElementDescription.C:230
std::pair< ordinal_type, ordinal_type > get_edge_offsets(ordinal_type i, ordinal_type j, ordinal_type edge_offset)
Definition: QuadNElementDescription.C:111
std::vector< ordinal_type > & inmap(ordinal_type j)
Definition: QuadNElementDescription.h:38
int nodes1D
Definition: ElementDescription.h:61
std::vector< ordinal_type > edge_node_ordinals()
Definition: QuadNElementDescription.C:64
std::vector< ordinal_type > nodeMap
Definition: ElementDescription.h:82
void set_boundary_node_mappings()
Definition: QuadNElementDescription.C:178
std::vector< std::vector< ordinal_type > > inverseNodeMap
Definition: ElementDescription.h:89
QuadNElementDescription(std::vector< double > nodeLocs)
Definition: QuadNElementDescription.C:29
ordinal_type & nmap(ordinal_type i, ordinal_type j)
Definition: QuadNElementDescription.h:37
Definition: QuadNElementDescription.h:20
void set_subelement_connectivites()
Definition: QuadNElementDescription.C:241
void set_volume_node_connectivities()
Definition: QuadNElementDescription.C:104
std::vector< ordinal_type > volume_node_ordinals()
Definition: QuadNElementDescription.C:92
void set_side_node_ordinals()
Definition: QuadNElementDescription.C:257
void set_edge_node_connectivities()
Definition: QuadNElementDescription.C:76
int ordinal_type
Definition: ElementDescription.h:25