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... | |
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... | |
virtual void | setInArgs (Thyra::ModelEvaluatorBase::InArgs< Scalar > inArgs) |
Set InArgs the wrapper ModelEvalutor. More... | |
virtual Thyra::ModelEvaluatorBase::InArgs < Scalar > | getInArgs () |
Get InArgs the wrapper ModelEvalutor. More... | |
virtual void | setOutArgs (Thyra::ModelEvaluatorBase::OutArgs< Scalar > outArgs) |
Set OutArgs the wrapper ModelEvalutor. More... | |
virtual Thyra::ModelEvaluatorBase::OutArgs < Scalar > | getOutArgs () |
Get OutArgs the wrapper ModelEvalutor. More... | |
virtual void | setForSolve (Teuchos::RCP< TimeDerivative< Scalar > > timeDer, Thyra::ModelEvaluatorBase::InArgs< Scalar > inArgs, Thyra::ModelEvaluatorBase::OutArgs< Scalar > outArgs, EVALUATION_TYPE=SOLVE_FOR_X) |
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 |
Vector Methods. | |
Overridden from Thyra::StateFuncModelEvaluatorBase | |
Vector Methods. |
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< TimeDerivative < Scalar > > | timeDer_ |
Thyra::ModelEvaluatorBase::InArgs < Scalar > | wrapperImplicitInArgs_ |
Thyra::ModelEvaluatorBase::OutArgs < Scalar > | wrapperImplicitOutArgs_ |
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 38 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inline |
Constructor.
Definition at line 44 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 55 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlineprotected |
Default constructor – only allowed for derived classes.
Definition at line 147 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 126 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 108 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 120 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 130 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 133 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
virtual |
Get the g space.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 82 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Get the p space.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 90 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 130 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
virtual |
Get the x-solution space.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 74 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Get the underlying application ModelEvaluator.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 62 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 119 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 121 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Get InArgs the wrapper ModelEvalutor.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 72 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 98 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
inlinevirtual |
Get OutArgs the wrapper ModelEvalutor.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 80 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
virtual |
Initialize after setting member data.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 21 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
virtual |
Set the underlying application ModelEvaluator.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 50 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_impl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 112 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Set parameters for application implicit ModelEvaluator solve.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 84 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 115 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Set InArgs the wrapper ModelEvalutor.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 68 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlinevirtual |
Set OutArgs the wrapper ModelEvalutor.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 76 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
inlineprotected |
Setup ME when using default constructor – for derived classes.
Definition at line 150 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 161 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 162 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 164 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 165 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.
|
protected |
Definition at line 166 of file Tempus_WrapperModelEvaluatorPairIMEX_Basic_decl.hpp.