Panzer  Version of the Day
Public Member Functions | Private Attributes | List of all members
panzer::BCStrategy_Interface_DefaultImpl< EvalT > Class Template Referenceabstract

#include <Panzer_BCStrategy_Interface_DefaultImpl.hpp>

Inheritance diagram for panzer::BCStrategy_Interface_DefaultImpl< EvalT >:
Inheritance graph
[legend]

Public Member Functions

 BCStrategy_Interface_DefaultImpl (const panzer::BC &bc, const Teuchos::RCP< panzer::GlobalData > &global_data)
 
virtual ~BCStrategy_Interface_DefaultImpl ()
 
- Public Member Functions inherited from panzer::BCStrategy< EvalT >
 BCStrategy (const panzer::BC &bc)
 
virtual ~BCStrategy ()
 
- Public Member Functions inherited from panzer::BCStrategyBase
 BCStrategyBase ()
 
virtual ~BCStrategyBase ()
 
- Public Member Functions inherited from panzer::EvaluatorsRegistrar
int setDetailsIndex (const int details_index)
 
int getDetailsIndex () const
 Get the WorksetDetails index. More...
 
- Public Member Functions inherited from panzer::GlobalDataAcceptorDefaultImpl
 GlobalDataAcceptorDefaultImpl ()
 
 GlobalDataAcceptorDefaultImpl (const Teuchos::RCP< panzer::GlobalData > &gd)
 
 ~GlobalDataAcceptorDefaultImpl ()
 
void setGlobalData (const Teuchos::RCP< panzer::GlobalData > &gd)
 
Teuchos::RCP< panzer::GlobalDatagetGlobalData () const
 
- Public Member Functions inherited from panzer::GlobalDataAcceptor
virtual ~GlobalDataAcceptor ()
 
- Public Member Functions inherited from panzer::EvaluatorWithBaseImpl< panzer::Traits >
void setDetailsIndex (const int di)
 An evaluator builder sets the details index. More...
 

Private Attributes

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 interface bc. More...
 
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. More...
 

Derived from BCStrategy

virtual void setup (const panzer::PhysicsBlock &side_pb, const Teuchos::ParameterList &user_data)=0
 
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 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 buildAndRegisterGatherAndOrientationEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
 

Derived from PHX::EvaluatorWithDefaultImpl

virtual void postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)=0
 
virtual void evaluateFields (typename Traits::EvalData d)=0
 

User Interface methods to provide information to the default implementation to be able to build the default evaluators for an interface BC

virtual void requireDOFGather (const std::string required_dof_name)
 Requires that a gather evaluator for the DOF be constructed. More...
 
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 an interface condition to a particular equation. More...
 
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 interface BC. More...
 

Query methods for underlying data

const panzer::BC bc () const
 Returns the boundary condition data for this object. More...
 

Utility functions used by default implementation

Teuchos::RCP< panzer::PureBasisgetBasis (const std::string dof_name, const panzer::PhysicsBlock &side_pb) const
 Finds the basis for the corresponding dof_name in the physics block. More...
 
Teuchos::RCP< panzer::IntegrationRulebuildIntegrationRule (const int integration_order, const panzer::PhysicsBlock &side_pb) const
 Allocates and returns the integration rule associated with an integration order and side physics block. More...
 

Additional Inherited Members

- Protected Member Functions inherited from panzer::EvaluatorsRegistrar
 EvaluatorsRegistrar ()
 Default ctor initializes WorksetDetails index to 0. More...
 
virtual ~EvaluatorsRegistrar ()
 
template<typename EvalT >
void registerEvaluator (PHX::FieldManager< panzer::Traits > &fm, const Teuchos::RCP< PHX::Evaluator< panzer::Traits > > &op) const
 
- Protected Attributes inherited from panzer::BCStrategy< EvalT >
const panzer::BC m_bc
 
- Protected Attributes inherited from panzer::EvaluatorWithBaseImpl< panzer::Traits >
WorksetDetailsAccessor wda
 

Detailed Description

template<typename EvalT>
class panzer::BCStrategy_Interface_DefaultImpl< EvalT >

Definition at line 67 of file Panzer_BCStrategy_Interface_DefaultImpl.hpp.

Constructor & Destructor Documentation

◆ BCStrategy_Interface_DefaultImpl()

template<typename EvalT >
panzer::BCStrategy_Interface_DefaultImpl< EvalT >::BCStrategy_Interface_DefaultImpl ( const panzer::BC bc,
const Teuchos::RCP< panzer::GlobalData > &  global_data 
)

◆ ~BCStrategy_Interface_DefaultImpl()

template<typename EvalT >
panzer::BCStrategy_Interface_DefaultImpl< EvalT >::~BCStrategy_Interface_DefaultImpl ( )
virtual

Member Function Documentation

◆ setup()

template<typename EvalT >
virtual void panzer::BCStrategy_Interface_DefaultImpl< EvalT >::setup ( const panzer::PhysicsBlock side_pb,
const Teuchos::ParameterList user_data 
)
pure virtual

◆ buildAndRegisterEvaluators()

template<typename EvalT >
virtual void panzer::BCStrategy_Interface_DefaultImpl< EvalT >::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
pure virtual

◆ buildAndRegisterGatherScatterEvaluators()

template<typename EvalT >
void panzer::BCStrategy_Interface_DefaultImpl< EvalT >::buildAndRegisterGatherScatterEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::PhysicsBlock side_pb,
const panzer::LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::ParameterList user_data 
) const
virtual

