Tempus
Version of the Day
Time Integration
|
ModelEvaluator pair for implicit and explicit (IMEX) evaulations. More...
#include <Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp>
Public Member Functions | |
WrapperModelEvaluatorPairIMEX_Basic (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &explicitModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &implicitModel) | |
Constructor. More... | |
virtual | ~WrapperModelEvaluatorPairIMEX_Basic () |
Destructor. More... | |
virtual void | initialize () |
Initialize after setting member data. More... | |
Public Member Functions inherited from Tempus::WrapperModelEvaluatorPairIMEX< Scalar > | |
Public Member Functions inherited from Tempus::WrapperModelEvaluator< Scalar > | |
Public Member Functions inherited from Thyra::StateFuncModelEvaluatorBase< Scalar > | |
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 |
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< LinearOpBase< Scalar > > | create_W_op () 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) |
Public Member Functions inherited from Thyra::ModelEvaluator< class > | |
virtual int | Np () const =0 |
virtual int | Ng () const =0 |
virtual RCP< const VectorSpaceBase< Scalar > > | get_f_multiplier_space () const =0 |
virtual RCP< const VectorSpaceBase< Scalar > > | get_g_multiplier_space (int j) const =0 |
virtual RCP < LinearOpWithSolveBase < Scalar > > | create_W () const =0 |
virtual RCP< LinearOpBase < Scalar > > | create_DfDp_op (int l) const =0 |
virtual RCP< LinearOpBase < Scalar > > | create_DgDx_dot_op (int j) const =0 |
virtual RCP< LinearOpBase < Scalar > > | create_DgDx_op (int j) const =0 |
virtual RCP< LinearOpBase < Scalar > > | create_DgDp_op (int j, int l) const =0 |
virtual ModelEvaluatorBase::OutArgs < Scalar > | createOutArgs () const =0 |
virtual void | evalModel (const ModelEvaluatorBase::InArgs< Scalar > &inArgs, const ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const =0 |
ModelEvaluatorBase () | |
std::string | toString (ModelEvaluatorBase::EInArgsMembers) |
std::string | toString (ModelEvaluatorBase::EOutArgsMembers) |
std::string | toString (ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation) |
ModelEvaluatorBase::EDerivativeMultiVectorOrientation | getOtherDerivativeMultiVectorOrientation (ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation) |
Public Member Functions inherited from Teuchos::Describable | |
virtual std::string | description () const |
virtual void | describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
virtual | ~Describable () |
LabeledObject () | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
virtual std::string | getObjectLabel () const |
DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Protected Member Functions | |
WrapperModelEvaluatorPairIMEX_Basic () | |
Default constructor – only allowed for derived classes. More... | |
void | setup (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &explicitModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &implicitModel) |
Setup ME when using default constructor – for derived classes. More... | |
Protected Attributes | |
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | explicitModel_ |
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | implicitModel_ |
Teuchos::RCP < Thyra::VectorBase< Scalar > > | x_ |
Teuchos::RCP < Thyra::VectorBase< Scalar > > | xDot_ |
Scalar | time_ |
Teuchos::RCP < ImplicitODEParameters < Scalar > > | p_ |
Teuchos::RCP < Thyra::VectorBase< Scalar > > | y_ |
int | index_ |
Teuchos::RCP< TimeDerivative < Scalar > > | timeDer_ |
Overridden from Tempus::WrapperModelEvaluatorPairIMEX | |
virtual void | setAppModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &me) |
Set the underlying application ModelEvaluator. More... | |
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | getAppModel () const |
Get the underlying application ModelEvaluator. More... | |
void | setForSolve (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xDot, const Scalar time, const Teuchos::RCP< ImplicitODEParameters< Scalar > > &p, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &y=Teuchos::null, const int index=-1) |
Set parameters for application implicit ModelEvaluator solve. More... | |
Methods that apply to both explicit and implicit terms. | |
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_x_space () const |
Get the x-solution space. More... | |
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_g_space (int i) const |
Get the g space. More... | |
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_p_space (int i) const |
Get the p space. More... | |
virtual void | setExplicitModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) |
virtual void | setImplicitModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) |
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | getExplicitModel () const |
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | getImplicitModel () const |
Overridden from Thyra::StateFuncModelEvaluatorBase | |
virtual Teuchos::RCP < Thyra::LinearOpBase< Scalar > > | create_W_op () const |
Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase < Scalar > > | get_W_factory () const |
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_f_space () const |
virtual Thyra::ModelEvaluatorBase::InArgs < Scalar > | getNominalValues () const |
virtual Thyra::ModelEvaluatorBase::InArgs < Scalar > | createInArgs () const |
virtual Thyra::ModelEvaluatorBase::OutArgs < Scalar > | createOutArgsImpl () const |
virtual void | evalModelImpl (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &in, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &out) const |
Additional Inherited Members | |
Public Types inherited from Thyra::ModelEvaluator< class > | |
enum | EInArgsMembers |
enum | EInArgs_p_mp |
enum | EEvalType |
enum | EDerivativeMultiVectorOrientation |
enum | EDerivativeLinearOp |
enum | EDerivativeLinearity |
enum | ERankStatus |
enum | EOutArgsMembers |
enum | EOutArgsDfDp |
enum | EOutArgsDgDx_dot |
enum | EOutArgsDgDx |
enum | EOutArgsDgDp |
enum | EOutArgsDfDp_mp |
enum | EOutArgs_g_mp |
enum | EOutArgsDgDx_dot_mp |
enum | EOutArgsDgDx_mp |
enum | EOutArgsDgDp_mp |
typedef Teuchos::ScalarTraits < Scalar >::magnitudeType | ScalarMag |
Static Public Attributes inherited from Thyra::ModelEvaluator< class > | |
static const int | NUM_E_IN_ARGS_MEMBERS |
static const int | NUM_E_OUT_ARGS_MEMBERS |
Static Public Attributes inherited from Teuchos::Describable | |
static const EVerbosityLevel | verbLevel_default |
ModelEvaluator pair for implicit and explicit (IMEX) evaulations.
This ModelEvaluator takes a state, x, and determines the explicit and implicit residuals. Additionally, it coordinates the explicit and implicit physics to ensure they are compatible, e.g., how to translate between implicit and explicit model in and out arguments, if needed.
All functions called on WrapperModelEvaluatorPairIMEX_Basic will call the same function on the implicit Model Evaluator. This was selected because the WrapperModelEvaluatorPairIMEX_Basic will be passed to the solvers which in turn make calls to solve the implicit ODE.
If the explicit version of the Model Evaluator functions are needed, one should directly call it through the explicit Model Evaluator, e.g., getExplicitModel()->get_x_space().
This was taken and modified from Drekar's IMEXModelPair class.
Definition at line 39 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inline |
Constructor.
Definition at line 43 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 54 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlineprotected |
Default constructor – only allowed for derived classes.
Definition at line 153 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
virtual |
Initialize after setting member data.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 19 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Set the underlying application ModelEvaluator.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 64 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Get the underlying application ModelEvaluator.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 76 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
inlinevirtual |
Set parameters for application implicit ModelEvaluator solve.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 67 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
virtual |
Get the x-solution space.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 88 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Get the g space.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 95 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Get the p space.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 102 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 101 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 106 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 111 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 116 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 125 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 131 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 136 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 109 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 118 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 141 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 150 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
inlineprotected |
Setup ME when using default constructor – for derived classes.
Definition at line 156 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 166 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 167 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 169 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 170 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 171 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 172 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 173 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 174 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 175 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.