|
Panzer Version of the Day
|
#include <Panzer_ModelEvaluator.hpp>
Inherits Thyra::StateFuncModelEvaluatorBase< Scalar >.
Classes | |
| struct | ParameterObject |
| struct | ResponseObject |
Private functions overridden from ModelEvaulatorDefaultBase. | |
| double | t_init_ |
| Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | x_space_ |
| Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | f_space_ |
| Thyra::ModelEvaluatorBase::InArgs< Scalar > | prototypeInArgs_ |
| Thyra::ModelEvaluatorBase::OutArgs< Scalar > | prototypeOutArgs_ |
| Thyra::ModelEvaluatorBase::InArgs< Scalar > | nominalValues_ |
| panzer::AssemblyEngine_TemplateManager< panzer::Traits > | ae_tm_ |
| std::vector< Teuchos::RCP< ParameterObject > > | parameters_ |
| std::vector< Teuchos::RCP< Thyra::VectorSpaceBase< double > > > | tangent_space_ |
| int | num_me_parameters_ |
| bool | do_fd_dfdp_ |
| double | fd_perturb_size_ |
| bool | require_in_args_refresh_ |
| bool | require_out_args_refresh_ |
| Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > | responseLibrary_ |
| std::vector< Teuchos::RCP< ResponseObject > > | responses_ |
| Teuchos::RCP< panzer::GlobalData > | global_data_ |
| bool | build_transient_support_ |
| Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > | lof_ |
| Teuchos::RCP< panzer::LinearObjContainer > | ghostedContainer_ |
| Teuchos::RCP< ReadOnlyVector_GlobalEvaluationData > | xContainer_ |
| Teuchos::RCP< ReadOnlyVector_GlobalEvaluationData > | xdotContainer_ |
| Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > | solverFactory_ |
| GlobalEvaluationDataContainer | nonParamGlobalEvaluationData_ |
| GlobalEvaluationDataContainer | distrParamGlobalEvaluationData_ |
| bool | oneTimeDirichletBeta_on_ |
| Scalar | oneTimeDirichletBeta_ |
| bool | build_volume_field_managers_ |
| bool | build_bc_field_managers_ |
| std::vector< bool > | active_evaluation_types_ |
| unsigned long long | write_matrix_count_ |
| Thyra::ModelEvaluatorBase::OutArgs< Scalar > | createOutArgsImpl () const override |
| virtual void | evalModelImpl (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const override |
| virtual void | evalModelImpl_basic (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| Evaluate a simple model, meaning a residual and a jacobian, no fancy stochastic galerkin or multipoint. | |
| virtual void | evalModelImpl_basic_g (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| Construct a simple response dicatated by this set of out args. | |
| virtual void | evalModelImpl_basic_dgdx (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| virtual void | evalModelImpl_basic_dgdp_scalar (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| virtual void | evalModelImpl_basic_dgdp_distro (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| virtual void | evalModelImpl_basic_dfdp_scalar (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| virtual void | evalModelImpl_basic_dfdp_scalar_fd (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| virtual void | evalModelImpl_basic_dfdp_distro (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| bool | required_basic_g (const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| Does this set of out args require a simple response? | |
| bool | required_basic_dgdx (const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| Are their required responses in the out args? DgDx. | |
| bool | required_basic_dgdp_scalar (const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| Are their required responses in the out args? DgDp. | |
| bool | required_basic_dgdp_distro (const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| Are their required responses in the out args? DgDp. | |
| bool | required_basic_dfdp_scalar (const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| Are derivatives of the residual with respect to the scalar parameters in the out args? DfDp. | |
| bool | required_basic_dfdp_distro (const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
| Are derivatives of the residual with respect to the distributed parameters in the out args? DfDp. | |
| void | initializeNominalValues () const |
| Initialize the nominal values with good starting conditions. | |
| void | setParameters (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs) const |
| void | resetParameters () const |
| Teuchos::RCP< ParameterObject > | createScalarParameter (const Teuchos::Array< std::string > &names, const Teuchos::Array< Scalar > &in_values) const |
| Teuchos::RCP< ParameterObject > | createDistributedParameter (const std::string &key, const Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > &vs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &initial, const Teuchos::RCP< const GlobalIndexer > &ugi) const |
Constructors/Initializers/Accessors | |
| ModelEvaluator (const Teuchos::RCP< panzer::FieldManagerBuilder > &fmb, const Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > &rLibrary, const Teuchos::RCP< const 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< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > &solverFactory, const Teuchos::RCP< panzer::GlobalData > &global_data, bool build_transient_support, double t_init) | |
| ModelEvaluator (const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof, const Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > &solverFactory, const Teuchos::RCP< panzer::GlobalData > &global_data, bool build_transient_support, double t_init) | |
| ModelEvaluator () | |
Public functions overridden from ModelEvaulator. | |
| Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_x_space () const override |
| Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_f_space () const override |
| Teuchos::RCP< const Teuchos::Array< std::string > > | get_p_names (int i) const override |
| Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_p_space (int i) const override |
| Teuchos::ArrayView< const std::string > | get_g_names (int i) const override |
| const std::string & | get_g_name (int i) const |
| Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_g_space (int i) const override |
| Teuchos::RCP< Thyra::LinearOpBase< Scalar > > | create_W_op () const override |
| Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > | get_W_factory () const override |
| Teuchos::RCP< Thyra::LinearOpBase< Scalar > > | create_DfDp_op (int i) const override |
| Thyra::ModelEvaluatorBase::InArgs< Scalar > | createInArgs () const override |
| Thyra::ModelEvaluatorBase::InArgs< Scalar > | getNominalValues () const override |
| template<typename EvalT > | |
| void | disableEvaluationType () |
| void | buildVolumeFieldManagers (const bool value) |
| void | buildBCFieldManagers (const bool value) |
| void | setupModel (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 Teuchos::ParameterList &user_data, bool writeGraph=false, const std::string &graphPrefix="", const Teuchos::ParameterList &me_params=Teuchos::ParameterList()) |
| int | addParameter (const std::string &name, const Scalar &initial) |
| int | addParameter (const Teuchos::Array< std::string > &names, const Teuchos::Array< Scalar > &initialValues) |
| int | addDistributedParameter (const std::string &name, const Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > &vs, const Teuchos::RCP< GlobalEvaluationData > &ged, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &initial, const Teuchos::RCP< const GlobalIndexer > &ugi=Teuchos::null) |
| void | addNonParameterGlobalEvaluationData (const std::string &name, const Teuchos::RCP< GlobalEvaluationData > &ged) |
| int | addFlexibleResponse (const std::string &responseName, const std::vector< WorksetDescriptor > &wkst_desc, const Teuchos::RCP< ResponseMESupportBuilderBase > &builder) |
| template<typename ResponseEvaluatorFactory_BuilderT > | |
| int | addResponse (const std::string &responseName, const std::vector< WorksetDescriptor > &wkst_desc, const ResponseEvaluatorFactory_BuilderT &builder) |
| void | buildResponses (const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::EquationSetFactory &eqset_factory, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &closure_models, const Teuchos::ParameterList &user_data, const bool write_graphviz_file=false, const std::string &graphviz_file_prefix="") |
| void | buildResponses (const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &closure_models, const Teuchos::ParameterList &user_data, const bool write_graphviz_file=false, const std::string &graphviz_file_prefix="") |
| void | buildDistroParamDfDp_RL (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 > &cm_factory, const Teuchos::ParameterList &closure_models, const Teuchos::ParameterList &user_data, const bool write_graphviz_file=false, const std::string &graphviz_file_prefix="") |
| void | buildDistroParamDgDp_RL (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 > &cm_factory, const Teuchos::ParameterList &closure_models, const Teuchos::ParameterList &user_data, const bool write_graphviz_file=false, const std::string &graphviz_file_prefix="") |
| void | setOneTimeDirichletBeta (const Scalar &beta) const |
| void | applyDirichletBCs (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &f) const |
| void | setupAssemblyInArgs (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, panzer::AssemblyEngineInArgs &ae_inargs) const |
| panzer::AssemblyEngine_TemplateManager< panzer::Traits > | getAssemblyEngineTemplateManager () const |
| return a copy of the model evaluators template manager, this is shallow class so pass by value | |
| Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > | getResponseLibrary () const |
| int | getXTangentVectorIndex (const int index) const |
| int | getXDotTangentVectorIndex (const int index) const |
| Teuchos::RCP< const Thyra::VectorBase< Scalar > > | get_parameter_vector (int index) const |
| void | evalModel_D2gDx2 (int rIndex, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &delta_x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &D2gDx2) const |
| void | evalModel_D2gDp2 (int rIndex, int pIndex, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &delta_x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &D2gDp2) const |
| void | evalModel_D2gDpDx (int rIndex, int pIndex, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &delta_x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &D2gDpDx) const |
| void | evalModel_D2gDxDp (int rIndex, int pIndex, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &delta_p, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &D2gDxDp) const |
| void | evalModel_D2fDx2 (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &delta_x, const Teuchos::RCP< Thyra::LinearOpBase< Scalar > > &D2fDx2) const |
| void | evalModel_D2fDp2 (int pIndex, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &delta_x, const Teuchos::RCP< Thyra::LinearOpBase< Scalar > > &D2fDp2) const |
| void | evalModel_D2fDpDx (int pIndex, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &delta_x, const Teuchos::RCP< Thyra::LinearOpBase< Scalar > > &D2fDpDx) const |
| void | evalModel_D2fDxDp (int pIndex, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &delta_p, const Teuchos::RCP< Thyra::LinearOpBase< Scalar > > &D2fDxDp) const |
Definition at line 41 of file Panzer_ModelEvaluator.hpp.
| panzer::ModelEvaluator< Scalar >::ModelEvaluator | ( | const Teuchos::RCP< panzer::FieldManagerBuilder > & | fmb, |
| const Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > & | rLibrary, | ||
| const Teuchos::RCP< const 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< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > & | solverFactory, | ||
| const Teuchos::RCP< panzer::GlobalData > & | global_data, | ||
| bool | build_transient_support, | ||
| double | t_init | ||
| ) |
Definition at line 53 of file Panzer_ModelEvaluator_impl.hpp.
| panzer::ModelEvaluator< Scalar >::ModelEvaluator | ( | const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > & | lof, |
| const Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > & | solverFactory, | ||
| const Teuchos::RCP< panzer::GlobalData > & | global_data, | ||
| bool | build_transient_support, | ||
| double | t_init | ||
| ) |
Definition at line 115 of file Panzer_ModelEvaluator_impl.hpp.
| panzer::ModelEvaluator< Scalar >::ModelEvaluator | ( | ) |
Definition at line 161 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 171 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 179 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 186 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 215 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 232 of file Panzer_ModelEvaluator_impl.hpp.
| const std::string & panzer::ModelEvaluator< Scalar >::get_g_name | ( | int | i | ) | const |
Definition at line 242 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 252 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 698 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 710 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 718 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 262 of file Panzer_ModelEvaluator_impl.hpp.
|
override |
Definition at line 269 of file Panzer_ModelEvaluator_impl.hpp.
|
inline |
Disable an evaluation type from AssemblyEngine_TemplateManager, FieldManagerBuilder and PhysicsBlock objects. This will prevent the allocation of unused resources.
Definition at line 115 of file Panzer_ModelEvaluator.hpp.
| void panzer::ModelEvaluator< Scalar >::buildVolumeFieldManagers | ( | const bool | value | ) |
If set to false, disables building volume field managers to save memory if not needed. Must be called BEFORE setupModel() is called. Defaults to true.
Definition at line 362 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::buildBCFieldManagers | ( | const bool | value | ) |
If set to false, disables building bc field managers to save memory if not needed. Must be called BEFORE setupModel() is called. Defaults to true.
Definition at line 369 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::setupModel | ( | 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 Teuchos::ParameterList & | user_data, | ||
| bool | writeGraph = false, |
||
| const std::string & | graphPrefix = "", |
||
| const Teuchos::ParameterList & | me_params = Teuchos::ParameterList() |
||
| ) |
Definition at line 376 of file Panzer_ModelEvaluator_impl.hpp.
| int panzer::ModelEvaluator< Scalar >::addParameter | ( | const std::string & | name, |
| const Scalar & | initial | ||
| ) |
Add a simple (i.e. nondistributed) parameter to the model evaluator.
Note that these parameters will automatically use the parameter library passed into the model evaluator object through the GlobalData.
| [in] | name | Name of the parameter |
| [in] | initial | Initial (default) condition for this parameter |
addParameter Definition at line 769 of file Panzer_ModelEvaluator_impl.hpp.
| int panzer::ModelEvaluator< Scalar >::addParameter | ( | const Teuchos::Array< std::string > & | names, |
| const Teuchos::Array< Scalar > & | initialValues | ||
| ) |
Add a simple (i.e. nondistributed) parameter to the model evaluator.
Note that these parameters will automatically use the parameter library passed into the model evaluator object through the GlobalData.
| [in] | names | Names of the parameter |
| [in] | initialValues | Initial values for the parameters |
Definition at line 782 of file Panzer_ModelEvaluator_impl.hpp.
| int panzer::ModelEvaluator< Scalar >::addDistributedParameter | ( | const std::string & | name, |
| const Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > & | vs, | ||
| const Teuchos::RCP< GlobalEvaluationData > & | ged, | ||
| const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & | initial, | ||
| const Teuchos::RCP< const GlobalIndexer > & | ugi = Teuchos::null |
||
| ) |
Add a distributed parameter to the model evaluator
Distributed parameters are special in that they most likely will require a global to ghost call before being used in the evaluator. This function registers the parameter and any needed machinery to perform the global to ghost call.
| [in] | name | Name of the distributed parameter |
| [in] | vs | Vector space that this corresponds to |
| [in] | ged | Global evaluation data object that handles ghosting |
| [in] | initial | Initial value to use for this parameter (defaults in the equation set) |
| [in] | ugi | Unique global indexer used for this parameter. Useful in constructing derivatives. |
Definition at line 818 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::addNonParameterGlobalEvaluationData | ( | const std::string & | name, |
| const Teuchos::RCP< GlobalEvaluationData > & | ged | ||
| ) |
Add a global evaluation data object that will be filled as a side effect when evalModel is called. This is useful for building things like auxiliary operators used in block preconditioning. This will not be used as a parameter (or response) to the model evaluator.
| [in] | name | Name to associate with global evaluation data object |
| [in] | ged | Pointer to a global evaluation data object |
Definition at line 839 of file Panzer_ModelEvaluator_impl.hpp.
| int panzer::ModelEvaluator< Scalar >::addFlexibleResponse | ( | const std::string & | responseName, |
| const std::vector< WorksetDescriptor > & | wkst_desc, | ||
| const Teuchos::RCP< ResponseMESupportBuilderBase > & | builder | ||
| ) |
Add a response specified by a list of WorksetDescriptor objects. The specifics of the response are specified by the response factory builder. This version supports computing derivatives with respect to both the state ('x') and control ('p') variables and is thus `‘flexible’'.
NOTE: Response factories must use a response of type ResponseMESupportBase. This is how the model evaluator parses and puts responses in the right location. If this condition is violated the evalModel call will fail. Furthermore, this method cannot be called after buildRespones has been called.
| [in] | responseName | Name of the response to be added. |
| [in] | wkst_desc | A vector of descriptors describing the types of elements that make up the response. |
| [in] | builder | Builder that builds the correct response object. |
Definition at line 847 of file Panzer_ModelEvaluator_impl.hpp.
| int panzer::ModelEvaluator< Scalar >::addResponse | ( | const std::string & | responseName, |
| const std::vector< WorksetDescriptor > & | wkst_desc, | ||
| const ResponseEvaluatorFactory_BuilderT & | builder | ||
| ) |
Add a response specified by a list of WorksetDescriptor objects. The specifics of the response are specified by the response factory builder.
NOTE: Response factories must use a response of type ResponseMESupportBase. This is how the model evaluator parses and puts responses in the right location. If this condition is violated the evalModel call will fail. Furthermore, this method cannot be called after buildRespones has been called.
| [in] | responseName | Name of the response to be added. |
| [in] | wkst_desc | A vector of descriptors describing the types of elements that make up the response. |
| [in] | builder | Builder that builds the correct response object. |
Definition at line 687 of file Panzer_ModelEvaluator.hpp.
|
inline |
Build all the responses set on the model evaluator. Once this method is called no other responses can be added. An exception is thrown if they are.
Definition at line 248 of file Panzer_ModelEvaluator.hpp.
|
inline |
Build all the responses set on the model evaluator. Once this method is called no other responses can be added. An exception is thrown if they are.
Definition at line 272 of file Panzer_ModelEvaluator.hpp.
| void panzer::ModelEvaluator< Scalar >::buildDistroParamDfDp_RL | ( | 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 > & | cm_factory, | ||
| const Teuchos::ParameterList & | closure_models, | ||
| const Teuchos::ParameterList & | user_data, | ||
| const bool | write_graphviz_file = false, |
||
| const std::string & | graphviz_file_prefix = "" |
||
| ) |
This method builds the response libraries that build the dfdp sensitivities for the distributed parameters if requested. Note that in general the user is expected to call this through setupModel and not call it directly.
Definition at line 2291 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::buildDistroParamDgDp_RL | ( | 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 > & | cm_factory, | ||
| const Teuchos::ParameterList & | closure_models, | ||
| const Teuchos::ParameterList & | user_data, | ||
| const bool | write_graphviz_file = false, |
||
| const std::string & | graphviz_file_prefix = "" |
||
| ) |
This method builds the response libraries that build the dgdp sensitivities for the distributed parameters if requested. This only applies to "flexible" responses. Note that in general the user is expected to call this through setupModel and not call it directly.
Definition at line 2342 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::setOneTimeDirichletBeta | ( | const Scalar & | beta | ) | const |
This function is intended for experts only, it allows for a beta to be set for the dirichlet conditions only. This allows the dirichlet condition to be propagated to the mass matrix. The reason it is one time only is that it breaks encapsulation, and should be only used if absolutely neccessary.
| [in] | beta | Value of beta to use. |
Definition at line 2410 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::applyDirichletBCs | ( | const Teuchos::RCP< Thyra::VectorBase< Scalar > > & | x, |
| const Teuchos::RCP< Thyra::VectorBase< Scalar > > & | f | ||
| ) | const |
Apply the dirichlet boundary conditions to the vector "f" using the "x" values as the current solution.
Definition at line 865 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::setupAssemblyInArgs | ( | const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | inArgs, |
| panzer::AssemblyEngineInArgs & | ae_inargs | ||
| ) | const |
Setup all the assembly input arguments required by "inArgs".
| [in] | inArgs | Model evalutor input arguments |
| [in/out] | ae_inArgs Assembly engine input arguments. |
Definition at line 453 of file Panzer_ModelEvaluator_impl.hpp.
|
inline |
return a copy of the model evaluators template manager, this is shallow class so pass by value
Definition at line 355 of file Panzer_ModelEvaluator.hpp.
|
inline |
Definition at line 359 of file Panzer_ModelEvaluator.hpp.
|
inline |
Returns the x tangent vector index for a given parameter index
Definition at line 364 of file Panzer_ModelEvaluator.hpp.
|
inline |
Returns the xdot tangent vector index for a given parameter index
Definition at line 375 of file Panzer_ModelEvaluator.hpp.
|
inline |
Initializes the given vector with current values of the parameters
Definition at line 386 of file Panzer_ModelEvaluator.hpp.
| void panzer::ModelEvaluator< Scalar >::evalModel_D2gDx2 | ( | int | rIndex, |
| const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | inArgs, | ||
| const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & | delta_x, | ||
| const Teuchos::RCP< Thyra::VectorBase< Scalar > > & | D2gDx2 | ||
| ) | const |
Compute second (x) derivative of the response in the direction delta_x.
| [in] | rIndex | Response to differentiate |
| [in] | inArgs | Input arguments that sets the state |
| [in] | delta_x | Direction to take the derivative with respect to. |
| [out] | D2gDx2 | Result vector allocated by get_x_space(). |
Definition at line 938 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::evalModel_D2gDp2 | ( | int | rIndex, |
| int | pIndex, | ||
| const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | inArgs, | ||
| const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & | delta_x, | ||
| const Teuchos::RCP< Thyra::VectorBase< Scalar > > & | D2gDp2 | ||
| ) | const |
Compute second (p) derivative of the response in the direction delta_p.
| [in] | rIndex | Response to differentiate |
| [in] | pIndex | Parameter to differentiate with respect to |
| [in] | inArgs | Input arguments that sets the state |
| [in] | delta_p | Direction to take the derivative with respect to. |
| [out] | D2gDp2 | Result vector allocated by get_p_space(pIndex). |
Definition at line 1035 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::evalModel_D2gDpDx | ( | int | rIndex, |
| int | pIndex, | ||
| const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | inArgs, | ||
| const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & | delta_x, | ||
| const Teuchos::RCP< Thyra::VectorBase< Scalar > > & | D2gDpDx | ||
| ) | const |
Compute second (p) derivative of the response in the direction delta_x.
| [in] | rIndex | Response to differentiate |
| [in] | pIndex | Parameter to differentiate with respect to |
| [in] | inArgs | Input arguments that sets the state |
| [in] | delta_x | Direction to take the derivative with respect to. |
| [out] | D2gDpDx | Result vector allocated by get_x_space(). |
Definition at line 1089 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::evalModel_D2gDxDp | ( | int | rIndex, |
| int | pIndex, | ||
| const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | inArgs, | ||
| const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & | delta_p, | ||
| const Teuchos::RCP< Thyra::VectorBase< Scalar > > & | D2gDxDp | ||
| ) | const |
Compute second (p) derivative of the response in the direction delta_x.
| [in] | rIndex | Response to differentiate |
| [in] | pIndex | Parameter to differentiate with respect to |
| [in] | inArgs | Input arguments that sets the state |
| [in] | delta_p | Direction to take the derivative with respect to. |
| [out] | D2gDxDp | Result vector allocated by get_x_space(). |
Definition at line 985 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::evalModel_D2fDx2 | ( | const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | inArgs, |
| const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & | delta_x, | ||
| const Teuchos::RCP< Thyra::LinearOpBase< Scalar > > & | D2fDx2 | ||
| ) | const |
Compute second (x) derivative of the residual in the direction delta_x.
| [in] | rIndex | Response to differentiate |
| [in] | inArgs | Input arguments that sets the state |
| [in] | delta_x | Direction to take the derivative with respect to. |
| [out] | D2fDx2 | Result vector allocated by get_x_space(). |
Definition at line 1143 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::evalModel_D2fDp2 | ( | int | pIndex, |
| const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | inArgs, | ||
| const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & | delta_x, | ||
| const Teuchos::RCP< Thyra::LinearOpBase< Scalar > > & | D2fDp2 | ||
| ) | const |
Compute second (p) derivative of the residual in the direction delta_p.
| [in] | rIndex | Response to differentiate |
| [in] | pIndex | Parameter to differentiate with respect to |
| [in] | inArgs | Input arguments that sets the state |
| [in] | delta_p | Direction to take the derivative with respect to. |
| [out] | D2fDp2 | Result vector allocated by get_p_space(pIndex). |
Definition at line 1394 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::evalModel_D2fDpDx | ( | int | pIndex, |
| const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | inArgs, | ||
| const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & | delta_x, | ||
| const Teuchos::RCP< Thyra::LinearOpBase< Scalar > > & | D2fDpDx | ||
| ) | const |
Compute second (p) derivative of the residual in the direction delta_x.
| [in] | rIndex | Response to differentiate |
| [in] | pIndex | Parameter to differentiate with respect to |
| [in] | inArgs | Input arguments that sets the state |
| [in] | delta_x | Direction to take the derivative with respect to. |
| [out] | D2fDpDx | Result vector allocated by get_x_space(). |
Definition at line 1343 of file Panzer_ModelEvaluator_impl.hpp.
| void panzer::ModelEvaluator< Scalar >::evalModel_D2fDxDp | ( | int | pIndex, |
| const Thyra::ModelEvaluatorBase::InArgs< Scalar > & | inArgs, | ||
| const Teuchos::RCP< const Thyra::VectorBase< Scalar > > & | delta_p, | ||
| const Teuchos::RCP< Thyra::LinearOpBase< Scalar > > & | D2fDxDp | ||
| ) | const |
Compute second (p) derivative of the residual in the direction delta_p.
| [in] | rIndex | Response to differentiate |
| [in] | pIndex | Parameter to differentiate with respect to |
| [in] | inArgs | Input arguments that sets the state |
| [in] | delta_p | Direction to take the derivative with respect to. |
| [out] | D2fDxDp | Result vector allocated by get_x_space(). |
Definition at line 1241 of file Panzer_ModelEvaluator_impl.hpp.
|
overrideprotected |
Definition at line 640 of file Panzer_ModelEvaluator_impl.hpp.
|
overrideprotectedvirtual |
Definition at line 1445 of file Panzer_ModelEvaluator_impl.hpp.
|
protectedvirtual |
Evaluate a simple model, meaning a residual and a jacobian, no fancy stochastic galerkin or multipoint.
Definition at line 1479 of file Panzer_ModelEvaluator_impl.hpp.
|
protectedvirtual |
Construct a simple response dicatated by this set of out args.
Definition at line 1646 of file Panzer_ModelEvaluator_impl.hpp.
|
protectedvirtual |
handles evaluation of responses dgdx
required_basic_dgdx(outArgs)==false. However, for efficiency this is not checked. Definition at line 1684 of file Panzer_ModelEvaluator_impl.hpp.
|
protectedvirtual |
handles evaluation of responses dgdp (scalar) defined as dg/dx * dx/dp + dg/dp
required_basic_dgdp_scalar(outArgs)==false. However, for efficiency this is not checked. Definition at line 1731 of file Panzer_ModelEvaluator_impl.hpp.
|
protectedvirtual |
handles evaluation of responses dgdp (distributed)
required_basic_dgdx_distro(outArgs)==false. However, for efficiency this is not checked. Definition at line 1820 of file Panzer_ModelEvaluator_impl.hpp.
|
protectedvirtual |
handles evaluation of dfdp (tangent) defined as df/dx * dx/dp + df/dp
required_basic_dfdp_scalar(outArgs)==false. However, for efficiency this is not checked. Definition at line 1880 of file Panzer_ModelEvaluator_impl.hpp.
|
protectedvirtual |
handles evaluation of dfdp (tangent) defined as df/dx * dx/dp + df/dp using finite-differences
required_basic_dfdp_scalar(outArgs)==false. However, for efficiency this is not checked. Definition at line 1997 of file Panzer_ModelEvaluator_impl.hpp.
|
protectedvirtual |
handles evaluation of dfdp
required_basic_dfdp_distro(outArgs)==false. However, for efficiency this is not checked. Definition at line 2101 of file Panzer_ModelEvaluator_impl.hpp.
|
protected |
Does this set of out args require a simple response?
Definition at line 2157 of file Panzer_ModelEvaluator_impl.hpp.
|
protected |
Are their required responses in the out args? DgDx.
Definition at line 2169 of file Panzer_ModelEvaluator_impl.hpp.
|
protected |
Are their required responses in the out args? DgDp.
Definition at line 2189 of file Panzer_ModelEvaluator_impl.hpp.
|
protected |
Are their required responses in the out args? DgDp.
Definition at line 2215 of file Panzer_ModelEvaluator_impl.hpp.
|
protected |
Are derivatives of the residual with respect to the scalar parameters in the out args? DfDp.
Definition at line 2241 of file Panzer_ModelEvaluator_impl.hpp.
|
protected |
Are derivatives of the residual with respect to the distributed parameters in the out args? DfDp.
Definition at line 2266 of file Panzer_ModelEvaluator_impl.hpp.
|
protected |
Initialize the nominal values with good starting conditions.
Definition at line 307 of file Panzer_ModelEvaluator_impl.hpp.
|
protected |
Definition at line 2493 of file Panzer_ModelEvaluator_impl.hpp.
|
protected |
Definition at line 2515 of file Panzer_ModelEvaluator_impl.hpp.
|
private |
Definition at line 2419 of file Panzer_ModelEvaluator_impl.hpp.
|
private |
Definition at line 2469 of file Panzer_ModelEvaluator_impl.hpp.
|
private |
Definition at line 634 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 636 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 637 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 639 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 640 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 642 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 644 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 646 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 647 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 648 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 649 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 650 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 652 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 653 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 656 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 657 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 659 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 660 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 663 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 664 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 665 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 666 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 669 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 671 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 672 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 674 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 675 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 677 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 678 of file Panzer_ModelEvaluator.hpp.
|
private |
Definition at line 679 of file Panzer_ModelEvaluator.hpp.
|
mutableprivate |
Definition at line 681 of file Panzer_ModelEvaluator.hpp.