Thyra Version of the Day
|
A model evaluator decorator for computing an explicit adjoint. More...
#include <Thyra_TpetraExplicitAdjointModelEvaluator.hpp>
Public Member Functions | |
TpetraExplicitAdjointModelEvaluator (const RCP< const ModelEvaluator< Scalar > > &model) | |
Constructor. | |
TpetraExplicitAdjointModelEvaluator (const RCP< ModelEvaluator< Scalar > > &model) | |
Constructor. | |
virtual | ~TpetraExplicitAdjointModelEvaluator ()=default |
Destructor. | |
ModelEvaluatorBase::InArgs< Scalar > | createInArgs () const |
RCP< LinearOpBase< Scalar > > | create_W_op () const |
![]() | |
ModelEvaluatorDelegatorBase () | |
Constructs to uninitialized. | |
ModelEvaluatorDelegatorBase (const RCP< ModelEvaluator< Scalar > > &model) | |
Calls initialize() . | |
ModelEvaluatorDelegatorBase (const RCP< const ModelEvaluator< Scalar > > &model) | |
Calls initialize() . | |
void | initialize (const RCP< ModelEvaluator< Scalar > > &model) |
Initialize given a non-const model evaluator. | |
void | initialize (const RCP< const ModelEvaluator< Scalar > > &model) |
Initialize given a const model evaluator. | |
void | uninitialize () |
Uninitialize. | |
virtual bool | isUnderlyingModelConst () const |
virtual RCP< ModelEvaluator< Scalar > > | getNonconstUnderlyingModel () |
virtual RCP< const ModelEvaluator< Scalar > > | getUnderlyingModel () const |
RCP< const VectorSpaceBase< Scalar > > | get_x_space () const |
RCP< const VectorSpaceBase< Scalar > > | get_f_space () const |
RCP< const VectorSpaceBase< Scalar > > | get_f_multiplier_space () const |
RCP< const VectorSpaceBase< Scalar > > | get_p_space (int l) const |
RCP< const Teuchos::Array< std::string > > | get_p_names (int l) const |
RCP< const VectorSpaceBase< Scalar > > | get_g_space (int j) const |
RCP< const VectorSpaceBase< Scalar > > | get_g_multiplier_space (int j) const |
Teuchos::ArrayView< const std::string > | get_g_names (int j) const |
ModelEvaluatorBase::InArgs< Scalar > | getNominalValues () const |
ModelEvaluatorBase::InArgs< Scalar > | getLowerBounds () const |
ModelEvaluatorBase::InArgs< Scalar > | getUpperBounds () const |
RCP< LinearOpWithSolveBase< Scalar > > | create_W () const |
RCP< PreconditionerBase< Scalar > > | create_W_prec () const |
RCP< const LinearOpWithSolveFactoryBase< Scalar > > | get_W_factory () const |
void | reportFinalPoint (const ModelEvaluatorBase::InArgs< Scalar > &finalPoint, const bool wasSolved) |
![]() | |
int | Np () const |
int | Ng () const |
RCP< LinearOpBase< Scalar > > | create_DfDp_op (int l) const |
RCP< LinearOpBase< Scalar > > | create_DgDx_dot_op (int j) const |
RCP< LinearOpBase< Scalar > > | create_DgDx_op (int j) const |
RCP< LinearOpBase< Scalar > > | create_DgDp_op (int j, int l) const |
ModelEvaluatorBase::OutArgs< Scalar > | createOutArgs () const |
void | evalModel (const ModelEvaluatorBase::InArgs< Scalar > &inArgs, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const |
![]() | |
![]() | |
ModelEvaluatorBase () | |
constructor | |
Additional Inherited Members | |
![]() | |
typedef Teuchos::ScalarTraits< Scalar >::magnitudeType | ScalarMag |
![]() | |
enum | EInArgsMembers { IN_ARG_x_dot_dot , IN_ARG_x_dot , IN_ARG_x , IN_ARG_x_dot_poly , IN_ARG_x_poly , IN_ARG_x_dot_mp , IN_ARG_x_mp , IN_ARG_t , IN_ARG_alpha , IN_ARG_beta , IN_ARG_W_x_dot_dot_coeff , IN_ARG_step_size , IN_ARG_stage_number } |
. More... | |
enum | EInArgs_p_mp { IN_ARG_p_mp } |
. More... | |
enum | EEvalType { } |
The type of an evaluation. More... | |
enum | EDerivativeMultiVectorOrientation { DERIV_MV_JACOBIAN_FORM , DERIV_MV_GRADIENT_FORM , DERIV_MV_BY_COL = DERIV_MV_JACOBIAN_FORM , DERIV_TRANS_MV_BY_ROW = DERIV_MV_GRADIENT_FORM } |
enum | EDerivativeLinearOp { DERIV_LINEAR_OP } |
enum | EDerivativeLinearity { DERIV_LINEARITY_UNKNOWN , DERIV_LINEARITY_CONST , DERIV_LINEARITY_NONCONST } |
enum | ERankStatus { DERIV_RANK_UNKNOWN , DERIV_RANK_FULL , DERIV_RANK_DEFICIENT } |
enum | EOutArgsMembers { OUT_ARG_f , OUT_ARG_W , OUT_ARG_f_mp , OUT_ARG_W_mp , OUT_ARG_W_op , OUT_ARG_W_prec , OUT_ARG_f_poly } |
. More... | |
enum | EOutArgsDfDp { OUT_ARG_DfDp } |
enum | EOutArgsDgDx_dot { OUT_ARG_DgDx_dot } |
enum | EOutArgsDgDx { OUT_ARG_DgDx } |
enum | EOutArgsDgDp { OUT_ARG_DgDp } |
enum | EOutArgsDfDp_mp { OUT_ARG_DfDp_mp } |
enum | EOutArgs_g_mp { OUT_ARG_g_mp } |
enum | EOutArgsDgDx_dot_mp { OUT_ARG_DgDx_dot_mp } |
enum | EOutArgsDgDx_mp { OUT_ARG_DgDx_mp } |
enum | EOutArgsDgDp_mp { OUT_ARG_DgDp_mp } |
![]() | |
static const int | NUM_E_IN_ARGS_MEMBERS =13 |
. | |
static const int | NUM_E_OUT_ARGS_MEMBERS =7 |
. | |
![]() | |
void | setLocalVerbosityLevelValidatedParameter (ParameterList *paramList) const |
Set a valid parameter for reading the local verbosity level. | |
Teuchos::EVerbosityLevel | readLocalVerbosityLevelValidatedParameter (ParameterList ¶mList) const |
Read the local verbosity level parameter. | |
![]() | |
ModelEvaluatorDefaultBase () | |
void | initializeDefaultBase () |
Function called by subclasses to fully initialize this object on any important change. | |
void | resetDefaultBase () |
Sets the the DefaultBase to an uninitialized state, forcing lazy initialization when needed. | |
![]() | |
template<class Scalar > | |
RCP< ModelEvaluatorBase::InArgs< Scalar > > | clone (const ModelEvaluatorBase::InArgs< Scalar > &inArgs) |
Create a clone of an InArgs object. | |
template<class Scalar > | |
void | assertDerivSpaces (const std::string &modelEvalDescription, const ModelEvaluatorBase::Derivative< Scalar > &deriv, const std::string &deriv_name, const VectorSpaceBase< Scalar > &fnc_space, const std::string &fnc_space_name, const VectorSpaceBase< Scalar > &var_space, const std::string &var_space_name) |
Assert that that Thyra objects imbedded in a Derivative object matches its function and variable spaces. | |
template<class Scalar > | |
void | assertInArgsOutArgsSetup (const std::string &modelEvalDescription, const ModelEvaluatorBase::InArgs< Scalar > &inArgs, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs) |
Assert that an InArgs and OutArgs object are setup consistently. | |
template<class Scalar > | |
void | assertInArgsEvalObjects (const ModelEvaluator< Scalar > &model, const ModelEvaluatorBase::InArgs< Scalar > &inArgs) |
Assert that the objects in an InArgs object match a given model. | |
template<class Scalar > | |
void | assertOutArgsEvalObjects (const ModelEvaluator< Scalar > &model, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs, const ModelEvaluatorBase::InArgs< Scalar > *inArgs=0) |
Assert that the objects in an OutArgs object match a given model. | |
A model evaluator decorator for computing an explicit adjoint.
This ModelEvaluator only supports computing W_op and forms the adjoint by computing W_op from the underlying ModelEvaluator and then explicitly transposes it.
Since it derives from ModelEvaluatorDelegatorBase, it forwards all ModelEvaluator methods to the supplied underlying ModelEvaluator except those overloaded here.
Definition at line 62 of file Thyra_TpetraExplicitAdjointModelEvaluator.hpp.
|
inline |
Constructor.
Definition at line 67 of file Thyra_TpetraExplicitAdjointModelEvaluator.hpp.
|
inline |
Constructor.
Definition at line 72 of file Thyra_TpetraExplicitAdjointModelEvaluator.hpp.
|
virtualdefault |
Destructor.
|
inlinevirtual |
Reimplemented from Thyra::ModelEvaluatorDelegatorBase< Scalar >.
Definition at line 79 of file Thyra_TpetraExplicitAdjointModelEvaluator.hpp.
|
inlinevirtual |
Reimplemented from Thyra::ModelEvaluatorDelegatorBase< Scalar >.
Definition at line 92 of file Thyra_TpetraExplicitAdjointModelEvaluator.hpp.