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

#include <Panzer_EquationSet_DefaultImpl_decl.hpp>

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

Classes

struct  DOFDescriptor
 

Public Member Functions

 EquationSet_DefaultImpl (const Teuchos::RCP< Teuchos::ParameterList > &params, const int &default_integration_order, const panzer::CellData &cell_data, const Teuchos::RCP< panzer::GlobalData > &global_data, const bool build_transient_support)
 
virtual ~EquationSet_DefaultImpl ()
 
virtual void buildAndRegisterGatherAndOrientationEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::FieldLibrary &fl, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
 
virtual void buildAndRegisterScatterEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::FieldLibrary &fl, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
 
virtual void buildAndRegisterEquationSetEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::FieldLibrary &fl, const Teuchos::ParameterList &user_data) const =0
 
virtual void buildAndRegisterDOFProjectionsToIPEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::FieldLayoutLibrary &fl, const Teuchos::RCP< panzer::IntegrationRule > &ir, const Teuchos::Ptr< const panzer::LinearObjFactory< panzer::Traits > > &lof, const Teuchos::ParameterList &user_data) const
 
virtual void buildAndRegisterClosureModelEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::FieldLayoutLibrary &fl, const Teuchos::RCP< panzer::IntegrationRule > &ir, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &factory, const Teuchos::ParameterList &models, const Teuchos::ParameterList &user_data) const
 Register closure model evaluators with the model name internally specified by the equation set. More...
 
virtual void buildAndRegisterClosureModelEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::FieldLayoutLibrary &fl, const Teuchos::RCP< panzer::IntegrationRule > &ir, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &factory, const std::string &model_name, const Teuchos::ParameterList &models, const Teuchos::ParameterList &user_data) const
 Register closure model evaluators with the model name specified by an argument. More...
 
virtual void buildAndRegisterInitialConditionEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::FieldLibrary &fl, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &factory, const std::string &model_name, const Teuchos::ParameterList &models, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const
 
virtual const Teuchos::RCP
< Teuchos::ParameterList
getEvaluatorParameterList () const
 Returns the parameter list that will be passed off from the equaiton set to the closure model evaluator factory. This allows users to pass parameters from a particular equaiton set to its associated closure models. More...
 
virtual const std::vector
< std::pair< std::string,
Teuchos::RCP
< panzer::PureBasis > > > & 
getProvidedDOFs () const
 Return the Basis for the equation set, key is the DOF name (note coordinate DOFs are NOT included) More...
 
virtual const std::vector
< std::vector< std::string > > & 
getCoordinateDOFs () const
 Return a vector of vectors that correspond to DOFs set as coordinate fields. More...
 
virtual const std::map< int,
Teuchos::RCP
< panzer::IntegrationRule > > & 
getIntegrationRules () const
 Return a map of unique integration rules for the equation set, key is the integration order. More...
 
virtual void setElementBlockId (const std::string &blockId)
 
virtual std::string getElementBlockId () const
 
virtual std::string getType () const
 Returns the type of the equation set object. Corresponds to the keyword used by the equation set factory to build a particular concrete equation set. More...
 
virtual void setTangentParamNames (const std::vector< std::string > &tangent_param_names)
 Set the list of tangent parameter names. More...
 
void getAddedDOFs (std::vector< std::string > &dofNames) const
 
void updateDOF (const std::string &dofName, int basisOrder, int integrationOrder=-1)
 Modifying an existing DOF's basis function and integration rule. More...
 
int getBasisOrder (const std::string &dofName) const
 Get the basis order for an existing degree of freedom. More...
 
int getIntegrationOrder (const std::string &dofName) const
 Get the integration order for an existing degree of freedom. More...
 
- Public Member Functions inherited from panzer::EquationSet< EvalT >
 EquationSet ()
 
virtual ~EquationSet ()
 
- Public Member Functions inherited from panzer::EquationSetBase
 EquationSetBase ()
 
virtual ~EquationSetBase ()
 
- 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 ()
 

Protected Member Functions

virtual void setupDOFs ()
 Builds the integration rule, basis, DOFs, and default parameter list. This MUST be called in the constructor of all classes derived form this object. More...
 
bool buildTransientSupport () const
 Returns true if transient support should be enabled in the equation set. More...
 
void addDOF (const std::string &dofName, const std::string &basisType, const int &basisOrder, const int integrationOrder=-1, const std::string residualName="", const std::string scatterName="")
 
