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
PromotedPartHelper.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 #ifndef PromotedPartHelper_h
8 #define PromotedPartHelper_h
9 
10 #include <vector>
11 #include <string>
12 
13 #include <stk_topology/topology.hpp>
14 
15 namespace stk {
16  namespace mesh {
17  class MetaData;
18  class Part;
19  class Bucket;
20  typedef std::vector<Part*> PartVector;
21  typedef std::vector<Bucket*> BucketVector;
22  }
23 }
24 
25 namespace sierra {
26 namespace nalu {
27 
29 
31 
32  std::string super_element_suffix();
33 
34  std::string super_element_part_name(std::string base_name);
35 
36  std::string super_subset_part_name(const std::string& base_name, int numElemNodes, int numSideNodes);
37  std::string super_subset_part_name(const std::string& base_name);
38 
39  stk::mesh::Part* super_elem_part(const stk::mesh::Part& part);
40 
41  stk::mesh::Part* super_subset_part(const stk::mesh::Part& part, int numElemNodes, int numSideNodes);
42  stk::mesh::Part* super_subset_part(const stk::mesh::Part& part);
43 
45 
47 
49  const stk::mesh::PartVector& parts,
50  stk::topology::rank_t rank,
51  bool with_subsets = true);
52 
56 
57  stk::mesh::Part* base_elem_part_from_super_elem_part(const stk::mesh::Part& super_elem_part);
58 
60 
62 
64 
66 
67  size_t count_entities(const stk::mesh::BucketVector& buckets);
68 
69 } // namespace nalu
70 } // namespace Sierra
71 
72 #endif
stk::mesh::PartVector base_ranked_parts(const stk::mesh::PartVector &parts, stk::topology::rank_t rank, bool with_subsets)
Definition: PromotedPartHelper.C:188
bool check_parts_for_promotion(const stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:52
std::vector< Part * > PartVector
Definition: Algorithm.h:16
stk::mesh::Part * super_elem_part(const stk::mesh::Part &part)
Definition: PromotedPartHelper.C:140
Definition: ABLForcingAlgorithm.C:26
bool part_vector_is_valid_and_nonempty(const stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:24
stk::mesh::Part * super_subset_part(const stk::mesh::Part &part, int numElemNodes, int numSideNodes)
Definition: PromotedPartHelper.C:145
Definition: Algorithm.h:14
stk::mesh::PartVector super_elem_part_vector(const stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:276
stk::mesh::PartVector base_edge_parts(const stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:217
stk::mesh::Part * base_elem_part_from_super_elem_part(const stk::mesh::Part &super_elem_part)
Definition: PromotedPartHelper.C:155
void transform_to_super_elem_part_vector(stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:166
stk::mesh::PartVector only_super_side_parts(const stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:257
std::string super_subset_part_name(const std::string &base_name)
Definition: PromotedPartHelper.C:91
std::string super_element_part_name(std::string base_name)
Definition: PromotedPartHelper.C:85
size_t count_entities(const stk::mesh::BucketVector &buckets)
Definition: PromotedPartHelper.C:284
stk::mesh::PartVector append_super_elems_to_part_vector(stk::mesh::PartVector parts)
stk::mesh::PartVector base_face_parts(const stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:222
std::vector< Bucket * > BucketVector
Definition: PromotedPartHelper.h:21
std::string super_element_suffix()
Definition: PromotedPartHelper.C:80
stk::mesh::PartVector base_elem_parts(const stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:212
stk::mesh::PartVector only_super_parts(const stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:227
stk::mesh::PartVector only_super_elem_parts(const stk::mesh::PartVector &parts)
Definition: PromotedPartHelper.C:246