Tempus
Version of the Day
Time Integration
|
ModelEvaluator pair for implicit and explicit (IMEX) evaulations. More...
#include <Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp>
Public Member Functions | |
WrapperModelEvaluatorPairPartIMEX_Basic () | |
WrapperModelEvaluatorPairPartIMEX_Basic (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &explicitModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &implicitModel, int numExplicitOnlyBlocks=0, int parameterIndex=-1) | |
Constructor. More... | |
virtual | ~WrapperModelEvaluatorPairPartIMEX_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 | |
void | setup (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &explicitModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &implicitModel, int numExplicitOnlyBlocks=0, int parameterIndex=-1) |
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_ |
int | numExplicitOnlyBlocks_ |
int | parameterIndex_ |
implicit parameter index for explicit-only vector More... | |
bool | useImplicitModel_ |
if true, use implicitModel_ else explicitModel_ 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 Thyra::ModelEvaluatorBase::InArgs < Scalar > | getInArgs () |
Get InArgs the wrapper ModelEvalutor. More... | |
virtual Thyra::ModelEvaluatorBase::OutArgs < Scalar > | getOutArgs () |
Get OutArgs the wrapper ModelEvalutor. 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 | setNumExplicitOnlyBlocks (int numExp) |
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 |
virtual int | getNumExplicitOnlyBlocks () const |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getIMEXVector (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &full) const |
Extract IMEX vector from a full solution vector. More... | |
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > | getIMEXVector (const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &full) const |
Extract IMEX vector for reading. More... | |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getExplicitOnlyVector (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &full) const |
Extract explicit-only vector from a full solution vector. More... | |
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > | getExplicitOnlyVector (const Teuchos::RCP< const Thyra::VectorBase< Scalar > > &full) const |
Extract explicit-only vector for reading. More... | |
virtual void | setParameterIndex (int parameterIndex=-1) |
Set the parameter index for explicit-only vector. More... | |
virtual int | getParameterIndex () const |
Get the parameter index for explicit-only vector. More... | |
virtual void | setUseImplicitModel (bool tf) |
virtual bool | getUseImplicitModel () 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.
All functions called on WrapperModelEvaluatorPairPartIMEX_Basic will call the same function on the implicit Model Evaluator. This was selected because the WrapperModelEvaluatorPairPartIMEX_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().
The one exception to this rule is for getNominalValues(), which is controlled by implicitNominalValues. During the Integrator initialization this->getNominalValues needs to return explicitModel_->getNominalValues() [implicitNominalValues=false is the default], but during the nonlinear solves this->getNominalValues needs to return implicitModel_->getNominalValues() [implicitNominalValues=true].
Definition at line 38 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >::WrapperModelEvaluatorPairPartIMEX_Basic | ( | ) |
Default constructor – Still requires setting the models and running initialize.
Definition at line 20 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
Tempus::WrapperModelEvaluatorPairPartIMEX_Basic< Scalar >::WrapperModelEvaluatorPairPartIMEX_Basic | ( | const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | explicitModel, |
const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | implicitModel, | ||
int | numExplicitOnlyBlocks = 0 , |
||
int | parameterIndex = -1 |
||
) |
Constructor.
Definition at line 30 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 52 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
virtual |
Initialize after setting member data.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Reimplemented in Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >, and Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >.
Definition at line 62 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Set the underlying application ModelEvaluator.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 108 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Get the underlying application ModelEvaluator.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 121 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
inlinevirtual |
Get InArgs the wrapper ModelEvalutor.
Definition at line 65 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
inlinevirtual |
Get OutArgs the wrapper ModelEvalutor.
Definition at line 71 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
inlinevirtual |
Set parameters for application implicit ModelEvaluator solve.
Implements Tempus::WrapperModelEvaluator< Scalar >.
Definition at line 77 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
virtual |
Get the x-solution space.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 133 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Get the g space.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 142 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Get the p space.
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Reimplemented in Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >, and Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >.
Definition at line 151 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
inlinevirtual |
Definition at line 124 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 128 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 159 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 135 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 140 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
inlinevirtual |
Definition at line 145 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
virtual |
Extract IMEX vector from a full solution vector.
Reimplemented in Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >, and Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >.
Definition at line 167 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Extract IMEX vector for reading.
Reimplemented in Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >, and Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >.
Definition at line 205 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Extract explicit-only vector from a full solution vector.
Reimplemented in Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >, and Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >.
Definition at line 245 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Extract explicit-only vector for reading.
Reimplemented in Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >, and Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >.
Definition at line 279 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Set the parameter index for explicit-only vector.
Definition at line 312 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
inlinevirtual |
Get the parameter index for explicit-only vector.
Definition at line 169 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
inlinevirtual |
Set parameter to switch wrapperME base functions between explicit and implicit functions.
Definition at line 173 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
inlinevirtual |
Get parameter to switch wrapperME base functions between explicit and implicit functions.
Definition at line 176 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 181 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
inlinevirtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 187 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 360 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 369 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Reimplemented in Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >, and Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >.
Definition at line 378 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Definition at line 399 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
virtual |
Implements Tempus::WrapperModelEvaluatorPairIMEX< Scalar >.
Reimplemented in Tempus::WrapperModelEvaluatorPairPartIMEX_StaggeredFSA< Scalar >, and Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA< Scalar >.
Definition at line 419 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
protected |
Setup ME when using default constructor – for derived classes.
Definition at line 46 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp.
|
protected |
Definition at line 211 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
protected |
Definition at line 212 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
protected |
Definition at line 214 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
protected |
Definition at line 215 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
protected |
Definition at line 216 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
protected |
Definition at line 218 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
protected |
implicit parameter index for explicit-only vector
Definition at line 219 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.
|
protected |
if true, use implicitModel_ else explicitModel_
Definition at line 220 of file Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_decl.hpp.