7 #ifndef PromoteElement_h 8 #define PromoteElement_h 10 #include <stk_mesh/base/FieldBase.hpp> 11 #include <stk_mesh/base/CoordinateSystems.hpp> 15 #include <unordered_map> 17 #include <stk_topology/topology.hpp> 18 #include <boost/functional/hash/hash.hpp> 20 namespace stk {
namespace mesh {
class Part; } }
21 namespace stk {
namespace mesh {
class BulkData; } }
22 namespace stk {
namespace mesh {
class Selector; } }
23 namespace stk {
namespace mesh {
struct Entity; } }
24 namespace stk {
namespace mesh {
typedef std::vector<Part*>
PartVector; } }
27 namespace sierra {
namespace nalu {
struct ElementDescription; } }
34 std::pair<stk::mesh::PartVector, stk::mesh::PartVector>
36 stk::mesh::BulkData& bulk,
37 const ElementDescription& desc,
40 stk::mesh::Part* edgePart,
41 stk::mesh::Part* facePart =
nullptr);
45 stk::mesh::BulkData& bulk,
46 const ElementDescription& desc,
58 using ConnectivityMap = std::unordered_map<stk::mesh::Entity, stk::mesh::EntityIdVector>;
64 return boost::hash_range(ids.begin(), ids.end());
72 std::pair<stk::mesh::PartVector, stk::mesh::PartVector>
74 stk::mesh::BulkData& bulk,
78 stk::mesh::Part& edgePart);
80 std::pair<stk::mesh::PartVector, stk::mesh::PartVector>
82 stk::mesh::BulkData& bulk,
86 stk::mesh::Part& edgePart,
87 stk::mesh::Part& facePart);
91 stk::mesh::BulkData& bulk,
92 const int numNewNodesOnTopo,
93 const stk::mesh::Selector& selector,
94 stk::topology::rank_t parent_rank);
97 const stk::mesh::BulkData& bulk,
99 const stk::mesh::Entity elem,
100 stk::mesh::EntityIdVector& allNodes);
103 const stk::mesh::BulkData& bulk,
106 const stk::mesh::Entity elem,
107 stk::mesh::EntityIdVector& allNodes);
110 const stk::mesh::BulkData& bulk,
113 const stk::mesh::Entity elem,
114 stk::mesh::EntityIdVector& allNodes);
117 const stk::mesh::BulkData& bulk,
120 const stk::mesh::Entity elem,
121 stk::mesh::EntityIdVector& allNodes);
124 stk::mesh::BulkData& bulk,
128 stk::mesh::BulkData& bulk,
135 stk::mesh::BulkData& bulk,
143 const stk::mesh::BulkData& bulk,
149 const stk::mesh::BulkData& bulk,
155 const stk::mesh::BulkData& bulk,
159 stk::mesh::BulkData& bulk,
160 const stk::mesh::Selector& selector,
161 stk::topology::rank_t rank);
166 const stk::mesh::BulkData& mesh,
169 std::unordered_map<stk::mesh::Entity, stk::mesh::Entity>
172 const stk::mesh::BulkData& bulk,
177 stk::mesh::BulkData& bulk,
Definition: ElementDescription.h:27
std::vector< Part * > PartVector
Definition: Algorithm.h:16
Definition: ABLForcingAlgorithm.C:26
Definition: Algorithm.h:14
stk::mesh::Field< double, stk::mesh::Cartesian > VectorFieldType
Definition: FieldTypeDef.h:24
std::vector< EntityId > EntityIdVector
Definition: PromoteElement.h:26
std::vector< Entity > EntityVector
Definition: PromoteElement.h:25