//------------------------------------------------------------------------------ void Albany::MechanicsProblem:: constructDirichletEvaluators(const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); int index = 0; if (have_mech_eq_) { dirichletNames[index++] = "X"; if (neq > 1) dirichletNames[index++] = "Y"; if (neq > 2) dirichletNames[index++] = "Z"; } if (have_temperature_eq_) dirichletNames[index++] = "T"; if (have_pore_pressure_eq_) dirichletNames[index++] = "P"; if (have_transport_eq_) dirichletNames[index++] = "C"; if (have_hydrostress_eq_) dirichletNames[index++] = "TAU"; if (have_damage_eq_) dirichletNames[index++] = "D"; if (have_stab_pressure_eq_) dirichletNames[index++] = "SP"; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); }
//------------------------------------------------------------------------------ void Albany::MechanicsProblem:: constructDirichletEvaluators(const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); int index = 0; if (have_mech_eq_) { dirichletNames[index++] = "X"; if (num_dims_ > 1) dirichletNames[index++] = "Y"; if (num_dims_ > 2) dirichletNames[index++] = "Z"; } if (have_temperature_eq_) dirichletNames[index++] = "T"; if (have_pore_pressure_eq_) dirichletNames[index++] = "P"; if (have_transport_eq_) dirichletNames[index++] = "C"; if (have_hydrostress_eq_) dirichletNames[index++] = "TAU"; if (have_damage_eq_) dirichletNames[index++] = "D"; if (have_stab_pressure_eq_) dirichletNames[index++] = "SP"; // Pass on the Application as well that is needed for // the coupled Schwarz BC. It is just ignored otherwise. Teuchos::RCP<Albany::Application> const & application = getApplication(); this->params->set<Teuchos::RCP<Albany::Application>>( "Application", application); Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); }
void FELIX::Hydrology::constructDirichletEvaluators (const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); dirichletNames[0] = dof_names[0]; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); }
// Dirichlet BCs void Albany::PoissonsEquationProblem::constructDirichletEvaluators( const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); dirichletNames[0] = "P"; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); }
void Albany::PeridigmProblem::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); }
void Albany::Helmholtz2DProblem::constructDirichletEvaluators( const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); dirichletNames[0] = "U"; dirichletNames[1] = "V"; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); offsets_ = dirUtils.getOffsets(); }
void Hydrology::constructDirichletEvaluators (const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); dirichletNames[0] = dofs_names[0]; if (!eliminate_h) { dirichletNames[1] = dofs_names[1]; } Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); offsets_ = dirUtils.getOffsets(); nodeSetIDs_ = dirUtils.getNodeSetIDs(); }
void Albany::GradientDamageProblem::constructDirichletEvaluators( const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); dirichletNames[X_offset] = "X"; if (numDim>1) dirichletNames[X_offset+1] = "Y"; if (numDim>2) dirichletNames[X_offset+2] = "Z"; dirichletNames[D_offset] = "D"; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); }
//------------------------------------------------------------------------------ void Albany::ConcurrentMultiscaleProblem:: constructDirichletEvaluators(const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); int index = 0; dirichletNames[index++] = "X"; if (neq>1) dirichletNames[index++] = "Y"; if (neq>2) dirichletNames[index++] = "Z"; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); }
// 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::ElectroMechanicsProblem:: constructDirichletEvaluators(const Albany::MeshSpecsStruct& meshSpecs) { // Construct Dirichlet evaluators for all nodesets and names std::vector<std::string> dirichletNames(neq); int index = 0; dirichletNames[index++] = "X"; if (num_dims_ > 1) dirichletNames[index++] = "Y"; if (num_dims_ > 2) dirichletNames[index++] = "Z"; dirichletNames[index++] = "Potential"; Albany::BCUtils<Albany::DirichletTraits> dirUtils; dfm = dirUtils.constructBCEvaluators(meshSpecs.nsNames, dirichletNames, this->params, this->paramLib); offsets_ = dirUtils.getOffsets(); }