Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
 
template<>
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
 
template<>
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 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. More...
 

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. More...
 
std::map< std::string,
std::vector< std::string > > 
blockIdToCellAvgFields_
 Map showing which cell averaged fields need to be written out for each element block. More...
 
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. More...
 
std::map< std::string,
std::vector< std::string > > 
blockIdToCellFields_
 Map showing which cell fields need to be written out for each element block. More...
 
std::map< std::string,
std::vector< std::string > > 
blockIdToNodalFields_
 Map showing which nodal fields need to be written out for each element block. More...
 
std::map< std::string, bool > blockIdEvaluated_
 
Teuchos::RCP< const
panzer::ClosureModelFactory
< EvalT > > 
userCMF_
 we will reuse the drekar closure model factory 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::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

Definition at line 55 of file Panzer_STK_IOClosureModel_Factory_impl.hpp.

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 70 of file Panzer_STK_IOClosureModel_Factory_impl.hpp.

Member Function Documentation

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
virtual
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 91 of file Panzer_STK_IOClosureModel_Factory_impl.hpp.

template<>
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
virtual
template<>
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
virtual

Member Data Documentation

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.

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.

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.

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.

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.

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.

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: