Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Tempus_WrapperModelEvaluatorPairIMEX.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ****************************************************************************
3
// Tempus: Copyright (2017) Sandia Corporation
4
//
5
// Distributed under BSD 3-clause license (See accompanying file Copyright.txt)
6
// ****************************************************************************
7
// @HEADER
8
9
#ifndef Tempus_ModelEvaluatorPairIMEX_hpp
10
#define Tempus_ModelEvaluatorPairIMEX_hpp
11
12
#include "Tempus_config.hpp"
13
#include "
Tempus_WrapperModelEvaluator.hpp
"
14
15
16
namespace
Tempus
{
17
25
template
<
typename
Scalar>
26
class
WrapperModelEvaluatorPairIMEX
27
:
public
Tempus::WrapperModelEvaluator
<Scalar>
28
{
29
public
:
30
32
virtual
void
initialize
() = 0;
33
35
36
virtual
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
37
get_x_space
()
const
= 0;
38
39
virtual
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
40
get_f_space
()
const
= 0;
41
42
virtual
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
43
get_g_space
(
int
i)
const
= 0;
44
45
virtual
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
46
get_p_space
(
int
i)
const
= 0;
48
50
virtual
void
setExplicitModel
(
51
const
Teuchos::RCP<
const
Thyra::ModelEvaluator<Scalar>
> & ) = 0;
52
virtual
void
setImplicitModel
(
53
const
Teuchos::RCP<
const
Thyra::ModelEvaluator<Scalar>
> & ) = 0;
54
virtual
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
55
getExplicitModel
()
const
= 0;
56
virtual
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
57
getImplicitModel
()
const
= 0;
59
61
62
virtual
Teuchos::RCP<Thyra::LinearOpBase<Scalar> >
create_W_op
()
const
= 0;
63
64
Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar> >
65
get_W_factory
()
const
= 0;
66
67
virtual
Thyra::ModelEvaluatorBase::InArgs<Scalar>
68
getNominalValues
()
const
= 0;
69
70
virtual
Thyra::ModelEvaluatorBase::InArgs<Scalar>
createInArgs
()
const
= 0;
71
72
virtual
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
73
createOutArgsImpl
()
const
= 0;
74
75
virtual
void
evalModelImpl
(
76
const
Thyra::ModelEvaluatorBase::InArgs<Scalar> & in,
77
const
Thyra::ModelEvaluatorBase::OutArgs<Scalar> & out)
const
= 0;
79
81
virtual
void
setForSolve
(Teuchos::RCP<
TimeDerivative<Scalar>
> timeDer,
82
Thyra::ModelEvaluatorBase::InArgs<Scalar> inArgs,
83
Thyra::ModelEvaluatorBase::OutArgs<Scalar> outArgs,
84
EVALUATION_TYPE
evaluationType =
SOLVE_FOR_X
) = 0;
85
};
86
87
}
// namespace Tempus
88
89
#endif
// Tempus_ModelEvaluatorPairIMEX_hpp
Tempus_WrapperModelEvaluator.hpp
Tempus::TimeDerivative
This interface defines the time derivative connection between an implicit Stepper and WrapperModelEva...
Definition
Tempus_TimeDerivative.hpp:34
Tempus::WrapperModelEvaluatorPairIMEX
ModelEvaluator pair for implicit and explicit (IMEX) evaluations.
Definition
Tempus_WrapperModelEvaluatorPairIMEX.hpp:28
Tempus::WrapperModelEvaluatorPairIMEX::setForSolve
virtual void setForSolve(Teuchos::RCP< TimeDerivative< Scalar > > timeDer, Thyra::ModelEvaluatorBase::InArgs< Scalar > inArgs, Thyra::ModelEvaluatorBase::OutArgs< Scalar > outArgs, EVALUATION_TYPE evaluationType=SOLVE_FOR_X)=0
Set parameters for application implicit ModelEvaluator solve.
Tempus::WrapperModelEvaluatorPairIMEX::get_g_space
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_g_space(int i) const =0
Get the g space.
Tempus::WrapperModelEvaluatorPairIMEX::create_W_op
virtual Teuchos::RCP< Thyra::LinearOpBase< Scalar > > create_W_op() const =0
Tempus::WrapperModelEvaluatorPairIMEX::setImplicitModel
virtual void setImplicitModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &)=0
Tempus::WrapperModelEvaluatorPairIMEX::getImplicitModel
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getImplicitModel() const =0
Tempus::WrapperModelEvaluatorPairIMEX::getExplicitModel
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getExplicitModel() const =0
Tempus::WrapperModelEvaluatorPairIMEX::initialize
virtual void initialize()=0
Initialize after setting member data.
Tempus::WrapperModelEvaluatorPairIMEX::createInArgs
virtual Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const =0
Tempus::WrapperModelEvaluatorPairIMEX::setExplicitModel
virtual void setExplicitModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &)=0
Tempus::WrapperModelEvaluatorPairIMEX::get_p_space
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_p_space(int i) const =0
Get the p space.
Tempus::WrapperModelEvaluatorPairIMEX::createOutArgsImpl
virtual Thyra::ModelEvaluatorBase::OutArgs< Scalar > createOutArgsImpl() const =0
Tempus::WrapperModelEvaluatorPairIMEX::evalModelImpl
virtual void evalModelImpl(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &in, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &out) const =0
Tempus::WrapperModelEvaluatorPairIMEX::get_x_space
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const =0
Get the x-solution space.
Tempus::WrapperModelEvaluatorPairIMEX::get_f_space
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_f_space() const =0
Tempus::WrapperModelEvaluatorPairIMEX::get_W_factory
Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > get_W_factory() const =0
Tempus::WrapperModelEvaluatorPairIMEX::getNominalValues
virtual Thyra::ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const =0
Tempus::WrapperModelEvaluator
A ModelEvaluator which wraps the application ModelEvaluator.
Definition
Tempus_WrapperModelEvaluator.hpp:36
Thyra::ModelEvaluator
Tempus
Definition
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Tempus::EVALUATION_TYPE
EVALUATION_TYPE
EVALUATION_TYPE indicates the evaluation to apply to the implicit ODE.
Definition
Tempus_WrapperModelEvaluator.hpp:19
Tempus::SOLVE_FOR_X
@ SOLVE_FOR_X
Solve for x and determine xDot from x.
Definition
Tempus_WrapperModelEvaluator.hpp:21
Generated by
1.17.0