11#ifndef PANZER_BCSTRATEGY_WEAKDIRICHLET_DEFAULT_IMPL_DECL_HPP
12#define PANZER_BCSTRATEGY_WEAKDIRICHLET_DEFAULT_IMPL_DECL_HPP
18#include "Teuchos_RCP.hpp"
20#include "Panzer_BCStrategy.hpp"
25#include "Phalanx_Evaluator_WithBaseImpl.hpp"
26#include "Phalanx_FieldManager.hpp"
27#include "Phalanx_MDField.hpp"
33 template <
typename EvalT>
53 const Teuchos::ParameterList& models,
54 const Teuchos::ParameterList& user_data)
const = 0;
60 const Teuchos::ParameterList& user_data)
const;
66 const Teuchos::ParameterList& user_data)
const;
72 const Teuchos::ParameterList& user_data)
const;
98 const std::string dof_name,
99 const std::string flux_name,
100 const int integration_order,
104 const std::vector<std::tuple<std::string,std::string,std::string,int,Teuchos::RCP<panzer::PureBasis>,Teuchos::RCP<panzer::IntegrationRule> > >
getResidualContributionData()
const;
124 Teuchos::RCP<panzer::PureBasis>
getBasis(
const std::string dof_name,
149 std::vector<std::tuple<std::string,std::string,std::string,int,Teuchos::RCP<panzer::PureBasis>,Teuchos::RCP<panzer::IntegrationRule> > >
m_residual_contributions;
const panzer::BC bc() const
Returns the boundary condition data for this object.
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 void buildAndRegisterGatherScatterEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const panzer::LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
virtual void buildAndRegisterScatterEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
virtual void setup(const panzer::PhysicsBlock &side_pb, const Teuchos::ParameterList &user_data)=0
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.
virtual ~BCStrategy_WeakDirichlet_DefaultImpl()
virtual void buildAndRegisterGatherAndOrientationEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
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.
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...
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 evaluateFields(typename Traits::EvalData d)=0
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 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
virtual void requireDOFGather(const std::string required_dof_name)
Requires that a gather evaluator for the DOF be constructed.
virtual void postRegistrationSetup(typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)=0
Stores input information for a boundary condition.
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
Default implementation for accessing the GlobalData object.
Object that contains information on the physics and discretization of a block of elements with the SA...