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: Time Integration and Sensitivity Analysis Package
4 //
5 // Copyright 2017 NTESS and the Tempus contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 //@HEADER
9 
10 #ifndef Tempus_TimeDerivative_hpp
11 #define Tempus_TimeDerivative_hpp
12 
13 // Thrya
14 #include "Thyra_VectorBase.hpp"
15 #include "Thyra_VectorStdOps.hpp"
16 
17 #include "Tempus_config.hpp"
18 
19 namespace Tempus {
20 
33 template <typename Scalar>
35  public:
37  virtual void compute(
40  Teuchos::RCP<Thyra::VectorBase<Scalar> > xDotDot = Teuchos::null) = 0;
41 
42  // Derived classes may need an initialize, but the argument lists will vary.
43  // virtual void initialize(Scalar dt, ... ) = 0;
44 };
45 
46 } // namespace Tempus
47 #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...