20 #include <yaml-cpp/yaml.h> 34 : ux_(0.0), uy_(0.0), uz_(0.0)
41 : x_(0.0), y_(0.0), z_(0.0)
103 : transmissivity_(0.0)
110 : environmentalT_(298.0)
117 : referenceTemperature_(298.0)
124 : heatTransferCoefficient_(0.0)
131 : robinCouplingParameter_(0.0)
148 UserData() : tempSpec_(false), externalData_(false) {}
207 gravityComponent_(3),
209 heatFluxSpec_(false),
213 robinParameterSpec_(false),
215 wallFunctionApproach_(false),
216 ablWallFunctionApproach_(false),
217 isFsiInterface_(false) {}
234 uSpec_(false), tkeSpec_(false), sdrSpec_(false), mixFracSpec_(false), massFractionSpec_(false)
255 uSpec_(false), pSpec_(false), tkeSpec_(false), sdrSpec_(false), mixFracSpec_(false), massFractionSpec_(false)
271 percentOverlap_(10.0), clipIsoParametricCoords_(false), detailedOutput_(false), backgroundBlock_(
"na"),
272 backgroundSurface_(
"na"), backgroundCutBlock_(
"na"), oversetSurface_(
"na")
289 searchTolerance_(1.0e-8),
290 searchMethodName_(
"na")
301 searchMethodName_(
"na"), expandBoxPercentage_(0.0), clipIsoParametricCoords_(false), searchTolerance_(1.0e-16)
338 std::vector<std::string> currentPartNameVec_;
362 std::vector<std::vector<double> >
data_;
377 result = value.as<T>();
380 result = default_if_not_present;
390 result = value.as<T>();
400 result = value.as<T>();
404 std::ostringstream err_msg;
405 err_msg <<
"\n\nError: parsing missing required key: " << key
407 <<
" for node= " << std::endl;
409 std::cout << err_msg.str() << std::endl;
411 throw std::runtime_error(
"Error: parsing missing required key: " + key);
417 expect_type(
const YAML::Node& node,
const std::string& key, YAML::NodeType::value type,
bool optional=
false);
463 template<>
struct convert<
sierra::nalu::Velocity> {
467 template<>
struct convert<
sierra::nalu::Coordinates> {
471 template<>
struct convert<
sierra::nalu::Pressure> {
475 template<>
struct convert<
sierra::nalu::TurbKinEnergy> {
479 template<>
struct convert<
sierra::nalu::SpecDissRate> {
483 template<>
struct convert<
sierra::nalu::Temperature> {
487 template<>
struct convert<
sierra::nalu::MixtureFraction> {
491 template<>
struct convert<
sierra::nalu::MassFraction> {
495 template<>
struct convert<
sierra::nalu::Emissivity> {
499 template<>
struct convert<
sierra::nalu::Irradiation> {
503 template<>
struct convert<
sierra::nalu::Transmissivity> {
507 template<>
struct convert<
sierra::nalu::EnvironmentalT> {
511 template<>
struct convert<
sierra::nalu::ReferenceTemperature> {
515 template<>
struct convert<
sierra::nalu::HeatTransferCoefficient> {
519 template<>
struct convert<
sierra::nalu::RobinCouplingParameter> {
523 template<>
struct convert<
sierra::nalu::UserData> {
527 template<>
struct convert<
sierra::nalu::RoughnessHeight> {
531 template<>
struct convert<
sierra::nalu::NormalHeatFlux> {
535 template<>
struct convert<
sierra::nalu::MasterSlave> {
539 template<>
struct convert<
sierra::nalu::WallUserData> {
543 template<>
struct convert<
sierra::nalu::InflowUserData> {
547 template<>
struct convert<
sierra::nalu::OpenUserData> {
551 template<>
struct convert<
sierra::nalu::OversetUserData> {
555 template<>
struct convert<
sierra::nalu::SymmetryUserData> {
559 template<>
struct convert<
sierra::nalu::PeriodicUserData> {
563 template<>
struct convert<
sierra::nalu::NonConformalUserData> {
568 template<>
struct convert<
sierra::nalu::BoundaryConditionOptions> {
572 template<>
struct convert<
sierra::nalu::MeshInput> {
577 template<>
struct convert<
std::map<std::string,std::vector<std::string> > > {
578 static bool decode(
const Node& node, std::map<std::string,std::vector<std::string> >& t) ;
bool emissSpec_
Definition: NaluParsing.h:198
ReferenceTemperature referenceTemperature_
Definition: NaluParsing.h:183
const YAML::Node expect_map(const YAML::Node &node, const std::string &key, bool optional)
Definition: NaluParsing.C:87
RoughnessHeight z0_
Definition: NaluParsing.h:188
double uy_
Definition: NaluParsing.h:32
std::map< std::string, std::string > userFunctionMap_
Definition: NaluParsing.h:140
SpecDissRate sdr_
Definition: NaluParsing.h:223
bool mixFracSpec_
Definition: NaluParsing.h:250
UserData()
Definition: NaluParsing.h:148
MasterSlave()
Definition: NaluParsing.h:168
Coordinates()
Definition: NaluParsing.h:40
Velocity()
Definition: NaluParsing.h:33
MixtureFraction()
Definition: NaluParsing.h:75
Definition: NaluParsing.h:73
Definition: ABLForcingAlgorithm.C:26
bool tempSpec_
Definition: NaluParsing.h:146
double ux_
Definition: NaluParsing.h:32
bool sdrSpec_
Definition: NaluParsing.h:249
Definition: NaluParsing.h:282
Definition: NaluParsing.h:259
bool isInterface_
Definition: NaluParsing.h:193
double referenceTemperature_
Definition: NaluParsing.h:115
InflowUserData userData_
Definition: NaluParsing.h:311
std::string backgroundBlock_
Definition: NaluParsing.h:264
std::string oversetSurface_
Definition: NaluParsing.h:267
Definition: NaluParsing.h:52
double irradiation_
Definition: NaluParsing.h:94
std::string master_
Definition: NaluParsing.h:166
MassFraction massFraction_
Definition: NaluParsing.h:225
double searchTolerance_
Definition: NaluParsing.h:284
Definition: NaluParsing.h:45
Transmissivity transmissivity_
Definition: NaluParsing.h:180
TurbKinEnergy tke_
Definition: NaluParsing.h:222
MassFraction massFraction_
Definition: NaluParsing.h:244
bool isFsiInterface_
Definition: NaluParsing.h:203
PeriodicBoundaryConditionData periodicbc_
Definition: NaluParsing.h:351
bool heatFluxSpec_
Definition: NaluParsing.h:192
bool irradSpec_
Definition: NaluParsing.h:197
MixtureFraction mixFrac_
Definition: NaluParsing.h:243
Velocity u_
Definition: NaluParsing.h:221
std::string searchMethodName_
Definition: NaluParsing.h:285
Definition: NaluParsing.h:80
Definition: InitialConditions.h:32
std::map< std::string, std::vector< double > > functionParams_
Definition: NaluParsing.h:368
PeriodicUserData()
Definition: NaluParsing.h:287
std::vector< double > massFraction_
Definition: NaluParsing.h:81
Definition: NaluParsing.h:365
WallBoundaryConditionData(BoundaryConditions &bcs)
Definition: NaluParsing.h:306
Definition: NaluParsing.h:320
Emissivity emissivity_
Definition: NaluParsing.h:178
OversetUserData()
Definition: NaluParsing.h:269
std::string bcSetName_
Definition: NaluParsing.h:344
void operator>>(const YAML::Node &node, WallBoundaryConditionData &wallBC)
Definition: NaluParsing.C:92
Definition: NaluParsing.h:93
bool externalData_
Definition: NaluParsing.h:147
Velocity u_
Definition: NaluParsing.h:239
Definition: NaluParsing.h:66
std::string backgroundSurface_
Definition: NaluParsing.h:265
Definition: NaluParsing.h:31
NonConformalBoundaryConditionData nonConformalbc_
Definition: NaluParsing.h:349
bool sdrSpec_
Definition: NaluParsing.h:229
bool pSpec_
Definition: NaluParsing.h:247
std::string slave_
Definition: NaluParsing.h:167
Irradiation irradiation_
Definition: NaluParsing.h:179
double z_
Definition: NaluParsing.h:39
Definition: NaluParsing.h:86
Definition: NaluParsing.h:325
ConstantInitialConditionData(InitialConditions &ics)
Definition: NaluParsing.h:360
OpenUserData()
Definition: NaluParsing.h:253
bool massFractionSpec_
Definition: NaluParsing.h:251
bool clipIsoParametricCoords_
Definition: NaluParsing.h:262
Definition: NaluParsing.h:305
Pressure()
Definition: NaluParsing.h:47
SpecDissRate()
Definition: NaluParsing.h:61
double uz_
Definition: NaluParsing.h:32
double z0_
Definition: NaluParsing.h:159
bool refTempSpec_
Definition: NaluParsing.h:194
Emissivity()
Definition: NaluParsing.h:88
SpecDissRate sdr_
Definition: NaluParsing.h:242
WallBoundaryConditionData wallbc_
Definition: NaluParsing.h:345
std::vector< std::string > oversetBlockVec_
Definition: NaluParsing.h:268
void get_required(const YAML::Node &node, const std::string &key, T &result)
this version requires the
Definition: NaluParsing.h:396
NormalHeatFlux()
Definition: NaluParsing.h:153
std::vector< std::vector< double > > data_
Definition: NaluParsing.h:362
bool htcSpec_
Definition: NaluParsing.h:195
Definition: NaluParsing.h:165
Definition: NaluParsing.h:343
TurbKinEnergy()
Definition: NaluParsing.h:54
Velocity dx_
Definition: NaluParsing.h:174
NormalHeatFlux q_
Definition: NaluParsing.h:182
static void emit(YAML::Emitter &emout, const YAML::Node &node)
Definition: NaluParsingHelper.h:26
bool isAdiabatic_
Definition: NaluParsing.h:191
Temperature temperature_
Definition: NaluParsing.h:145
TurbKinEnergy tke_
Definition: NaluParsing.h:175
PeriodicUserData userData_
Definition: NaluParsing.h:333
double temperature_
Definition: NaluParsing.h:67
bool robinParameterSpec_
Definition: NaluParsing.h:196
MassFraction()
Definition: NaluParsing.h:82
const YAML::Node expect_null(const YAML::Node &node, const std::string &key, bool optional)
Definition: NaluParsing.C:72
double pressure_
Definition: NaluParsing.h:46
Definition: NaluParsing.h:151
static constexpr double rhs[8]
Definition: UnitTestContinuityAdvElem.C:18
bool mixFracSpec_
Definition: NaluParsing.h:230
double robinCouplingParameter_
Definition: NaluParsing.h:129
RobinCouplingParameter()
Definition: NaluParsing.h:130
double percentOverlap_
Definition: NaluParsing.h:261
SymmetryUserData userData_
Definition: NaluParsing.h:326
Definition: BoundaryConditions.h:55
Temperature()
Definition: NaluParsing.h:68
std::map< std::string, std::string > functionNames_
Definition: NaluParsing.h:367
std::string backgroundCutBlock_
Definition: NaluParsing.h:266
OversetUserData userData_
Definition: NaluParsing.h:321
PeriodicBoundaryConditionData(BoundaryConditions &bcs)
Definition: NaluParsing.h:331
Definition: NaluParsing.C:400
Definition: NaluParsing.h:238
Pressure p_
Definition: NaluParsing.h:240
const YAML::Node expect_sequence(const YAML::Node &node, const std::string &key, bool optional)
Definition: NaluParsing.C:82
bool detailedOutput_
Definition: NaluParsing.h:263
static NaluEnv & self()
Definition: NaluEnv.C:48
Definition: NaluParsing.h:158
bool case_insensitive_compare(std::string s1, std::string s2)
Definition: NaluParsing.C:391
Definition: NaluParsing.h:330
void get_if_present_no_default(const YAML::Node &node, const std::string &key, T &result)
this version doesn't change
Definition: NaluParsing.h:386
double heatTransferCoefficient_
Definition: NaluParsing.h:122
Definition: NaluParsing.h:100
Definition: NaluParsing.h:38
Pressure pressure_
Definition: NaluParsing.h:186
SymmetryBoundaryConditionData symmetrybc_
Definition: NaluParsing.h:350
Definition: NaluParsing.h:310
bool tkeSpec_
Definition: NaluParsing.h:228
Definition: NaluParsing.h:220
OpenBoundaryConditionData openbc_
Definition: NaluParsing.h:347
MassFraction massFraction_
Definition: NaluParsing.h:177
double mixFrac_
Definition: NaluParsing.h:74
Definition: NaluParsing.h:315
unsigned gravityComponent_
Definition: NaluParsing.h:187
EnvironmentalT()
Definition: NaluParsing.h:109
const YAML::Node expect_type(const YAML::Node &node, const std::string &key, YAML::NodeType::value type, bool optional)
these can be used to check and ensure a type of yaml node is as expected
Definition: NaluParsing.C:27
Transmissivity()
Definition: NaluParsing.h:102
double specDissRate_
Definition: NaluParsing.h:60
Definition: NaluParsing.h:128
Irradiation()
Definition: NaluParsing.h:95
void get_if_present(const YAML::Node &node, const std::string &key, T &result, const T &default_if_not_present=T())
Set.
Definition: NaluParsing.h:373
EnvironmentalT environmentalT_
Definition: NaluParsing.h:181
std::map< std::string, std::vector< std::string > > functionStringParams_
Definition: NaluParsing.h:142
Definition: NaluParsing.h:359
Definition: NaluParsing.h:121
OpenUserData userData_
Definition: NaluParsing.h:316
bool massFractionSpec_
Definition: NaluParsing.h:231
int parallel_rank()
Definition: NaluEnv.C:85
static std::string line_info(const YAML::Node &node)
Definition: NaluParsingHelper.h:72
HeatTransferCoefficient()
Definition: NaluParsing.h:123
RoughnessHeight()
Definition: NaluParsing.h:160
bool uSpec_
Definition: NaluParsing.h:227
InflowBoundaryConditionData inflowbc_
Definition: NaluParsing.h:346
Definition: NaluParsing.h:172
Tpetra::Map< LocalOrdinal, GlobalOrdinal >::node_type Node
Definition: LinearSolver.h:32
double emissivity_
Definition: NaluParsing.h:87
RobinCouplingParameter robinCouplingParameter_
Definition: NaluParsing.h:185
double qn_
Definition: NaluParsing.h:152
std::map< std::string, bool > bcDataSpecifiedMap_
Definition: NaluParsing.h:138
double transmissivity_
Definition: NaluParsing.h:101
TurbKinEnergy tke_
Definition: NaluParsing.h:241
const YAML::Node expect_scalar(const YAML::Node &node, const std::string &key, bool optional)
Definition: NaluParsing.C:77
ReferenceTemperature()
Definition: NaluParsing.h:116
OversetBoundaryConditionData oversetbc_
Definition: NaluParsing.h:348
Definition: NaluParsing.h:136
Definition: NaluParsing.h:59
Velocity u_
Definition: NaluParsing.h:173
UserFunctionInitialConditionData(InitialConditions &ics)
Definition: NaluParsing.h:366
SymmetryUserData()
Definition: NaluParsing.h:277
Definition: InitialConditions.h:56
InflowUserData()
Definition: NaluParsing.h:232
Definition: NaluParsing.h:107
bool tkeSpec_
Definition: NaluParsing.h:248
Definition: NaluParsing.h:276
std::map< std::string, UserDataType > bcDataTypeMap_
Definition: NaluParsing.h:139
WallUserData()
Definition: NaluParsing.h:205
double environmentalT_
Definition: NaluParsing.h:108
HeatTransferCoefficient heatTransferCoefficient_
Definition: NaluParsing.h:184
bool wallFunctionApproach_
Definition: NaluParsing.h:200
std::vector< std::string > fieldNames_
Definition: NaluParsing.h:361
double turbKinEnergy_
Definition: NaluParsing.h:53
Definition: BoundaryConditions.h:32
std::map< std::string, std::vector< double > > functionParams_
Definition: NaluParsing.h:141
MixtureFraction mixFrac_
Definition: NaluParsing.h:176
bool uSpec_
Definition: NaluParsing.h:246
bool ablWallFunctionApproach_
Definition: NaluParsing.h:201
MixtureFraction mixFrac_
Definition: NaluParsing.h:224
Definition: NaluParsing.h:114