void addDOFGrad (const std::string &dofName, const std::string &gradName="")
 
void addDOFCurl (const std::string &dofName, const std::string &curlName="")
 
void addDOFDiv (const std::string &dofName, const std::string &divName="")
 
void addDOFTimeDerivative (const std::string &dofName, const std::string &dotName="")
 
void setCoordinateDOFs (const std::vector< std::string > &dofNames)
 
void addClosureModel (const std::string &closure_model)
 
void setDefaultValidParameters (Teuchos::ParameterList &valid_parameters)
 
Teuchos::RCP< panzer::PureBasisgetBasisForDOF (const std::string &dof_name) const
 Returns the PureBasis associated with the residual contributions for the dof_name. More...
 
Teuchos::RCP
< panzer::IntegrationRule
getIntRuleForDOF (const std::string &dof_name) const
 Returns the integration rule associated with the residual contributions for the dof_name. More...
 
Teuchos::RCP
< panzer::BasisIRLayout
getBasisIRLayoutForDOF (const std::string &dof_name) const
 Returns the BasisIRLayout for the dof_name. More...
 
void buildAndRegisterResidualSummationEvaluator (PHX::FieldManager< panzer::Traits > &fm, const std::string dof_name, const std::vector< std::string > &residual_contributions, const std::string residual_field_name="") const
 
void buildAndRegisterResidualSummationEvaluator (PHX::FieldManager< panzer::Traits > &fm, const std::string dof_name, const std::vector< std::string > &residual_contributions, const std::vector< double > &scale_contributions, const std::string residual_field_name="") const
 
Teuchos::RCP
< Teuchos::ParameterList
getEquationSetParameterList () const
 Returns the parameter list used to build this equation set. More...
 
void setupDeprecatedDOFsSupport ()
 
- 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

std::map< std::string,
DOFDescriptor
m_provided_dofs_desc
 Maps the dof name into a DOFDescriptor. Should be private, but is protected so that the aux equaiton sets can access it. More...
 
std::vector< std::string > m_tangent_param_names
 

Private Types

typedef std::map< std::string,
DOFDescriptor >
::const_iterator 
DescriptorIterator
 For convenience, declare the DOFDescriptor iterator. More...
 
typedef std::map< std::string,
std::pair< Teuchos::RCP
< panzer::PureBasis >
, Teuchos::RCP< std::vector
< std::string >
> > >::const_iterator 
BasisIterator
 For convenience, declare a basis iterator. More...
 

Private Attributes

std::map< std::string,
std::pair< Teuchos::RCP
< panzer::PureBasis >
, Teuchos::RCP< std::vector
< std::string > > > > 
m_basis_to_dofs
 Map that links a common basis to a vector of dof names. Key is the unique basis name, the value is a pair that contains an RCP to a basis and an RCP to a vector of dof names that share the basis. More...
 
const Teuchos::RCP
< Teuchos::ParameterList
m_input_params
 
int m_default_integration_order
 
const panzer::CellData m_cell_data
 
const bool m_build_transient_support
 
std::vector< std::pair
< std::string, Teuchos::RCP
< panzer::PureBasis > > > 
m_provided_dofs
 Key is the dof name and the value is the corresponding basis. More...
 
std::vector< std::pair
< std::string, Teuchos::RCP
< panzer::PureBasis > > > 
m_provided_coord_prefixes
 Key is the coordinate prefix name and the value is the corresponding basis. More...
 
std::map< int, Teuchos::RCP
< panzer::IntegrationRule > > 
m_int_rules
 Key is the integration rule order and the value is the corresponding integration rule. More...
 
std::map< std::string,
Teuchos::RCP
< panzer::PureBasis > > 
m_unique_bases
 Key is the basis name from panzer::PureBasis::name() and value is the corresponding PureBasis. More...
 
Teuchos::RCP
< Teuchos::ParameterList
m_eval_plist
 
std::string m_block_id
 
std::string m_type
 
std::vector< std::string > m_closure_model_ids
 
std::vector< std::vector
< std::string > > 
m_coordinate_dofs
 

Detailed Description

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

Definition at line 31 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

Member Typedef Documentation

template<typename EvalT >
typedef std::map<std::string,DOFDescriptor>::const_iterator panzer::EquationSet_DefaultImpl< EvalT >::DescriptorIterator
private

