Panzer Version of the Day
Loading...
Searching...
No Matches
List of all members
panzer_stk::ModelEvaluatorFactory< ScalarT > Class Template Reference

#include <Panzer_STK_ModelEvaluatorFactory.hpp>

Inherits Teuchos::ParameterListAcceptorDefaultBase.

Methods for building the solver

Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > m_physics_me
 
Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > m_rome_me
 
Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > m_response_library
 
std::vector< Teuchos::RCP< panzer::PhysicsBlock > > m_physics_blocks
 
Teuchos::RCP< panzer_stk::STK_Interfacem_mesh
 
Teuchos::RCP< panzer::GlobalIndexerm_global_indexer
 
Teuchos::RCP< panzer::ConnManagerm_conn_manager
 
Teuchos::RCP< panzer::LinearObjFactory< panzer::Traits > > m_lin_obj_factory
 
Teuchos::RCP< panzer::GlobalDatam_global_data
 
bool useDiscreteAdjoint
 
bool m_is_transient
 
bool m_blockedAssembly
 
Teuchos::RCP< const panzer::EquationSetFactorym_eqset_factory
 
Teuchos::RCP< const panzer_stk::NOXObserverFactorym_nox_observer_factory
 
Teuchos::RCP< panzer_stk::WorksetFactorym_user_wkst_factory
 
Teuchos::RCP< panzer::WorksetContainerm_wkstContainer
 
bool useDynamicCoordinates_
 
Teuchos::RCP< Teuchos::ParameterList > m_stratimikos_params
 
void setNOXObserverFactory (const Teuchos::RCP< const panzer_stk::NOXObserverFactory > &nox_observer_factory)
 Sets the factory used to build a NOX observer for the solver built by buildResponseOnlyModelEvaluator().
 
template<typename BuilderT >
int addResponse (const std::string &responseName, const std::vector< panzer::WorksetDescriptor > &wkstDesc, const BuilderT &builder)
 Registers a response to be built by buildResponses(), using the given response evaluator factory builder.
 
void buildResponses (const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const bool write_graphviz_file=false, const std::string &graphviz_file_prefix="")
 Builds and registers the evaluators for all responses added via addResponse().
 
Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > getResponseOnlyModelEvaluator ()
 Returns the response-only model evaluator built by buildResponseOnlyModelEvaluator().
 
Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > buildResponseOnlyModelEvaluator (const Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > &thyra_me, const Teuchos::RCP< panzer::GlobalData > &global_data, const Teuchos::Ptr< const panzer_stk::NOXObserverFactory > &in_nox_observer_factory=Teuchos::null)
 Wraps the given physics model evaluator with a solver (e.g. NOX/Tempus), exposing only the registered responses.
 
void setUserWorksetFactory (Teuchos::RCP< panzer_stk::WorksetFactory > &user_wkst_factory)
 Set user defined workset factory.
 
Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > getResponseLibrary ()
 Returns the response library used to build and evaluate registered responses.
 
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > & getPhysicsBlocks () const
 Returns the physics blocks built by buildObjects().
 
Teuchos::RCP< panzer_stk::STK_InterfacegetMesh () const
 Get mesh object used to build model evaluator.
 
Teuchos::RCP< panzer::GlobalIndexergetGlobalIndexer () const
 Get global indexer used to build model evaluator.
 
Teuchos::RCP< panzer::ConnManagergetConnManager () const
 Get connection manager.
 
bool isBlockedAssembly () const
 Returns true if assembly is blocked.
 
Teuchos::RCP< panzer::LinearObjFactory< panzer::Traits > > getLinearObjFactory () const
 Get linear object factory used to build model evaluator.
 
bool isTransient () const
 Returns true if this a transient problem.
 
Teuchos::RCP< Thyra::ModelEvaluator< double > > cloneWithNewPhysicsBlocks (const Teuchos::RCP< Thyra::LinearOpWithSolveFactoryBase< ScalarT > > &solverFactory, const Teuchos::RCP< Teuchos::ParameterList > &physics_block_plist, const Teuchos::RCP< const panzer::EquationSetFactory > &eqset_factory, const panzer::BCStrategyFactory &bc_factory, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &user_cm_factory, bool is_transient, bool is_explicit, const Teuchos::Ptr< const Teuchos::ParameterList > &bc_list=Teuchos::null, const Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > &physics_me=Teuchos::null) const
 
