// Dirichlet BCs void Albany::HeatProblem::constructDirichletEvaluators(const std::vector<std::string>& nodeSetIDs) { // Construct BC evaluators for all node sets and names std::vector<std::string> bcNames(neq); bcNames[0] = "T"; Albany::BCUtils<Albany::DirichletTraits> bcUtils; dfm = bcUtils.constructBCEvaluators(nodeSetIDs, bcNames, this->params, this->paramLib); use_sdbcs_ = bcUtils.useSDBCs(); offsets_ = bcUtils.getOffsets(); nodeSetIDs_ = bcUtils.getNodeSetIDs(); }
// Dirichlet BCs void Albany::HMCProblem::constructDirichletEvaluators( const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); dirichletNames[0] = "X"; if (neq>1) dirichletNames[1] = "Y"; if (neq>2) dirichletNames[2] = "Z"; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); use_sdbcs_ = dirUtils.useSDBCs(); offsets_ = dirUtils.getOffsets(); nodeSetIDs_ = dirUtils.getNodeSetIDs(); }
void Albany::PNPProblem::constructDirichletEvaluators( const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); int idx = 0; for(idx = 0; idx<numSpecies; idx++) { std::stringstream s; s << "C" << (idx+1); dirichletNames[idx] = s.str(); } dirichletNames[idx++] = "Phi"; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); use_sdbcs_ = dirUtils.useSDBCs(); offsets_ = dirUtils.getOffsets(); nodeSetIDs_ = dirUtils.getNodeSetIDs(); }
void Tsunami::Boussinesq::constructDirichletEvaluators( const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); int index = 0; dirichletNames[index++] = "eta"; dirichletNames[index++] = "ualpha"; if (numDim > 1) dirichletNames[index++] = "valpha"; dirichletNames[index++] = "E1"; if (numDim > 1) dirichletNames[index++] = "E2"; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); use_sdbcs_ = dirUtils.useSDBCs(); offsets_ = dirUtils.getOffsets(); nodeSetIDs_ = dirUtils.getNodeSetIDs(); }