For convenience, declare the DOFDescriptor iterator.

Definition at line 354 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
typedef std::map<std::string,std::pair<Teuchos::RCP<panzer::PureBasis>,Teuchos::RCP<std::vector<std::string> > > >::const_iterator panzer::EquationSet_DefaultImpl< EvalT >::BasisIterator
private

For convenience, declare a basis iterator.

Definition at line 370 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

Constructor & Destructor Documentation

template<typename EvalT >
panzer::EquationSet_DefaultImpl< EvalT >::EquationSet_DefaultImpl ( const Teuchos::RCP< Teuchos::ParameterList > &  params,
const int &  default_integration_order,
const panzer::CellData cell_data,
const Teuchos::RCP< panzer::GlobalData > &  global_data,
const bool  build_transient_support 
)

Definition at line 35 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
virtual panzer::EquationSet_DefaultImpl< EvalT >::~EquationSet_DefaultImpl ( )
inlinevirtual

Definition at line 42 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

Member Function Documentation

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::buildAndRegisterGatherAndOrientationEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::FieldLibrary fl,
const LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::ParameterList user_data 
) const
virtual
template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::buildAndRegisterScatterEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::FieldLibrary fl,
const LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::ParameterList user_data 
) const
virtual
template<typename EvalT >
virtual void panzer::EquationSet_DefaultImpl< EvalT >::buildAndRegisterEquationSetEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::FieldLibrary fl,
const Teuchos::ParameterList user_data 
) const
pure virtual
template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::buildAndRegisterDOFProjectionsToIPEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::FieldLayoutLibrary fl,
const Teuchos::RCP< panzer::IntegrationRule > &  ir,
const Teuchos::Ptr< const panzer::LinearObjFactory< panzer::Traits > > &  lof,
const Teuchos::ParameterList user_data 
) const
virtual
template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::buildAndRegisterClosureModelEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::FieldLayoutLibrary field_library,
const Teuchos::RCP< panzer::IntegrationRule > &  ir,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  factory,
const Teuchos::ParameterList models,
const Teuchos::ParameterList user_data 
) const
virtual

Register closure model evaluators with the model name internally specified by the equation set.

Implements panzer::EquationSet< EvalT >.

Definition at line 567 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::buildAndRegisterClosureModelEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::FieldLayoutLibrary field_library,
const Teuchos::RCP< panzer::IntegrationRule > &  ir,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  factory,
const std::string &  model_name,
const Teuchos::ParameterList models,
const Teuchos::ParameterList user_data 
) const
virtual

Register closure model evaluators with the model name specified by an argument.

Implements panzer::EquationSet< EvalT >.

Definition at line 585 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::buildAndRegisterInitialConditionEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::FieldLibrary fl,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  factory,
const std::string &  model_name,
const Teuchos::ParameterList models,
const LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::ParameterList user_data 
) const
virtual
template<typename EvalT >
const Teuchos::RCP< Teuchos::ParameterList > panzer::EquationSet_DefaultImpl< EvalT >::getEvaluatorParameterList ( ) const
virtual

Returns the parameter list that will be passed off from the equaiton set to the closure model evaluator factory. This allows users to pass parameters from a particular equaiton set to its associated closure models.

Implements panzer::EquationSet< EvalT >.

Definition at line 699 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
const std::vector< std::pair< std::string, Teuchos::RCP< panzer::PureBasis > > > & panzer::EquationSet_DefaultImpl< EvalT >::getProvidedDOFs ( ) const
virtual

Return the Basis for the equation set, key is the DOF name (note coordinate DOFs are NOT included)

Implements panzer::EquationSet< EvalT >.

Definition at line 707 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
const std::vector< std::vector< std::string > > & panzer::EquationSet_DefaultImpl< EvalT >::getCoordinateDOFs ( ) const
virtual

Return a vector of vectors that correspond to DOFs set as coordinate fields.

Implements panzer::EquationSet< EvalT >.

Definition at line 715 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
const std::map< int, Teuchos::RCP< panzer::IntegrationRule > > & panzer::EquationSet_DefaultImpl< EvalT >::getIntegrationRules ( ) const
virtual

Return a map of unique integration rules for the equation set, key is the integration order.

Implements panzer::EquationSet< EvalT >.

