50 "Extract Boundary field");
59 f->m_writeBndFld =
true;
60 f->m_declareExpansionAsContField =
true;
61 f->m_requireBoundaryExpansion =
true;
70 m_f->m_addNormals =
m_config[
"addnormals"].as<
bool>();
73 string bvalues =
m_config[
"bnd"].as<
string>();
75 vector<unsigned int> bndRegions;
78 if (boost::iequals(bvalues,
"All"))
85 for (
auto &breg_it : bregions)
87 numBndExp =
max(numBndExp, breg_it.first);
95 m_f->m_comm->GetSpaceComm()->AllReduce(numBndExp,
99 for (
int i = 0; i < numBndExp; ++i)
101 bndRegions.push_back(i);
107 m_f->m_session->SetTag(
"CreateBndRegions", bvalues);
109 "Failed to interpret bnd values string");
115 if (
m_f->m_session->DefinesSolverInfo(
"GlobalSysSoln"))
117 if (
m_f->m_session->MatchSolverInfo(
"GlobalSysSoln",
118 "DirectMultiLevelStaticCond"))
120 m_f->m_session->SetSolverInfo(
"GlobalSysSoln",
121 "IterativeStaticCond");
123 "Resetting GlobalSySoln to IterativeStaticCond");
129 if (
m_f->m_bndRegionsToWrite.size())
133 "Incompatible bnd parameters.");
137 m_f->m_bndRegionsToWrite = bndRegions;
140 if (
m_f->m_exp[0]->GetNumElmts() != 0)
142 for (
int i = 0; i <
m_f->m_exp.size(); ++i)
144 m_f->m_exp[i]->FillBndCondFromField(
m_f->m_exp[i]->GetCoeffs());
#define ASSERTL0(condition, msg)
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mode...
FieldSharedPtr m_f
Field object.
std::map< std::string, ConfigOption > m_config
List of configuration values.
Abstract base class for processing modules.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
static bool GenerateVector(const std::string &str, std::vector< T > &out)
Takes a comma-separated string and converts it to entries in a vector.
const BoundaryRegionCollection & GetBoundaryRegions(void) const
std::shared_ptr< Field > FieldSharedPtr
std::pair< ModuleType, std::string > ModuleKey
ModuleFactory & GetModuleFactory()
std::map< int, BoundaryRegionShPtr > BoundaryRegionCollection
scalarT< T > max(scalarT< T > lhs, scalarT< T > rhs)
Represents a command-line configuration option.