void setupInitialConditions (Thyra::ModelEvaluator< ScalarT > &model, panzer::WorksetContainer &wkstContainer, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const panzer::LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &closure_pl, const Teuchos::ParameterList &initial_cond_pl, const Teuchos::ParameterList &user_data_pl, bool write_dot_files, const std::string &dot_file_prefix) const
 Setup the initial conditions in a model evaluator. Note that this is entirely self contained.
 
void writeInitialConditions (const Thyra::ModelEvaluator< ScalarT > &model, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const Teuchos::RCP< panzer::WorksetContainer > &wc, const Teuchos::RCP< const panzer::GlobalIndexer > &ugi, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof, const Teuchos::RCP< panzer_stk::STK_Interface > &mesh, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &closure_model_pl, const Teuchos::ParameterList &user_data_pl, int workset_size) const
 Write the initial conditions to exodus. Note that this is entirely self contained.
 
Teuchos::RCP< Thyra::ModelEvaluatorDefaultBase< double > > buildPhysicsModelEvaluator (bool buildThyraME, const Teuchos::RCP< panzer::FieldManagerBuilder > &fmb, const Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > &rLibrary, const Teuchos::RCP< panzer::LinearObjFactory< panzer::Traits > > &lof, const std::vector< Teuchos::RCP< Teuchos::Array< std::string > > > &p_names, const std::vector< Teuchos::RCP< Teuchos::Array< double > > > &p_values, const Teuchos::RCP< Thyra::LinearOpWithSolveFactoryBase< ScalarT > > &solverFactory, const Teuchos::RCP< panzer::GlobalData > &global_data, bool is_transient, double t_init) const
 
bool useDynamicCoordinates () const
 Should coordinates be recomputed dynamically (e.g. for a moving mesh) rather than cached once?
 
double getInitialTime (Teuchos::ParameterList &transient_ic_params, const panzer_stk::STK_Interface &mesh) const
 Gets the initial time from either the input parameter list or an exodus file.
 
Teuchos::RCP< Thyra::LinearOpWithSolveFactoryBase< double > > buildLOWSFactory (bool blockedAssembly, const Teuchos::RCP< const panzer::GlobalIndexer > &globalIndexer, const Teuchos::RCP< panzer::ConnManager > &conn_manager, const Teuchos::RCP< panzer_stk::STK_Interface > &mesh, const Teuchos::RCP< const Teuchos::MpiComm< int > > &mpi_comm) const
 Builds a Thyra LOWS (linear-op-with-solve) factory from this object's Stratimikos parameter list, for the given global indexer, connection manager, and mesh.
 
Teuchos::RCP< panzer::WorksetContainergetWorksetContainer () const
 Get the workset container associated with the mesh database.
 
void addUserFieldsToMesh (panzer_stk::STK_Interface &mesh, const Teuchos::ParameterList &output_list) const
 Add the user fields specified by output_list to the mesh.
 
Teuchos::RCP< STK_MeshFactorybuildSTKMeshFactory (const Teuchos::ParameterList &mesh_params) const
 build STK mesh factory from a mesh parameter list
 
void finalizeMeshConstruction (const STK_MeshFactory &mesh_factory, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const Teuchos::MpiComm< int > mpi_comm, STK_Interface &mesh) const
 Commits the mesh's meta data, builds its bulk data, and writes it out if requested, completing construction started by an STK_MeshFactory.
 
Teuchos::RCP< panzer::FieldManagerBuilderbuildFieldManagerBuilder (const Teuchos::RCP< panzer::WorksetContainer > &wc, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const std::vector< panzer::BC > &bcs, const panzer::EquationSetFactory &eqset_factory, const panzer::BCStrategyFactory &bc_factory, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &volume_cm_factory, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &bc_cm_factory, const Teuchos::ParameterList &closure_models, const panzer::LinearObjFactory< panzer::Traits > &lo_factory, const Teuchos::ParameterList &user_data, bool writeGraph, const std::string &graphPrefix, bool write_field_managers, const std::string &field_manager_prefix) const
 Builds the field manager builder used to register and evaluate the physics/BC/closure-model evaluators for buildObjects().
 
Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > initializeSolnWriterResponseLibrary (const Teuchos::RCP< panzer::WorksetContainer > &wc, const Teuchos::RCP< const panzer::GlobalIndexer > &ugi, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof, const Teuchos::RCP< panzer_stk::STK_Interface > &mesh) const
 Builds a response library configured to write the solution out to the STK mesh.
 
void finalizeSolnWriterResponseLibrary (panzer::ResponseLibrary< panzer::Traits > &rl, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &closure_models, int workset_size, Teuchos::ParameterList &user_data) const
 Builds and registers the evaluators needed by a solution-writer response library built with initializeSolnWriterResponseLibrary().
 
void registerMeshWithClosureModelFactories (const Teuchos::RCP< panzer_stk::STK_Interface > &mesh, panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &user_cm_factory)
 Registers the given mesh with a closure model factory template manager, e.g. so its closure models can reference mesh-derived fields.
 

Overridden from ParameterListAcceptor

void setParameterList (Teuchos::RCP< Teuchos::ParameterList > const &paramList)
 Sets and validates the top-level parameter list describing the physics, mesh, and solver setup.
 
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters () const
 Returns the valid parameters (with defaults) for the top-level parameter list.
 
void setStratimikosList (const Teuchos::RCP< Teuchos::ParameterList > &paramList)
 Set the Stratimikos Linear Solver sublist used to create the LinearOpWithSolve factory.
 
void buildObjects (const Teuchos::RCP< const Teuchos::Comm< int > > &comm, const Teuchos::RCP< panzer::GlobalData > &global_data, const Teuchos::RCP< const panzer::EquationSetFactory > &eqset_factory, const panzer::BCStrategyFactory &bc_factory, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, bool meConstructionOn=true)
 Builds the model evaluators for a panzer assembly.
 
Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > getPhysicsModelEvaluator ()
 Returns the physics model evaluator built by buildObjects().
 

Detailed Description

template<typename ScalarT>
class panzer_stk::ModelEvaluatorFactory< ScalarT >

Definition at line 78 of file Panzer_STK_ModelEvaluatorFactory.hpp.

Member Function Documentation

◆ setParameterList()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::setParameterList ( Teuchos::RCP< Teuchos::ParameterList > const &  paramList)

Sets and validates the top-level parameter list describing the physics, mesh, and solver setup.

Definition at line 93 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ getValidParameters()

template<typename ScalarT >
Teuchos::RCP< const Teuchos::ParameterList > panzer_stk::ModelEvaluatorFactory< ScalarT >::getValidParameters ( ) const

Returns the valid parameters (with defaults) for the top-level parameter list.

Definition at line 115 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ setStratimikosList()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::setStratimikosList ( const Teuchos::RCP< Teuchos::ParameterList > &  paramList)

Set the Stratimikos Linear Solver sublist used to create the LinearOpWithSolve factory.

This function is optional to call. The default list is pull from the main parameter list in "Solution Control->NOX->Direction->Newton->Stratimikos Linear Solver".

Definition at line 109 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ buildObjects()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::buildObjects ( const Teuchos::RCP< const Teuchos::Comm< int > > &  comm,
const Teuchos::RCP< panzer::GlobalData > &  global_data,
const Teuchos::RCP< const panzer::EquationSetFactory > &  eqset_factory,
const panzer::BCStrategyFactory bc_factory,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
bool  meConstructionOn = true 
)

Builds the model evaluators for a panzer assembly.

Parameters
[in]comm(Required) Teuchos communicator. Must be non-null.
[in]global_data(Required) A fully constructed (all members allocated) global data object used to control parameter library and output support. Must be non-null.
[in]eqset_factory(Required) Equation set factory to provide user defined equation sets.
[in]bc_factory(Required) Boundary condition factory to provide user defined boundary conditions.
[in]cm_factory(Required) Closure model factory to provide user defined closure models.

Definition at line 228 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ getPhysicsModelEvaluator()

template<typename ScalarT >
Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > panzer_stk::ModelEvaluatorFactory< ScalarT >::getPhysicsModelEvaluator ( )

Returns the physics model evaluator built by buildObjects().

Definition at line 1139 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ setNOXObserverFactory()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::setNOXObserverFactory ( const Teuchos::RCP< const panzer_stk::NOXObserverFactory > &  nox_observer_factory)

Sets the factory used to build a NOX observer for the solver built by buildResponseOnlyModelEvaluator().

Definition at line 1147 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ addResponse()

template<typename ScalarT >
template<typename BuilderT >
int panzer_stk::ModelEvaluatorFactory< ScalarT >::addResponse ( const std::string &  responseName,
const std::vector< panzer::WorksetDescriptor > &  wkstDesc,
const BuilderT &  builder 
)

Registers a response to be built by buildResponses(), using the given response evaluator factory builder.

Definition at line 348 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ buildResponses()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::buildResponses ( const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const bool  write_graphviz_file = false,
const std::string &  graphviz_file_prefix = "" 
)

Builds and registers the evaluators for all responses added via addResponse().

Definition at line 1648 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ getResponseOnlyModelEvaluator()

template<typename ScalarT >
Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > panzer_stk::ModelEvaluatorFactory< ScalarT >::getResponseOnlyModelEvaluator ( )

Returns the response-only model evaluator built by buildResponseOnlyModelEvaluator().

Definition at line 1167 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ buildResponseOnlyModelEvaluator()

template<typename ScalarT >
Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > panzer_stk::ModelEvaluatorFactory< ScalarT >::buildResponseOnlyModelEvaluator ( const Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > &  thyra_me,
const Teuchos::RCP< panzer::GlobalData > &  global_data,
const Teuchos::Ptr< const panzer_stk::NOXObserverFactory > &  in_nox_observer_factory = Teuchos::null 
)

Wraps the given physics model evaluator with a solver (e.g. NOX/Tempus), exposing only the registered responses.

Definition at line 1176 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ setUserWorksetFactory()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::setUserWorksetFactory ( Teuchos::RCP< panzer_stk::WorksetFactory > &  user_wkst_factory)

Set user defined workset factory.

Definition at line 1161 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ getResponseLibrary()

template<typename ScalarT >
Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > panzer_stk::ModelEvaluatorFactory< ScalarT >::getResponseLibrary ( )

Returns the response library used to build and evaluate registered responses.

Definition at line 1278 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ getPhysicsBlocks()

template<typename ScalarT >
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > & panzer_stk::ModelEvaluatorFactory< ScalarT >::getPhysicsBlocks ( ) const

Returns the physics blocks built by buildObjects().

Definition at line 1287 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ getMesh()

template<typename ScalarT >
Teuchos::RCP< panzer_stk::STK_Interface > panzer_stk::ModelEvaluatorFactory< ScalarT >::getMesh ( ) const
inline

Get mesh object used to build model evaluator.

Definition at line 164 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ getGlobalIndexer()

template<typename ScalarT >
Teuchos::RCP< panzer::GlobalIndexer > panzer_stk::ModelEvaluatorFactory< ScalarT >::getGlobalIndexer ( ) const
inline

Get global indexer used to build model evaluator.

Definition at line 168 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ getConnManager()

template<typename ScalarT >
Teuchos::RCP< panzer::ConnManager > panzer_stk::ModelEvaluatorFactory< ScalarT >::getConnManager ( ) const
inline

Get connection manager.

Definition at line 172 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ isBlockedAssembly()

template<typename ScalarT >
bool panzer_stk::ModelEvaluatorFactory< ScalarT >::isBlockedAssembly ( ) const
inline

Returns true if assembly is blocked.

Definition at line 176 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ getLinearObjFactory()

template<typename ScalarT >
Teuchos::RCP< panzer::LinearObjFactory< panzer::Traits > > panzer_stk::ModelEvaluatorFactory< ScalarT >::getLinearObjFactory ( ) const
inline

Get linear object factory used to build model evaluator.

Definition at line 180 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ isTransient()

template<typename ScalarT >
bool panzer_stk::ModelEvaluatorFactory< ScalarT >::isTransient ( ) const
inline

Returns true if this a transient problem.

Definition at line 184 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ cloneWithNewPhysicsBlocks()

template<typename ScalarT >
Teuchos::RCP< Thyra::ModelEvaluator< double > > panzer_stk::ModelEvaluatorFactory< ScalarT >::cloneWithNewPhysicsBlocks ( const Teuchos::RCP< Thyra::LinearOpWithSolveFactoryBase< ScalarT > > &  solverFactory,
const Teuchos::RCP< Teuchos::ParameterList > &  physics_block_plist,
const Teuchos::RCP< const panzer::EquationSetFactory > &  eqset_factory,
const panzer::BCStrategyFactory bc_factory,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  user_cm_factory,
bool  is_transient,
bool  is_explicit,
const Teuchos::Ptr< const Teuchos::ParameterList > &  bc_list = Teuchos::null,
const Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > &  physics_me = Teuchos::null 
) const

Clone the internal model evaluator, but use new physics blocks. Note that the physics blocks must be in some sense compatible with the original set.

Definition at line 1331 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ setupInitialConditions()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::setupInitialConditions ( Thyra::ModelEvaluator< ScalarT > &  model,
panzer::WorksetContainer wkstContainer,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const panzer::LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::ParameterList &  closure_pl,
const Teuchos::ParameterList &  initial_cond_pl,
const Teuchos::ParameterList &  user_data_pl,
bool  write_dot_files,
const std::string &  dot_file_prefix 
) const

Setup the initial conditions in a model evaluator. Note that this is entirely self contained.

Definition at line 860 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ writeInitialConditions()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::writeInitialConditions ( const Thyra::ModelEvaluator< ScalarT > &  model,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const Teuchos::RCP< panzer::WorksetContainer > &  wc,
const Teuchos::RCP< const panzer::GlobalIndexer > &  ugi,
const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &  lof,
const Teuchos::RCP< panzer_stk::STK_Interface > &  mesh,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const Teuchos::ParameterList &  closure_model_pl,
const Teuchos::ParameterList &  user_data_pl,
int  workset_size 
) const

Write the initial conditions to exodus. Note that this is entirely self contained.

Definition at line 930 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ buildPhysicsModelEvaluator()

template<typename ScalarT >
Teuchos::RCP< Thyra::ModelEvaluatorDefaultBase< double > > panzer_stk::ModelEvaluatorFactory< ScalarT >::buildPhysicsModelEvaluator ( bool  buildThyraME,
const Teuchos::RCP< panzer::FieldManagerBuilder > &  fmb,
const Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > &  rLibrary,
const Teuchos::RCP< panzer::LinearObjFactory< panzer::Traits > > &  lof,
const std::vector< Teuchos::RCP< Teuchos::Array< std::string > > > &  p_names,
const std::vector< Teuchos::RCP< Teuchos::Array< double > > > &  p_values,
const Teuchos::RCP< Thyra::LinearOpWithSolveFactoryBase< ScalarT > > &  solverFactory,
const Teuchos::RCP< panzer::GlobalData > &  global_data,
bool  is_transient,
double  t_init 
) const

This method is to assist with construction of the model evaluators.

Definition at line 1469 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ useDynamicCoordinates()

template<typename ScalarT >
bool panzer_stk::ModelEvaluatorFactory< ScalarT >::useDynamicCoordinates ( ) const
inline

Should coordinates be recomputed dynamically (e.g. for a moving mesh) rather than cached once?

Definition at line 242 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ getInitialTime()

template<typename ScalarT >
double panzer_stk::ModelEvaluatorFactory< ScalarT >::getInitialTime ( Teuchos::ParameterList &  transient_ic_params,
const panzer_stk::STK_Interface mesh 
) const

Gets the initial time from either the input parameter list or an exodus file.

Parameters
[in]transient_ic_paramsParameterList that determines where to get the initial time value.
[in]meshSTK Mesh database used if the time value should come from the exodus file

Definition at line 1504 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ buildLOWSFactory()

template<typename ScalarT >
Teuchos::RCP< Thyra::LinearOpWithSolveFactoryBase< double > > panzer_stk::ModelEvaluatorFactory< ScalarT >::buildLOWSFactory ( bool  blockedAssembly,
const Teuchos::RCP< const panzer::GlobalIndexer > &  globalIndexer,
const Teuchos::RCP< panzer::ConnManager > &  conn_manager,
const Teuchos::RCP< panzer_stk::STK_Interface > &  mesh,
const Teuchos::RCP< const Teuchos::MpiComm< int > > &  mpi_comm 
) const

Builds a Thyra LOWS (linear-op-with-solve) factory from this object's Stratimikos parameter list, for the given global indexer, connection manager, and mesh.

Definition at line 1602 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ getWorksetContainer()

template<typename ScalarT >
Teuchos::RCP< panzer::WorksetContainer > panzer_stk::ModelEvaluatorFactory< ScalarT >::getWorksetContainer ( ) const
inline

Get the workset container associated with the mesh database.

Definition at line 266 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ addUserFieldsToMesh()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::addUserFieldsToMesh ( panzer_stk::STK_Interface mesh,
const Teuchos::ParameterList &  output_list 
) const

Add the user fields specified by output_list to the mesh.

Definition at line 776 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ buildSTKMeshFactory()

template<typename ScalarT >
Teuchos::RCP< panzer_stk::STK_MeshFactory > panzer_stk::ModelEvaluatorFactory< ScalarT >::buildSTKMeshFactory ( const Teuchos::ParameterList &  mesh_params) const

build STK mesh factory from a mesh parameter list

build STK mesh from a mesh parameter list

Definition at line 977 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ finalizeMeshConstruction()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::finalizeMeshConstruction ( const STK_MeshFactory mesh_factory,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const Teuchos::MpiComm< int >  mpi_comm,
STK_Interface mesh 
) const

Commits the mesh's meta data, builds its bulk data, and writes it out if requested, completing construction started by an STK_MeshFactory.

Definition at line 1067 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ buildFieldManagerBuilder()

template<typename ScalarT >
Teuchos::RCP< panzer::FieldManagerBuilder > panzer_stk::ModelEvaluatorFactory< ScalarT >::buildFieldManagerBuilder ( const Teuchos::RCP< panzer::WorksetContainer > &  wc,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const std::vector< panzer::BC > &  bcs,
const panzer::EquationSetFactory eqset_factory,
const panzer::BCStrategyFactory bc_factory,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  volume_cm_factory,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  bc_cm_factory,
const Teuchos::ParameterList &  closure_models,
const panzer::LinearObjFactory< panzer::Traits > &  lo_factory,
const Teuchos::ParameterList &  user_data,
bool  writeGraph,
const std::string &  graphPrefix,
bool  write_field_managers,
const std::string &  field_manager_prefix 
) const
protected

Builds the field manager builder used to register and evaluate the physics/BC/closure-model evaluators for buildObjects().

Definition at line 1297 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ initializeSolnWriterResponseLibrary()

template<typename ScalarT >
Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > panzer_stk::ModelEvaluatorFactory< ScalarT >::initializeSolnWriterResponseLibrary ( const Teuchos::RCP< panzer::WorksetContainer > &  wc,
const Teuchos::RCP< const panzer::GlobalIndexer > &  ugi,
const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &  lof,
const Teuchos::RCP< panzer_stk::STK_Interface > &  mesh 
) const
protected

Builds a response library configured to write the solution out to the STK mesh.

Definition at line 1533 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ finalizeSolnWriterResponseLibrary()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::finalizeSolnWriterResponseLibrary ( panzer::ResponseLibrary< panzer::Traits > &  rl,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const Teuchos::ParameterList &  closure_models,
int  workset_size,
Teuchos::ParameterList &  user_data 
) const
protected

Builds and registers the evaluators needed by a solution-writer response library built with initializeSolnWriterResponseLibrary().

Definition at line 1553 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

◆ registerMeshWithClosureModelFactories()

template<typename ScalarT >
void panzer_stk::ModelEvaluatorFactory< ScalarT >::registerMeshWithClosureModelFactories ( const Teuchos::RCP< panzer_stk::STK_Interface > &  mesh,
panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  user_cm_factory 
)
protected

Registers the given mesh with a closure model factory template manager, e.g. so its closure models can reference mesh-derived fields.

Definition at line 1594 of file Panzer_STK_ModelEvaluatorFactory_impl.hpp.

Member Data Documentation

◆ m_physics_me

template<typename ScalarT >
Teuchos::RCP<Thyra::ModelEvaluator<ScalarT> > panzer_stk::ModelEvaluatorFactory< ScalarT >::m_physics_me
private

Definition at line 319 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_rome_me

template<typename ScalarT >
Teuchos::RCP<Thyra::ModelEvaluator<ScalarT> > panzer_stk::ModelEvaluatorFactory< ScalarT >::m_rome_me
private

Definition at line 320 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_response_library

template<typename ScalarT >
Teuchos::RCP<panzer::ResponseLibrary<panzer::Traits> > panzer_stk::ModelEvaluatorFactory< ScalarT >::m_response_library
private

Definition at line 322 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_physics_blocks

template<typename ScalarT >
std::vector<Teuchos::RCP<panzer::PhysicsBlock> > panzer_stk::ModelEvaluatorFactory< ScalarT >::m_physics_blocks
private

Definition at line 323 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_mesh

template<typename ScalarT >
Teuchos::RCP<panzer_stk::STK_Interface> panzer_stk::ModelEvaluatorFactory< ScalarT >::m_mesh
private

Definition at line 325 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_global_indexer

template<typename ScalarT >
Teuchos::RCP<panzer::GlobalIndexer> panzer_stk::ModelEvaluatorFactory< ScalarT >::m_global_indexer
private

Definition at line 326 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_conn_manager

template<typename ScalarT >
Teuchos::RCP<panzer::ConnManager> panzer_stk::ModelEvaluatorFactory< ScalarT >::m_conn_manager
private

Definition at line 327 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_lin_obj_factory

template<typename ScalarT >
Teuchos::RCP<panzer::LinearObjFactory<panzer::Traits> > panzer_stk::ModelEvaluatorFactory< ScalarT >::m_lin_obj_factory
private

Definition at line 328 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_global_data

template<typename ScalarT >
Teuchos::RCP<panzer::GlobalData> panzer_stk::ModelEvaluatorFactory< ScalarT >::m_global_data
private

Definition at line 329 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ useDiscreteAdjoint

template<typename ScalarT >
bool panzer_stk::ModelEvaluatorFactory< ScalarT >::useDiscreteAdjoint
private

Definition at line 330 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_is_transient

template<typename ScalarT >
bool panzer_stk::ModelEvaluatorFactory< ScalarT >::m_is_transient
private

Definition at line 331 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_blockedAssembly

template<typename ScalarT >
bool panzer_stk::ModelEvaluatorFactory< ScalarT >::m_blockedAssembly
private

Definition at line 332 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_eqset_factory

template<typename ScalarT >
Teuchos::RCP<const panzer::EquationSetFactory> panzer_stk::ModelEvaluatorFactory< ScalarT >::m_eqset_factory
private

Definition at line 333 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_nox_observer_factory

template<typename ScalarT >
Teuchos::RCP<const panzer_stk::NOXObserverFactory> panzer_stk::ModelEvaluatorFactory< ScalarT >::m_nox_observer_factory
private

Definition at line 335 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_user_wkst_factory

template<typename ScalarT >
Teuchos::RCP<panzer_stk::WorksetFactory> panzer_stk::ModelEvaluatorFactory< ScalarT >::m_user_wkst_factory
private

Definition at line 339 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_wkstContainer

template<typename ScalarT >
Teuchos::RCP<panzer::WorksetContainer> panzer_stk::ModelEvaluatorFactory< ScalarT >::m_wkstContainer
private

Definition at line 340 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ useDynamicCoordinates_

template<typename ScalarT >
bool panzer_stk::ModelEvaluatorFactory< ScalarT >::useDynamicCoordinates_
private

Definition at line 342 of file Panzer_STK_ModelEvaluatorFactory.hpp.

◆ m_stratimikos_params

template<typename ScalarT >
Teuchos::RCP<Teuchos::ParameterList> panzer_stk::ModelEvaluatorFactory< ScalarT >::m_stratimikos_params
private

Definition at line 343 of file Panzer_STK_ModelEvaluatorFactory.hpp.


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