Definition at line 723 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::setElementBlockId ( const std::string &  blockId)
virtual
template<typename EvalT >
std::string panzer::EquationSet_DefaultImpl< EvalT >::getElementBlockId ( ) const
virtual
template<typename EvalT >
std::string panzer::EquationSet_DefaultImpl< EvalT >::getType ( ) const
virtual

Returns the type of the equation set object. Corresponds to the keyword used by the equation set factory to build a particular concrete equation set.

Implements panzer::EquationSet< EvalT >.

Definition at line 749 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::setTangentParamNames ( const std::vector< std::string > &  tangent_param_names)
virtual

Set the list of tangent parameter names.

Implements panzer::EquationSetBase.

Definition at line 756 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::getAddedDOFs ( std::vector< std::string > &  dofNames) const

Used to get the DOFs that have been added to the equation set. This can be used at anytime, however it returns only DOFs added using the addDOF method. Note that if setupDOFs has been called, the getProvidedDOFs should be used instead (it also returns more information about the basis being used).

Parameters
[out]dofNamesThe name of all the dofs that have been added so far. Any previous entries in this vector will be discarded.

Definition at line 771 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::updateDOF ( const std::string &  dofName,
int  basisOrder,
int  integrationOrder = -1 
)

Modifying an existing DOF's basis function and integration rule.

This imples the DOF already has been added and the setupDOFs method has not been called. Note that this method is public so that non-derived classes (like mixed in interfaces can call it). Furthermore, the type of basis cannot be changed, only the order.

Parameters
[in]dofName(Required) Name of field to lookup in the unique global indexer.
[in]basisOrder(Required) Polynomial order for the basis for this DOF.
[in]integrationOrder(Optional) Order of the integration rule associated with this DOF. If set to -1 (default), it will use the default integration order.

Definition at line 782 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
int panzer::EquationSet_DefaultImpl< EvalT >::getBasisOrder ( const std::string &  dofName) const

Get the basis order for an existing degree of freedom.

Parameters
[in]dofName(Required) Name of field to lookup in the unique global indexer.

Definition at line 808 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
int panzer::EquationSet_DefaultImpl< EvalT >::getIntegrationOrder ( const std::string &  dofName) const

Get the integration order for an existing degree of freedom.

Parameters
[in]dofName(Required) Name of field to lookup in the unique global indexer.

Definition at line 822 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::setupDOFs ( )
protectedvirtual

Builds the integration rule, basis, DOFs, and default parameter list. This MUST be called in the constructor of all classes derived form this object.

Definition at line 54 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
bool panzer::EquationSet_DefaultImpl< EvalT >::buildTransientSupport ( ) const
protected

Returns true if transient support should be enabled in the equation set.

Definition at line 763 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::addDOF ( const std::string &  dofName,
const std::string &  basisType,
const int &  basisOrder,
const int  integrationOrder = -1,
const std::string  residualName = "",
const std::string  scatterName = "" 
)
protected

Alert the panzer library of a DOF provided by this equation set. This automatically sets up the gather/scatter routines neccessary to evaluate and assemble with this unknown.

Parameters
[in]dofName(Required) Name of field to lookup in the unique global indexer. This also serves as a key for the remaining addDOF* methods.
[in]basisType(Required) Name of the basis type for this DOF.
[in]basisOrder(Required) Polynomial order for the basis for this DOF.
[in]integrationOrder(Optional) Order of the integration rule associated with this DOF. If set to -1 (default), it will use the default integration order.
[in]residualName(Optional) Name of field that is to be scattered associated with this DOF. If not supplied or an empty string used, the default is to add the prefix "RESIDUAL_" to the dofName for the residual field name.
[in]scatterName(Optional) Name of the required scatter field associated with this DOF. If not supplied or an empty string used, the default is to add the prefix "SCATTER_" to the dofName for the scatter field name.

Definition at line 836 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::addDOFGrad ( const std::string &  dofName,
const std::string &  gradName = "" 
)
protected

Alert the panzer library that a gradient of particular a DOF is needed.

Parameters
[in]dofName(Required) Name of field to lookup in the unique global indexer.
[in]gradName(Optional) Name of the gradient field associated with this DOF. If not supplied or an empty string used, the default is to add the prefix "GRAD_" to the dofName for the name of the gradient field.

Definition at line 881 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::addDOFCurl ( const std::string &  dofName,
const std::string &  curlName = "" 
)
protected

