本文整理汇总了C++中panzer::PhysicsBlock::buildAndRegisterGatherAndOrientationEvaluators方法的典型用法代码示例。如果您正苦于以下问题:C++ PhysicsBlock::buildAndRegisterGatherAndOrientationEvaluators方法的具体用法?C++ PhysicsBlock::buildAndRegisterGatherAndOrientationEvaluators怎么用?C++ PhysicsBlock::buildAndRegisterGatherAndOrientationEvaluators使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类panzer::PhysicsBlock
的用法示例。
在下文中一共展示了PhysicsBlock::buildAndRegisterGatherAndOrientationEvaluators方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
virtual void
buildAndRegisterGatherAndOrientationEvaluators(PHX::FieldManager<panzer::Traits>& fm,
const panzer::PhysicsBlock& side_pb,
const LinearObjFactory<panzer::Traits> & lof,
const Teuchos::ParameterList& user_data) const
{ side_pb.buildAndRegisterGatherAndOrientationEvaluators(fm,lof,user_data);
side_pb.buildAndRegisterDOFProjectionsToIPEvaluators(fm,user_data); }
示例2: p
virtual void
buildAndRegisterGatherAndOrientationEvaluators(PHX::FieldManager<panzer::Traits>& fm,
const panzer::PhysicsBlock& side_pb,
const LinearObjFactory<panzer::Traits> & lof,
const Teuchos::ParameterList& user_data) const
{
using Teuchos::RCP;
using Teuchos::rcp;
side_pb.buildAndRegisterGatherAndOrientationEvaluators(fm,lof,user_data);
side_pb.buildAndRegisterDOFProjectionsToIPEvaluators(fm,Teuchos::ptrFromRef(lof),user_data);
// add in side normals
const std::map<int,Teuchos::RCP<panzer::IntegrationRule> > & int_rules = side_pb.getIntegrationRules();
for(std::map<int,Teuchos::RCP<panzer::IntegrationRule> >::const_iterator itr=int_rules.begin();
itr!=int_rules.end();++itr) {
std::stringstream s;
s << "Side Normal:" << side_pb.cellData().side();
Teuchos::ParameterList p(s.str());
p.set<std::string>("Name","Side Normal");
p.set<int>("Side ID",side_pb.cellData().side());
p.set< Teuchos::RCP<panzer::IntegrationRule> >("IR", Teuchos::rcp_const_cast<panzer::IntegrationRule>(itr->second));
p.set<bool>("Normalize",true);
RCP< PHX::Evaluator<panzer::Traits> > op = rcp(new panzer::Normals<EvalT,panzer::Traits>(p));
fm.template registerEvaluator<EvalT>(op);
}
}
示例3:
void Example::BCStrategy_Interface_WeakDirichletMatch<EvalT>::
buildAndRegisterGatherAndOrientationEvaluators(PHX::FieldManager<panzer::Traits>& fm,
const panzer::PhysicsBlock& pb,
const panzer::LinearObjFactory<panzer::Traits> & lof,
const Teuchos::ParameterList& user_data) const
{
using Teuchos::RCP;
using Teuchos::rcp;
using std::vector;
using std::map;
using std::string;
using std::pair;
// Gather
pb.buildAndRegisterGatherAndOrientationEvaluators(fm,lof,user_data);
}
开发者ID:bartlettroscoe,项目名称:Trilinos,代码行数:16,代码来源:Example_BCStrategy_Interface_WeakDirichletMatch_impl.hpp
示例4: p
void panzer::BCStrategy_Interface_DefaultImpl<EvalT>::
buildAndRegisterGatherAndOrientationEvaluators(PHX::FieldManager<panzer::Traits>& fm,
const panzer::PhysicsBlock& pb,
const panzer::LinearObjFactory<panzer::Traits> & lof,
const Teuchos::ParameterList& user_data) const
{
using Teuchos::ParameterList;
using Teuchos::RCP;
using Teuchos::rcp;
using std::vector;
using std::map;
using std::string;
using std::pair;
// Gather
pb.buildAndRegisterGatherAndOrientationEvaluators(fm,lof,user_data);
// Iterate over each residual contribution
for (vector<boost::tuples::tuple<std::string,std::string,std::string,int,Teuchos::RCP<panzer::PureBasis>,Teuchos::RCP<panzer::IntegrationRule> > >::const_iterator eq =
m_residual_contributions.begin(); eq != m_residual_contributions.end(); ++eq) {
const string& residual_name = eq->get<0>();
const string& dof_name = eq->get<1>();
const string& flux_name = eq->get<2>();
//const int& integration_order = eq->get<3>();
const RCP<const panzer::PureBasis> basis = eq->get<4>();
const RCP<const panzer::IntegrationRule> ir = eq->get<5>();
// Normals evaluator
{
std::stringstream s;
s << "Side Normal:" << pb.cellData().side();
ParameterList p(s.str());
p.set<std::string>("Name","Side Normal");
p.set<int>("Side ID",pb.cellData().side());
p.set< Teuchos::RCP<panzer::IntegrationRule> >("IR", Teuchos::rcp_const_cast<panzer::IntegrationRule>(ir));
p.set<bool>("Normalize",true);
RCP< PHX::Evaluator<panzer::Traits> > op = rcp(new panzer::Normals<EvalT,panzer::Traits>(p));
this->template registerEvaluator<EvalT>(fm, op);
}
// Interface Residual evaluator: residual += phi n dot flux
{
ParameterList p("Interface Residual: " + residual_name + " to DOF: " + dof_name);
p.set("Residual Name", residual_name);
p.set("DOF Name",dof_name);
p.set("Flux Name", flux_name);
p.set("Normal Name", "Side Normal");
p.set("Basis", basis);
p.set("IR", ir);
RCP< PHX::Evaluator<panzer::Traits> > op =
rcp(new panzer::InterfaceResidual<EvalT,panzer::Traits>(p));
this->template registerEvaluator<EvalT>(fm, op);
}
}
}