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: 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
19namespace Tempus {
20
33template <typename Scalar>
35 public:
37 virtual void compute(
38 Teuchos::RCP<const Thyra::VectorBase<Scalar> > x,
39 Teuchos::RCP<Thyra::VectorBase<Scalar> > xDot,
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
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.