Alert the panzer library that a curl of particular a DOF is needed.

Parameters
[in]dofName(Required) Name of field to lookup in the unique global indexer.
[in]curlName(Optional) Name of the curl field associated with this DOF. If not supplied or an empty string used, the default is to add the prefix "CURL_" to the dofName for the naem of the curl field.

Definition at line 903 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::addDOFDiv ( const std::string &  dofName,
const std::string &  divName = "" 
)
protected

Alert the panzer library that a div of particular a DOF is needed.

Parameters
[in]dofName(Required) Name of field to lookup in the unique global indexer.
[in]divName(Optional) Name of the div field associated with this DOF. If not supplied or an empty string used, the default is to add the prefix "DIV__" to the dofName for the naem of the div field.

Definition at line 925 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::addDOFTimeDerivative ( const std::string &  dofName,
const std::string &  dotName = "" 
)
protected

Alert the panzer library that a time derivative of particular a DOF is needed.

Parameters
[in]dofName(Required) Name of field to lookup in the unique global indexer.
[in]dotName(Optional) Name of the time derivative field associated with this DOF. If not supplied or an empty string used, the default is to add the prefix "DXDT_" to the dofName for the name of the time derivative field.

Definition at line 947 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::setCoordinateDOFs ( const std::vector< std::string > &  dofNames)
protected

Alert the panzer to the fact that a set of DOFs coorespond to coordinates. They may have to be handled differently.

Parameters
[in]dofNamesName of fields that will represent the coordinates (in order). Must be of dimension equal to the size of the problem. Also DOF must have been already added.

Definition at line 969 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::addClosureModel ( const std::string &  closure_model)
protected

Alert the equation set default implementation to build the required closure model(s) for this equation set. You can make multiple calls to this funciton to build multiple closure models.

Definition at line 1100 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::setDefaultValidParameters ( Teuchos::ParameterList valid_parameters)
protected

Sets the valid default parameters in the parameter list used by the default equation set implementaiton. To validate the incoming user list, get the defaults using this call, then add their own valid parameters specific to the user derived equation set and then validate the list.

Definition at line 988 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
Teuchos::RCP< panzer::PureBasis > panzer::EquationSet_DefaultImpl< EvalT >::getBasisForDOF ( const std::string &  dof_name) const
protected

Returns the PureBasis associated with the residual contributions for the dof_name.

Definition at line 997 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
Teuchos::RCP< panzer::IntegrationRule > panzer::EquationSet_DefaultImpl< EvalT >::getIntRuleForDOF ( const std::string &  dof_name) const
protected

Returns the integration rule associated with the residual contributions for the dof_name.

Definition at line 1007 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
Teuchos::RCP< panzer::BasisIRLayout > panzer::EquationSet_DefaultImpl< EvalT >::getBasisIRLayoutForDOF ( const std::string &  dof_name) const
protected

Returns the BasisIRLayout for the dof_name.

Definition at line 1019 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::buildAndRegisterResidualSummationEvaluator ( PHX::FieldManager< panzer::Traits > &  fm,
const std::string  dof_name,
const std::vector< std::string > &  residual_contributions,
const std::string  residual_field_name = "" 
) const
protected

Adds a Sum evaluator that evaluates the local residual contributions by summing a vector of fields of integrated residuals. This is a convenience function for when a user integrates multiple residual contributions and needs to sum them together before being loaded into the global matrix. Almost all implementations do this internally and this function just automates that process for users.

Parameters
[in]fmField Manager to register new evaluator with
[in]dof_nameName of DOF that this residual will contribute to
[in]residual_contributionsVector of field names that will be summed to produce the residual contributions
[in]residualfield_nameName of the evalauted residual field. This is optional and will use a default value if the string is empty.

Definition at line 1032 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::buildAndRegisterResidualSummationEvaluator ( PHX::FieldManager< panzer::Traits > &  fm,
const std::string  dof_name,
const std::vector< std::string > &  residual_contributions,
const std::vector< double > &  scale_contributions,
const std::string  residual_field_name = "" 
) const
protected

Adds a Sum evaluator that evaluates the local residual contributions by summing a vector of fields of integrated residuals. This version allows you to scale each term. This is a convenience function for when a user integrates multiple residual contributions and needs to sum them together before being loaded into the global matrix. Almost all implementations do this internally and this function just automates that process for users.

