9 #ifndef OversetManager_h 10 #define OversetManager_h 13 #include <stk_mesh/base/FieldBase.hpp> 14 #include <stk_mesh/base/CoordinateSystems.hpp> 17 #include <stk_search/BoundingBox.hpp> 18 #include <stk_search/IdentProc.hpp> 19 #include <stk_search/SearchMethod.hpp> 31 typedef stk::search::IdentProc<uint64_t,int>
theKey;
32 typedef stk::search::Point<double>
Point;
33 typedef stk::search::Box<double>
Box;
39 class StkMeshIoBroker;
54 struct OversetUserData;
68 void delete_info_vec();
74 void overset_orphan_node_field_update(
75 stk::mesh::FieldBase *theField,
80 void initialize_ghosting();
83 void declare_inactive_part();
86 void declare_background_surface_part();
89 void define_overset_bounding_box();
92 void define_overset_bounding_boxes();
95 void define_background_bounding_boxes();
98 void determine_intersected_elements();
104 void populate_inactive_part();
107 void skin_exposed_surface_on_inactive_part();
110 void set_orphan_surface_part_vec();
113 void create_overset_info_vec();
116 void orphan_node_search();
119 void set_data_on_inactive_part();
123 std::vector<boundingPoint> &boundingPointVec,
124 std::vector<boundingElementBox> &boundingElementVec,
125 std::vector<std::pair<theKey, theKey> > &searchKeyPair);
128 void manage_ghosting();
131 void complete_search(
132 std::vector<std::pair<theKey, theKey> > searchKeyPair,
133 std::map<uint64_t, OversetInfo *> &oversetInfoMap);
std::pair< Point, theKey > boundingPoint
Definition: OversetManager.h:34
std::vector< Part * > PartVector
Definition: Algorithm.h:16
std::vector< boundingElementBox > boundingElementOversetBoxesVec_
Definition: OversetManager.h:164
bool firstInitialization_
Definition: OversetManager.h:157
Definition: ABLForcingAlgorithm.C:26
void initialize(int N, aligned_vector &x, aligned_vector &y)
Definition: UnitTestSimdBasic.C:37
Definition: NaluParsing.h:259
stk::mesh::Field< double > ScalarFieldType
Definition: OversetManager.h:26
std::map< uint64_t, OversetInfo * > oversetInfoMapBackground_
Definition: OversetManager.h:188
uint64_t needToGhostCount_
Definition: OversetManager.h:148
Definition: Algorithm.h:14
std::vector< OversetInfo * > oversetInfoVec_
Definition: OversetManager.h:184
stk::mesh::EntityProcVec elemsToGhost_
Definition: OversetManager.h:160
stk::mesh::Part * inActivePart_
Definition: OversetManager.h:151
stk::search::Point< double > Point
Definition: OversetManager.h:32
stk::mesh::MetaData * metaData_
Definition: OversetManager.h:141
stk::mesh::PartVector orphanPointSurfaceVecOverset_
Definition: OversetManager.h:180
Realm & realm_
Definition: OversetManager.h:136
const stk::search::SearchMethod searchMethod_
Definition: OversetManager.h:138
std::vector< boundingElementBox > boundingElementBackgroundBoxesVec_
Definition: OversetManager.h:165
stk::mesh::PartVector orphanPointSurfaceVecBackground_
Definition: OversetManager.h:181
std::vector< stk::mesh::Entity > intersectedElementVec_
Definition: OversetManager.h:177
stk::mesh::Field< double, stk::mesh::SimpleArrayTag > GenericFieldType
Definition: OversetManager.h:28
std::pair< Box, theKey > boundingElementBox
Definition: OversetManager.h:35
stk::mesh::BulkData * bulkData_
Definition: OversetManager.h:142
const OversetUserData & oversetUserData_
Definition: OversetManager.h:137
stk::mesh::Ghosting * oversetGhosting_
Definition: OversetManager.h:147
std::vector< boundingElementBox > boundingElementOversetBoxVec_
Definition: OversetManager.h:163
Definition: OversetManager.h:56
std::vector< boundingPoint > boundingPointVecOverset_
Definition: OversetManager.h:167
std::vector< std::pair< theKey, theKey > > searchKeyPairOverset_
Definition: OversetManager.h:174
stk::mesh::Part * backgroundSurfacePart_
Definition: OversetManager.h:154
std::map< uint64_t, stk::mesh::Entity > searchIntersectedElementMap_
Definition: OversetManager.h:170
stk::search::IdentProc< uint64_t, int > theKey
Definition: OversetManager.h:31
int nDim_
Definition: OversetManager.h:139
std::vector< std::pair< theKey, theKey > > searchKeyPairBackground_
Definition: OversetManager.h:173
const bool oversetAlgDetailedOutput_
Definition: OversetManager.h:144
std::map< uint64_t, OversetInfo * > oversetInfoMapOverset_
Definition: OversetManager.h:187
stk::search::Box< double > Box
Definition: OversetManager.h:33
stk::mesh::Field< double, stk::mesh::Cartesian > VectorFieldType
Definition: OversetManager.h:27
std::vector< boundingPoint > boundingPointVecBackground_
Definition: OversetManager.h:166