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

A panzer::ClosureModelFactory that delegates to a list of other user defined, internally owned closure model factories. More...

#include <Panzer_ClosureModel_Factory_Composite_decl.hpp>

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

Public Member Functions

 ClosureModelFactoryComposite (const std::vector< Teuchos::RCP< panzer::ClosureModelFactory_TemplateManager< panzer::Traits > > > &factories)
 Construct from the list of factories to delegate to, in the order they will be tried.
 
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
 Builds the evaluators for the named model by delegating to each constituent factory and combining their results.
 
std::vector< Teuchos::RCP< panzer::ClosureModelFactory_TemplateManager< panzer::Traits > > > & getFactories ()
 Returns the list of constituent factories this composite delegates to.
 
- 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.
 

Private Attributes

std::vector< Teuchos::RCP< panzer::ClosureModelFactory_TemplateManager< panzer::Traits > > > m_factories
 

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::ClosureModelFactoryComposite< EvalT >

A panzer::ClosureModelFactory that delegates to a list of other user defined, internally owned closure model factories.

buildClosureModels() asks each of its constituent factories, in order, to build the requested model, and collects the evaluators from every factory that produces any; this allows closure models from independently-registered factories to be combined for a single model ID.

Definition at line 29 of file Panzer_ClosureModel_Factory_Composite_decl.hpp.

Constructor & Destructor Documentation

◆ ClosureModelFactoryComposite()

template<typename EvalT >
panzer::ClosureModelFactoryComposite< EvalT >::ClosureModelFactoryComposite ( const std::vector< Teuchos::RCP< panzer::ClosureModelFactory_TemplateManager< panzer::Traits > > > &  factories)

Construct from the list of factories to delegate to, in the order they will be tried.

Definition at line 28 of file Panzer_ClosureModel_Factory_Composite_impl.hpp.

Member Function Documentation

◆ buildClosureModels()

template<typename EvalT >
Teuchos::RCP< std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > > panzer::ClosureModelFactoryComposite< 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

Builds the evaluators for the named model by delegating to each constituent factory and combining their results.

Parameters
[in]model_idthe closure model ID to build; selects which sublist of models to use.
[in]modelsParameterList of named closure model sublists, keyed by model ID.
[in]flthe field layouts available for the current physics block.
[in]irthe integration rule the built evaluators should evaluate on.
[in]default_paramsequation-set-level parameters used as defaults when building closures.
[in]user_datauser-supplied parameters passed through to closures that need additional application data.
[in]global_dataglobal data (parameter library, output stream) shared across the problem.
[in]fmthe field manager the built evaluators will be registered into.

Implements panzer::ClosureModelFactory< EvalT >.

Definition at line 36 of file Panzer_ClosureModel_Factory_Composite_impl.hpp.

◆ getFactories()

template<typename EvalT >
std::vector< Teuchos::RCP< panzer::ClosureModelFactory_TemplateManager< panzer::Traits > > > & panzer::ClosureModelFactoryComposite< EvalT >::getFactories ( )
inline

Returns the list of constituent factories this composite delegates to.

Definition at line 59 of file Panzer_ClosureModel_Factory_Composite_decl.hpp.

Member Data Documentation

◆ m_factories

template<typename EvalT >
std::vector<Teuchos::RCP<panzer::ClosureModelFactory_TemplateManager<panzer::Traits> > > panzer::ClosureModelFactoryComposite< EvalT >::m_factories
private

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