Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
panzer::BCStrategy_Neumann_DefaultImpl< EvalT > Class Template Referenceabstract

#include <Panzer_BCStrategy_Neumann_DefaultImpl.hpp>

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

Public Member Functions

 BCStrategy_Neumann_DefaultImpl (const panzer::BC &bc, const Teuchos::RCP< panzer::GlobalData > &global_data)
 
virtual ~BCStrategy_Neumann_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...
 
- Public Member Functions inherited from PHX::EvaluatorWithBaseImpl< panzer::Traits >
virtual void evaluateFields (typename Traits::EvalData d) override=0
 
- Public Member Functions inherited from PHX::Evaluator< Traits >
 Evaluator ()
 
virtual ~Evaluator ()
 
virtual void postRegistrationSetup (typename Traits::SetupData d, PHX::FieldManager< Traits > &vm)=0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
evaluatedFields () const =0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
contributedFields () const =0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
dependentFields () const =0
 
virtual const std::vector
< Teuchos::RCP< FieldTag > > & 
unsharedFields () const =0
 
virtual void preEvaluate (typename Traits::PreEvalData d)=0
 
virtual void postEvaluate (typename Traits::PostEvalData d)=0
 
virtual const std::string & getName () const =0
 
virtual void bindField (const PHX::FieldTag &ft, const std::any &f)=0
 
virtual PHX::DeviceEvaluator
< Traits > * 
createDeviceEvaluator () const =0
 
virtual void rebuildDeviceEvaluator (PHX::DeviceEvaluator< Traits > *e) const =0
 
virtual void deleteDeviceEvaluator (PHX::DeviceEvaluator< Traits > *e) const =0
 
virtual void printFieldValues (std::ostream &os) const =0
 
- Public Member Functions inherited from panzer::DomainEvaluator
 DomainEvaluator (DomainType domain=ALL)
 Constructor. More...
 
virtual ~DomainEvaluator ()=default
 Default destructor. More...
 
void setDomain (const DomainType domain)
 Set the domain for the evaluator. More...
 
DomainType getDomain ()
 Get the domain for the evaluator. More...
 
virtual int cellStartIndex (const panzer::Workset &workset) const
 Returns the starting cell for the specified domain for a given workset. More...
 
virtual int cellEndIndex (const panzer::Workset &workset) const
 Returns the non-inclusive end cell for the specified domain for a given workset. 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 Neumann 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 a Neumann 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 a neumann 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 Neumann 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::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 block. More...
 

Additional Inherited Members

- Public Types inherited from panzer::DomainEvaluator
enum  DomainType : int {
  OWNED =0, GHOST =1, REAL =2, VIRTUAL =3,
  EXTERNAL =4, ALL =5
}
 Domain types supported by worksets. More...
 
- 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_Neumann_DefaultImpl< EvalT >

Definition at line 34 of file Panzer_BCStrategy_Neumann_DefaultImpl.hpp.

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename EvalT >
virtual void panzer::BCStrategy_Neumann_DefaultImpl< EvalT >::setup ( const panzer::PhysicsBlock side_pb,
const Teuchos::ParameterList user_data 
)
pure virtual
  Must be called before this->buildAndRegisterEvaluators() and

this->buildAndRegisterGatherScatterEvaluators().

Implements panzer::BCStrategy< EvalT >.

template<typename EvalT >
virtual void panzer::BCStrategy_Neumann_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
template<typename EvalT >
void panzer::BCStrategy_Neumann_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
template<typename EvalT >
void panzer::BCStrategy_Neumann_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
template<typename EvalT >
void panzer::BCStrategy_Neumann_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
template<typename EvalT >
virtual void panzer::BCStrategy_Neumann_DefaultImpl< EvalT >::postRegistrationSetup ( typename Traits::SetupData  d,
PHX::FieldManager< Traits > &  vm 
)
pure virtual
template<typename EvalT >
virtual void panzer::BCStrategy_Neumann_DefaultImpl< EvalT >::evaluateFields ( typename Traits::EvalData  d)
pure virtual
template<typename EvalT >
void panzer::BCStrategy_Neumann_DefaultImpl< EvalT >::requireDOFGather ( const std::string  required_dof_name)
virtual

Requires that a gather evaluator for the DOF be constructed.

Definition at line 196 of file Panzer_BCStrategy_Neumann_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::BCStrategy_Neumann_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 a neumann 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 Neumann 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 204 of file Panzer_BCStrategy_Neumann_DefaultImpl_impl.hpp.

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_Neumann_DefaultImpl< EvalT >::getResidualContributionData ( ) const

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

Definition at line 225 of file Panzer_BCStrategy_Neumann_DefaultImpl_impl.hpp.

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

Returns the boundary condition data for this object.

Definition at line 266 of file Panzer_BCStrategy_Neumann_DefaultImpl_impl.hpp.

template<typename EvalT >
Teuchos::RCP< panzer::PureBasis > panzer::BCStrategy_Neumann_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 234 of file Panzer_BCStrategy_Neumann_DefaultImpl_impl.hpp.

template<typename EvalT >
Teuchos::RCP< panzer::IntegrationRule > panzer::BCStrategy_Neumann_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 256 of file Panzer_BCStrategy_Neumann_DefaultImpl_impl.hpp.

Member Data Documentation

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

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

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

  \param index 0 - Name of the residual field that is to be scattered to the global residual.
Parameters
index1 - Name of the DOF residual that the Neumann 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 Neumann residual contribution is added to.
index5 - RCP to the Integration Rule for the side integration for the Neumann residual contribution.

Definition at line 149 of file Panzer_BCStrategy_Neumann_DefaultImpl.hpp.

template<typename EvalT >
std::vector<std::string> panzer::BCStrategy_Neumann_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 152 of file Panzer_BCStrategy_Neumann_DefaultImpl.hpp.


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