44 #ifndef PANZER_BCSTRATEGY_WEAKDIRICHLET_DEFAULT_IMPL_DECL_HPP 45 #define PANZER_BCSTRATEGY_WEAKDIRICHLET_DEFAULT_IMPL_DECL_HPP 51 #include "Teuchos_RCP.hpp" 53 #include "Panzer_BCStrategy.hpp" 58 #include "Phalanx_Evaluator_WithBaseImpl.hpp" 59 #include "Phalanx_FieldManager.hpp" 60 #include "Phalanx_MDField.hpp" 66 template <
typename EvalT>
86 const Teuchos::ParameterList& models,
87 const Teuchos::ParameterList& user_data)
const = 0;
93 const Teuchos::ParameterList& user_data)
const;
99 const Teuchos::ParameterList& user_data)
const;
105 const Teuchos::ParameterList& user_data)
const;
131 const std::string dof_name,
132 const std::string flux_name,
133 const int integration_order,
137 const std::vector<std::tuple<std::string,std::string,std::string,int,Teuchos::RCP<panzer::PureBasis>,Teuchos::RCP<panzer::IntegrationRule> > >
getResidualContributionData()
const;
157 Teuchos::RCP<panzer::PureBasis>
getBasis(
const std::string dof_name,
182 std::vector<std::tuple<std::string,std::string,std::string,int,Teuchos::RCP<panzer::PureBasis>,Teuchos::RCP<panzer::IntegrationRule> > >
m_residual_contributions;
virtual void requireDOFGather(const std::string required_dof_name)
Requires that a gather evaluator for the DOF be constructed.
virtual void buildAndRegisterEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &factory, const Teuchos::ParameterList &models, const Teuchos::ParameterList &user_data) const =0
Object that contains information on the physics and discretization of a block of elements with the SA...
Default implementation for accessing the GlobalData object.
virtual void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)=0
virtual void addResidualContribution(const std::string residual_name, const std::string dof_name, const std::string flux_name, const int integration_order, const panzer::PhysicsBlock &side_pb)
Adds a residual contribution for a neumann condition to a particular equation.
virtual void setup(const panzer::PhysicsBlock &side_pb, const Teuchos::ParameterList &user_data)=0
Teuchos::RCP< panzer::GlobalData > global_data
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
std::vector< std::string > m_required_dof_names
All DOF field names needed by this BC: this vector is used to build gather evaluators for each DOF...
virtual void buildAndRegisterGatherAndOrientationEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
virtual void buildAndRegisterGatherScatterEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const panzer::LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
BCStrategy_WeakDirichlet_DefaultImpl(const panzer::BC &bc, const Teuchos::RCP< panzer::GlobalData > &global_data)
virtual void evaluateFields(typename Traits::EvalData d)=0
Teuchos::RCP< panzer::IntegrationRule > buildIntegrationRule(const int integration_order, const panzer::PhysicsBlock &side_pb) const
Allocates and returns the integration rule associated with an integration order and side physics bloc...
std::vector< std::tuple< std::string, std::string, std::string, int, Teuchos::RCP< panzer::PureBasis >, Teuchos::RCP< panzer::IntegrationRule > > > m_residual_contributions
A vector of tuples containing information for each residual contribution for a corresponding Neumann ...
virtual ~BCStrategy_WeakDirichlet_DefaultImpl()
virtual void buildAndRegisterScatterEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
Stores input information for a boundary condition.
const panzer::BC bc() const
Returns the boundary condition data for this object.
Teuchos::RCP< panzer::PureBasis > getBasis(const std::string dof_name, const panzer::PhysicsBlock &side_pb) const
Finds the basis for the corresponding dof_name in the physics block.
const std::vector< std::tuple< std::string, std::string, std::string, int, Teuchos::RCP< panzer::PureBasis >, Teuchos::RCP< panzer::IntegrationRule > > > getResidualContributionData() const
Returns information for the residual contribution integrations associated with this Neumann BC...