Panzer Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
panzer_stk::IOClosureModelFactory< EvalT > Class Template Reference

#include <Panzer_STK_IOClosureModel_Factory_decl.hpp>

Inheritance diagram for panzer_stk::IOClosureModelFactory< EvalT >:
Inheritance graph
[legend]

Public Member Functions

 IOClosureModelFactory (const Teuchos::RCP< const panzer::ClosureModelFactory< EvalT > > userCMF_, const Teuchos::RCP< STK_Interface > &mesh, const Teuchos::ParameterList &outputList)
 
 IOClosureModelFactory (const Teuchos::RCP< const panzer::ClosureModelFactory< EvalT > > userCMF_, const Teuchos::RCP< STK_Interface > &mesh, const std::map< std::string, std::vector< std::string > > &nodalFields, const std::map< std::string, std::vector< std::string > > &cellFields)
 
Teuchos::RCP< std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > > buildClosureModels (const std::string &model_id, const Teuchos::ParameterList &models, const panzer::FieldLayoutLibrary &fl, const Teuchos::RCP< panzer::IntegrationRule > &ir, const Teuchos::ParameterList &default_params, const Teuchos::ParameterList &user_data, const Teuchos::RCP< panzer::GlobalData > &global_data, PHX::FieldManager< panzer::Traits > &fm) const
 
Teuchos::RCP< std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > > buildClosureModels (const std::string &model_id, const Teuchos::ParameterList &models, const panzer::FieldLayoutLibrary &fl, const Teuchos::RCP< panzer::IntegrationRule > &ir, const Teuchos::ParameterList &default_params, const Teuchos::ParameterList &user_data, const Teuchos::RCP< panzer::GlobalData > &global_data, PHX::FieldManager< panzer::Traits > &fm) const
 
Teuchos::RCP< std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > > buildClosureModels (const std::string &model_id, const Teuchos::ParameterList &models, const panzer::FieldLayoutLibrary &fl, const Teuchos::RCP< panzer::IntegrationRule > &ir, const Teuchos::ParameterList &default_params, const Teuchos::ParameterList &user_data, const Teuchos::RCP< panzer::GlobalData > &global_data, PHX::FieldManager< panzer::Traits > &fm) const
 
- Public Member Functions inherited from panzer::ClosureModelFactory< EvalT >
 ClosureModelFactory (bool throw_if_model_not_found=true)
 
virtual ~ClosureModelFactory ()
 
virtual Teuchos::RCP< std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > > buildClosureModels (const std::string &model_id, const Teuchos::ParameterList &models, const panzer::FieldLayoutLibrary &fl, const Teuchos::RCP< panzer::IntegrationRule > &ir, const Teuchos::ParameterList &equation_set_params, const Teuchos::ParameterList &user_data, const Teuchos::RCP< panzer::GlobalData > &global_data, PHX::FieldManager< panzer::Traits > &fm) const =0
 
virtual void registerEvaluators (const std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > &evaluators, PHX::FieldManager< panzer::Traits > &fm) const
 
virtual void setThrowOnModelNotFound (bool do_throw)
 
- Public Member Functions inherited from panzer::ClosureModelFactoryBase
 ClosureModelFactoryBase ()
 
virtual ~ClosureModelFactoryBase ()
 
- Public Member Functions inherited from panzer::Base
 Base ()
 
virtual ~Base ()
 
- Public Member Functions inherited from panzer::EvaluatorsRegistrar
int setDetailsIndex (const int details_index)
 
int getDetailsIndex () const
 Get the WorksetDetails index.
 

Private Member Functions

void parseOutputList (const Teuchos::ParameterList &pl, std::map< std::string, std::vector< std::string > > &blockIdToFields) const
 

Private Attributes

Teuchos::RCP< STK_Interfacemesh_
 Mesh pointer, will be passed around.
 
std::map< std::string, std::vector< std::string > > blockIdToCellAvgFields_
 Map showing which cell averaged fields need to be written out for each element block.
 
std::map< std::string, std::vector< std::string > > blockIdToCellAvgVectors_
 Map showing which cell averaged vector fields need to be written out for each element block.
 
std::map< std::string, std::vector< std::string > > blockIdToCellFields_
 Map showing which cell fields need to be written out for each element block.
 
std::map< std::string, std::vector< std::string > > blockIdToNodalFields_
 Map showing which nodal fields need to be written out for each element block.
 
std::map< std::string, bool > blockIdEvaluated_
 
Teuchos::RCP< const panzer::ClosureModelFactory< EvalT > > userCMF_
 we will reuse the drekar closure model factory
 

Additional Inherited Members

- Protected Member Functions inherited from panzer::EvaluatorsRegistrar
 EvaluatorsRegistrar ()
 Default ctor initializes WorksetDetails index to 0.
 
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::ClosureModelFactory< EvalT >
bool m_throw_if_model_not_found
 

Detailed Description

template<typename EvalT>
class panzer_stk::IOClosureModelFactory< EvalT >

Definition at line 62 of file Panzer_STK_IOClosureModel_Factory_decl.hpp.

Constructor & Destructor Documentation

◆ IOClosureModelFactory() [1/2]

template<typename EvalT >
panzer_stk::IOClosureModelFactory< EvalT >::IOClosureModelFactory ( const Teuchos::RCP< const panzer::ClosureModelFactory< EvalT > > userCMF_,
const Teuchos::RCP< STK_Interface > & mesh,
const Teuchos::ParameterList & outputList )

Definition at line 54 of file Panzer_STK_IOClosureModel_Factory_impl.hpp.

