Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Tempus_TimeDerivative.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_TimeDerivative_hpp
10#define Tempus_TimeDerivative_hpp
11
12// Thrya
13#include "Thyra_VectorBase.hpp"
14#include "Thyra_VectorStdOps.hpp"
15
16#include "Tempus_config.hpp"
17
18namespace Tempus {
19
32template <typename Scalar>
34{
35public:
36
38 virtual void compute(
39 Teuchos::RCP<const Thyra::VectorBase<Scalar> > x,
40 Teuchos::RCP< Thyra::VectorBase<Scalar> > xDot,
41 Teuchos::RCP< Thyra::VectorBase<Scalar> > xDotDot = Teuchos::null) = 0;
42
43 // Derived classes may need an initialize, but the argument lists will vary.
44 // virtual void initialize(Scalar dt, ... ) = 0;
45};
46
47
48} // namespace Tempus
49#endif // Tempus_TimeDerivative_hpp
This interface defines the time derivative connection between an implicit Stepper and WrapperModelEva...
virtual void compute(Teuchos::RCP< const Thyra::VectorBase< Scalar > > x, Teuchos::RCP< Thyra::VectorBase< Scalar > > xDot, Teuchos::RCP< Thyra::VectorBase< Scalar > > xDotDot=Teuchos::null)=0
Set the underlying application ModelEvaluator.