Parameters
[in]fmField Manager to register new evaluator with
[in]dof_nameName of DOF that this residual will contribute to
[in]residual_contributionsVector of field names that will be summed to produce the residual contributions
[in]scale_contributionsVector of scalars for each term in the residual contributions.
[in]residualfield_nameName of the evalauted residual field. This is optional and will use a default value if the string is empty.

Definition at line 1065 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
Teuchos::RCP< Teuchos::ParameterList > panzer::EquationSet_DefaultImpl< EvalT >::getEquationSetParameterList ( ) const
protected

Returns the parameter list used to build this equation set.

Definition at line 1108 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

template<typename EvalT >
void panzer::EquationSet_DefaultImpl< EvalT >::setupDeprecatedDOFsSupport ( )
protected

Definition at line 115 of file Panzer_EquationSet_DefaultImpl_impl.hpp.

Member Data Documentation

template<typename EvalT >
std::map<std::string,DOFDescriptor> panzer::EquationSet_DefaultImpl< EvalT >::m_provided_dofs_desc
protected

Maps the dof name into a DOFDescriptor. Should be private, but is protected so that the aux equaiton sets can access it.

Definition at line 346 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::vector<std::string> panzer::EquationSet_DefaultImpl< EvalT >::m_tangent_param_names
protected

Definition at line 349 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::map<std::string,std::pair<Teuchos::RCP<panzer::PureBasis>,Teuchos::RCP<std::vector<std::string> > > > panzer::EquationSet_DefaultImpl< EvalT >::m_basis_to_dofs
private

Map that links a common basis to a vector of dof names. Key is the unique basis name, the value is a pair that contains an RCP to a basis and an RCP to a vector of dof names that share the basis.

Some of our evaluators are vectorized to work on a block of dofs as long as they share a common basis. We can minimize the evaluators built below by grouping dofs with a common basis. This struct is for grouping dofs with a common basis.

Definition at line 367 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
const Teuchos::RCP<Teuchos::ParameterList> panzer::EquationSet_DefaultImpl< EvalT >::m_input_params
private

Definition at line 372 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
int panzer::EquationSet_DefaultImpl< EvalT >::m_default_integration_order
private

Definition at line 373 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
const panzer::CellData panzer::EquationSet_DefaultImpl< EvalT >::m_cell_data
private

Definition at line 374 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
const bool panzer::EquationSet_DefaultImpl< EvalT >::m_build_transient_support
private

Definition at line 375 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::vector<std::pair<std::string,Teuchos::RCP<panzer::PureBasis> > > panzer::EquationSet_DefaultImpl< EvalT >::m_provided_dofs
private

Key is the dof name and the value is the corresponding basis.

Definition at line 378 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::vector<std::pair<std::string,Teuchos::RCP<panzer::PureBasis> > > panzer::EquationSet_DefaultImpl< EvalT >::m_provided_coord_prefixes
private

Key is the coordinate prefix name and the value is the corresponding basis.

Definition at line 381 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::map<int,Teuchos::RCP<panzer::IntegrationRule> > panzer::EquationSet_DefaultImpl< EvalT >::m_int_rules
private

Key is the integration rule order and the value is the corresponding integration rule.

Definition at line 384 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::map<std::string,Teuchos::RCP<panzer::PureBasis> > panzer::EquationSet_DefaultImpl< EvalT >::m_unique_bases
private

Key is the basis name from panzer::PureBasis::name() and value is the corresponding PureBasis.

Definition at line 387 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
Teuchos::RCP<Teuchos::ParameterList> panzer::EquationSet_DefaultImpl< EvalT >::m_eval_plist
private

Definition at line 389 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::string panzer::EquationSet_DefaultImpl< EvalT >::m_block_id
private

Definition at line 391 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::string panzer::EquationSet_DefaultImpl< EvalT >::m_type
private

Definition at line 392 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::vector<std::string> panzer::EquationSet_DefaultImpl< EvalT >::m_closure_model_ids
private

Definition at line 393 of file Panzer_EquationSet_DefaultImpl_decl.hpp.

template<typename EvalT >
std::vector<std::vector<std::string> > panzer::EquationSet_DefaultImpl< EvalT >::m_coordinate_dofs
private

Definition at line 395 of file Panzer_EquationSet_DefaultImpl_decl.hpp.


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