◆ IOClosureModelFactory() [2/2]

template<typename EvalT >
panzer_stk::IOClosureModelFactory< EvalT >::IOClosureModelFactory ( const Teuchos::RCP< const panzer::ClosureModelFactory< EvalT > > userCMF_,
const Teuchos::RCP< STK_Interface > & mesh,
const std::map< std::string, std::vector< std::string > > & nodalFields,
const std::map< std::string, std::vector< std::string > > & cellFields )

Definition at line 69 of file Panzer_STK_IOClosureModel_Factory_impl.hpp.

Member Function Documentation

◆ buildClosureModels() [1/3]

template<typename EvalT >
Teuchos::RCP< std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > > panzer_stk::IOClosureModelFactory< EvalT >::buildClosureModels ( const std::string & model_id,
const Teuchos::ParameterList & models,
const panzer::FieldLayoutLibrary & fl,
const Teuchos::RCP< panzer::IntegrationRule > & ir,
const Teuchos::ParameterList & default_params,
const Teuchos::ParameterList & user_data,
const Teuchos::RCP< panzer::GlobalData > & global_data,
PHX::FieldManager< panzer::Traits > & fm ) const

Definition at line 111 of file Panzer_STK_IOClosureModel_Factory_impl.hpp.

◆ parseOutputList()

template<typename EvalT >
void panzer_stk::IOClosureModelFactory< EvalT >::parseOutputList ( const Teuchos::ParameterList & pl,
std::map< std::string, std::vector< std::string > > & blockIdToFields ) const
private

Definition at line 90 of file Panzer_STK_IOClosureModel_Factory_impl.hpp.

◆ buildClosureModels() [2/3]

Teuchos::RCP< std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > > panzer_stk::IOClosureModelFactory< panzer::Traits::Residual >::buildClosureModels ( const std::string & model_id,
const Teuchos::ParameterList & models,
const panzer::FieldLayoutLibrary & fl,
const Teuchos::RCP< panzer::IntegrationRule > & ir,
const Teuchos::ParameterList & default_params,
const Teuchos::ParameterList & user_data,
const Teuchos::RCP< panzer::GlobalData > & global_data,
PHX::FieldManager< panzer::Traits > & fm ) const

Definition at line 53 of file Panzer_STK_IOClosureModel_Factory.cpp.

◆ buildClosureModels() [3/3]

Teuchos::RCP< std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > > panzer_stk::IOClosureModelFactory< panzer::Traits::Residual >::buildClosureModels ( const std::string & model_id,
const Teuchos::ParameterList & models,
const panzer::FieldLayoutLibrary & fl,
const Teuchos::RCP< panzer::IntegrationRule > & ir,
const Teuchos::ParameterList & default_params,
const Teuchos::ParameterList & user_data,
const Teuchos::RCP< panzer::GlobalData > & global_data,
PHX::FieldManager< panzer::Traits > & fm ) const

Member Data Documentation

◆ mesh_

template<typename EvalT >
Teuchos::RCP<STK_Interface> panzer_stk::IOClosureModelFactory< EvalT >::mesh_
private

Mesh pointer, will be passed around.

Definition at line 89 of file Panzer_STK_IOClosureModel_Factory_decl.hpp.

◆ blockIdToCellAvgFields_

template<typename EvalT >
std::map<std::string,std::vector<std::string> > panzer_stk::IOClosureModelFactory< EvalT >::blockIdToCellAvgFields_
private

Map showing which cell averaged fields need to be written out for each element block.

Definition at line 92 of file Panzer_STK_IOClosureModel_Factory_decl.hpp.

◆ blockIdToCellAvgVectors_

template<typename EvalT >
std::map<std::string,std::vector<std::string> > panzer_stk::IOClosureModelFactory< EvalT >::blockIdToCellAvgVectors_
private

Map showing which cell averaged vector fields need to be written out for each element block.

Definition at line 95 of file Panzer_STK_IOClosureModel_Factory_decl.hpp.

◆ blockIdToCellFields_

template<typename EvalT >
std::map<std::string,std::vector<std::string> > panzer_stk::IOClosureModelFactory< EvalT >::blockIdToCellFields_
private

Map showing which cell fields need to be written out for each element block.

Definition at line 98 of file Panzer_STK_IOClosureModel_Factory_decl.hpp.

◆ blockIdToNodalFields_

template<typename EvalT >
std::map<std::string,std::vector<std::string> > panzer_stk::IOClosureModelFactory< EvalT >::blockIdToNodalFields_
private

Map showing which nodal fields need to be written out for each element block.

Definition at line 101 of file Panzer_STK_IOClosureModel_Factory_decl.hpp.

◆ blockIdEvaluated_

template<typename EvalT >
std::map<std::string,bool> panzer_stk::IOClosureModelFactory< EvalT >::blockIdEvaluated_
mutableprivate

Map stating if an evaluator for a particular block ID has been included.

This is a bit of hack that is done to gurantee only one evaluator is added to each field manager. However, if an instantiation of this closure model factory is used in multiple places then the appropriate evaluator will be added and required only once. So its likely that not every field manager will have (and require) the scatter cell evaluators.

Definition at line 111 of file Panzer_STK_IOClosureModel_Factory_decl.hpp.

◆ userCMF_

template<typename EvalT >
Teuchos::RCP<const panzer::ClosureModelFactory<EvalT> > panzer_stk::IOClosureModelFactory< EvalT >::userCMF_
private

we will reuse the drekar closure model factory

Definition at line 114 of file Panzer_STK_IOClosureModel_Factory_decl.hpp.


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