37 : patchNum(patchNum) {}
40 :
BoundaryCond(patchNum), rocFracFSIType(rocFracFSIType) {}
47 int rocfracControlType,
48 bool structural,
bool meshMotion,
51 rocfracControlType(rocfracControlType),
52 structural(structural),
53 meshMotion(meshMotion),
61 std::vector<std::shared_ptr<BoundaryCond>> bcInfo,
62 std::vector<int> nodePatchPreference)
63 : bcInfo(
std::move(bcInfo)),
64 nodePatchPreference(
std::move(nodePatchPreference)) {}
78 this->
files_ = std::move(files);
87 this->
opts_ = std::move(opts);
92 std::cout <<
"Detected file in VTK format" << std::endl;
93 std::cout <<
"Converting to PATRAN ...." << std::endl;
95 std::cerr <<
"Source mesh file is not in VTK format" << std::endl;
99 if (!meshStream.good()) {
106 std::cout <<
"Number of Boundary Conditions read: " 113 std::map<int, int> faceTypeMap;
118 std::map<int, bool> nodeStructuralMap;
119 std::map<int, bool> nodeMeshMotionMap;
120 std::map<int, bool> nodeThermalMap;
123 int patchNum = bcInfo->patchNum;
126 if ((faceBC = dynamic_cast<FaceBC *>(bcInfo.get()))) {
128 }
else if ((nodeBC = dynamic_cast<NodeBC *>(bcInfo.get()))) {
130 nodeStructuralMap[patchNum] = nodeBC->
structural;
131 nodeMeshMotionMap[patchNum] = nodeBC->
meshMotion;
132 nodeThermalMap[patchNum] = nodeBC->
thermal;
137 std::shared_ptr<meshBase> myMesh =
142 this->files_.outputMeshFile, faceTypeMap, nodeTypeMap,
143 nodeStructuralMap, nodeMeshMotionMap, nodeThermalMap,
144 this->opts_.nodePatchPreference);
int patchNum
patch numbers as specified in RocfracControl.txt
void execute() const override
Run the workflow represented by the driver.
static constexpr const char * bcType
VtkToPatranConversionDriver()
bool thermal
boolean indicating heat transfer BC
jsoncons::string_view getBCType() const override
const Opts & getOpts() const
bool meshMotion
boolean indicating mesh motion BC
PATRAN specific BC information.
jsoncons::string_view getBCType() const override
int rocFracFSIType
Rocfrac FSI Type; 0 = no FSI, 1 = FSI w/ burn, 2 = FSI w/o burn, etc.
std::string inputMeshFile
static std::shared_ptr< meshBase > CreateShared(const std::string &fname)
Create shared ptr from fname.
static constexpr const char * bcType
std::vector< std::shared_ptr< BoundaryCond > > bcInfo
void setFiles(Files files)
const Files & getFiles() const
bool structural
boolean indicating structural BC