◆ buildAndRegisterScatterEvaluators()

template<typename EvalT >
void panzer::BCStrategy_Interface_DefaultImpl< EvalT >::buildAndRegisterScatterEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::PhysicsBlock side_pb,
const LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::ParameterList user_data 
) const
virtual

◆ buildAndRegisterGatherAndOrientationEvaluators()

template<typename EvalT >
void panzer::BCStrategy_Interface_DefaultImpl< EvalT >::buildAndRegisterGatherAndOrientationEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::PhysicsBlock side_pb,
const LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::ParameterList user_data 
) const
virtual

◆ postRegistrationSetup()

template<typename EvalT >
virtual void panzer::BCStrategy_Interface_DefaultImpl< EvalT >::postRegistrationSetup ( typename Traits::SetupData  d,
PHX::FieldManager< Traits > &  vm 
)
pure virtual

◆ evaluateFields()

template<typename EvalT >
virtual void panzer::BCStrategy_Interface_DefaultImpl< EvalT >::evaluateFields ( typename Traits::EvalData  d)
pure virtual

◆ requireDOFGather()

template<typename EvalT >
void panzer::BCStrategy_Interface_DefaultImpl< EvalT >::requireDOFGather ( const std::string  required_dof_name)
virtual

Requires that a gather evaluator for the DOF be constructed.

Definition at line 224 of file Panzer_BCStrategy_Interface_DefaultImpl_impl.hpp.

◆ addResidualContribution()

template<typename EvalT >
void panzer::BCStrategy_Interface_DefaultImpl< EvalT >::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 
)
virtual

Adds a residual contribution for an interface condition to a particular equation.

Parameters
residual_name[in] Name of the residual field that is to be scattered to the global residual.
dof_name[in] Name of the DOF residual that the interface contribution should be added to.
flux_name[in] Name of the flux field that will be integrated over to form the residual.
integration_order[in] Order of the integration rule needed to define the data layouts for the flux integration.
side_pb[in] The side physics block. Used to build the PureBasis and IntegrationRule for a residual contribution.

Definition at line 232 of file Panzer_BCStrategy_Interface_DefaultImpl_impl.hpp.

◆ getResidualContributionData()

template<typename EvalT >
const std::vector< std::tuple< std::string, std::string, std::string, int, Teuchos::RCP< panzer::PureBasis >, Teuchos::RCP< panzer::IntegrationRule > > > panzer::BCStrategy_Interface_DefaultImpl< EvalT >::getResidualContributionData ( ) const

Returns information for the residual contribution integrations associated with this interface BC.

Definition at line 253 of file Panzer_BCStrategy_Interface_DefaultImpl_impl.hpp.

◆ bc()

template<typename EvalT >
const panzer::BC panzer::BCStrategy_Interface_DefaultImpl< EvalT >::bc ( ) const

Returns the boundary condition data for this object.

Definition at line 294 of file Panzer_BCStrategy_Interface_DefaultImpl_impl.hpp.

◆ getBasis()

template<typename EvalT >
Teuchos::RCP< panzer::PureBasis > panzer::BCStrategy_Interface_DefaultImpl< EvalT >::getBasis ( const std::string  dof_name,
const panzer::PhysicsBlock side_pb 
) const
private

Finds the basis for the corresponding dof_name in the physics block.

Definition at line 262 of file Panzer_BCStrategy_Interface_DefaultImpl_impl.hpp.

◆ buildIntegrationRule()

template<typename EvalT >
Teuchos::RCP< panzer::IntegrationRule > panzer::BCStrategy_Interface_DefaultImpl< EvalT >::buildIntegrationRule ( const int  integration_order,
const panzer::PhysicsBlock side_pb 
) const
private

Allocates and returns the integration rule associated with an integration order and side physics block.

Definition at line 284 of file Panzer_BCStrategy_Interface_DefaultImpl_impl.hpp.

Member Data Documentation

◆ m_residual_contributions

template<typename EvalT >
std::vector<std::tuple<std::string,std::string,std::string,int,Teuchos::RCP<panzer::PureBasis>,Teuchos::RCP<panzer::IntegrationRule> > > panzer::BCStrategy_Interface_DefaultImpl< EvalT >::m_residual_contributions
private

A vector of tuples containing information for each residual contribution for a corresponding interface bc.

Each entry in the vector is a different contribution to an individual residual equation. A single interface BC can contribute to multiple equations (e.g. all momentum equations). The tuple has 6 entries, with the indices described below.

Parameters
index0 - Name of the residual field that is to be scattered to the global residual.
index1 - Name of the DOF residual that the interface residual contribution should be added to.
index2 - Name of the flux field that will be integrated over to form the residual.
index3 - Order of the integration rule needed to define the data layouts for the flux integration.
index4 - RCP to the basis for the dof that the interface residual contribution is added to.
index5 - RCP to the Integration Rule for the side integration for the interface residual contribution.

Definition at line 182 of file Panzer_BCStrategy_Interface_DefaultImpl.hpp.

◆ m_required_dof_names

template<typename EvalT >
std::vector<std::string> panzer::BCStrategy_Interface_DefaultImpl< EvalT >::m_required_dof_names
private

All DOF field names needed by this BC: this vector is used to build gather evaluators for each DOF.

Definition at line 185 of file Panzer_BCStrategy_Interface_DefaultImpl.hpp.


The documentation for this class was generated from the following files: