Panzer
Version of the Day
|
#include <Panzer_ResponseEvaluatorFactoryBase.hpp>
Public Member Functions | |
ResponseEvaluatorFactoryBase () | |
virtual | ~ResponseEvaluatorFactoryBase () |
virtual Teuchos::RCP < ResponseBase > | buildResponseObject (const std::string &responseName, const std::vector< WorksetDescriptor > &wkstdescs) const =0 |
virtual void | buildAndRegisterEvaluators (const std::string &responseName, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &physicsBlock, const Teuchos::ParameterList &user_data) const =0 |
virtual bool | typeSupported () const =0 |
Public Member Functions inherited from panzer::EvaluatorsRegistrar | |
int | setDetailsIndex (const int details_index) |
int | getDetailsIndex () const |
Get the WorksetDetails index. 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 |
This pure virtual class defines the methods to be used to construct a response using field managers. It is assumed that multiple field managers can be populated with this response, thus the object itself should remain stateless.
(Later, EvaluatorsRegistrar was added to manage the workset details index. It is stateful, but its default state behaves as if the Registrar is not present.)
Definition at line 76 of file Panzer_ResponseEvaluatorFactoryBase.hpp.
|
inline |
Definition at line 79 of file Panzer_ResponseEvaluatorFactoryBase.hpp.
|
inlinevirtual |
Definition at line 81 of file Panzer_ResponseEvaluatorFactoryBase.hpp.
|
pure virtual |
Build the response object used by this factory. This object assumes the role of the scatter target and will be accessible by all the evaluators in the field managers. This is the sideset version of the buildResponseObject function.
[in] | responseName | Name of response to be built. This name will be used for looking up the response in the GlobalEvaluationDataContainer object. |
[in] | wkstdescs | A vector of descriptors for the elements this response is over. |
Implemented in panzer::ResponseEvaluatorFactory_ExtremeValue< EvalT, LO, GO >, panzer::ResponseEvaluatorFactory_Probe< EvalT, LO, GO >, panzer::ResponseEvaluatorFactory_Functional< EvalT, LO, GO >, panzer::ResponseEvaluatorFactory< EvalT >, panzer::ResponseEvaluatorFactory_IPCoordinates< EvalT >, and panzer_stk::ResponseEvaluatorFactory_SolutionWriter< EvalT >.
|
pure virtual |
Build and register evaluators for a response on a particular physics block.
[in] | responseName | The name of the response to be constructed by these evaluators. |
[in,out] | fm | Field manager to be fuild with the evaluators. |
[in] | physicsBlock | What physics block is being used for constructing the evaluators |
[in] | user_data | The user data parameter list, this stores things that the user may find useful. |
Implemented in panzer::ResponseEvaluatorFactory_ExtremeValue< EvalT, LO, GO >, panzer::ResponseEvaluatorFactory_Probe< EvalT, LO, GO >, panzer::ResponseEvaluatorFactory_Functional< EvalT, LO, GO >, panzer::ResponseEvaluatorFactory< EvalT >, panzer::ResponseEvaluatorFactory_IPCoordinates< EvalT >, and panzer_stk::ResponseEvaluatorFactory_SolutionWriter< EvalT >.
|
pure virtual |
Is this evaluation type supported by the factory. This is used to determine cases where a response may support a particular evaluation type, however at runtime the user decides not to enable the (say) Jacobian evaluation of this response.
Note that use of this mechanism is complementary to having the builder return Teuchos::null
for a particular evaluation type.
ResponseEvaluatorFactory<EvalT>
the type is the EvalT
. Inclusion of this method here simply makes dynamic access to this method possible with out a cast. In the end it cleans up the code. Implemented in panzer::ResponseEvaluatorFactory_ExtremeValue< EvalT, LO, GO >, panzer::ResponseEvaluatorFactory_Probe< EvalT, LO, GO >, panzer::ResponseEvaluatorFactory_Functional< EvalT, LO, GO >, panzer::ResponseEvaluatorFactory< EvalT >, panzer::ResponseEvaluatorFactory_IPCoordinates< EvalT >, panzer::ResponseEvaluatorFactory_IPCoordinates< EvalT >, and panzer_stk::ResponseEvaluatorFactory_SolutionWriter< EvalT >.