Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
18 namespace Tempus {
19 
32 template <typename Scalar>
34  public:
36  virtual void compute(
39  Teuchos::RCP<Thyra::VectorBase<Scalar> > xDotDot = Teuchos::null) = 0;
40 
41  // Derived classes may need an initialize, but the argument lists will vary.
42  // virtual void initialize(Scalar dt, ... ) = 0;
43 };
44 
45 } // namespace Tempus
46 #endif // Tempus_TimeDerivative_hpp
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.
This interface defines the time derivative connection between an implicit Stepper and WrapperModelEva...