Rythmos - Transient Integration for Differential Equations Version of the Day
Loading...
Searching...
No Matches
Rythmos_SingleResidualModelEvaluatorBase.hpp
1//@HEADER
2// ***********************************************************************
3//
4// Rythmos Package
5// Copyright (2006) Sandia Corporation
6//
7// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8// license for use of this work by or on behalf of the U.S. Government.
9//
10// This library is free software; you can redistribute it and/or modify
11// it under the terms of the GNU Lesser General Public License as
12// published by the Free Software Foundation; either version 2.1 of the
13// License, or (at your option) any later version.
14//
15// This library is distributed in the hope that it will be useful, but
16// WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18// Lesser General Public License for more details.
19//
20// You should have received a copy of the GNU Lesser General Public
21// License along with this library; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
23// USA
24// Questions? Contact Todd S. Coffey (tscoffe@sandia.gov)
25//
26// ***********************************************************************
27//@HEADER
28
29
30#ifndef RYTHMOS_SINGLE_RESIDUAL_MODEL_EVALUATOR_BASE_HPP
31#define RYTHMOS_SINGLE_RESIDUAL_MODEL_EVALUATOR_BASE_HPP
32
33
34#include "Thyra_ModelEvaluator.hpp"
35
36
37namespace Rythmos {
38
39
44template<class Scalar>
46 : virtual public Thyra::ModelEvaluator<Scalar>
47{
48public:
49
52
55 const RCP<const Thyra::ModelEvaluator<Scalar> > &daeModel,
56 const Thyra::ModelEvaluatorBase::InArgs<Scalar> &basePoint,
57 const Scalar &coeff_x_dot,
58 const RCP<const Thyra::VectorBase<Scalar> > &x_dot_base,
59 const Scalar &coeff_x,
60 const RCP<const Thyra::VectorBase<Scalar> > &x_base,
61 const Scalar &t_base,
62 const RCP<const Thyra::VectorBase<Scalar> > &x_bar_init
63 ) = 0;
64
66
69
71 virtual Scalar get_coeff_x_dot() const = 0;
72
74 virtual RCP<const Thyra::VectorBase<Scalar> >
75 get_x_dot_base() const = 0;
76
78 virtual Scalar get_coeff_x() const = 0;
79
81 virtual RCP<const Thyra::VectorBase<Scalar> >
82 get_x_base() const = 0;
83
85 virtual Scalar get_t_base() const = 0;
86
88
89};
90
91
92} // namespace Rythmos
93
94
95#endif // RYTHMOS_SINGLE_RESIDUAL_MODEL_EVALUATOR_BASE_HPP
Base class mix-in interface for single-residual model evaluators.
virtual Scalar get_coeff_x_dot() const =0
virtual RCP< const Thyra::VectorBase< Scalar > > get_x_base() const =0
virtual RCP< const Thyra::VectorBase< Scalar > > get_x_dot_base() const =0
virtual Scalar get_coeff_x() const =0
virtual Scalar get_t_base() const =0
virtual void initializeSingleResidualModel(const RCP< const Thyra::ModelEvaluator< Scalar > > &daeModel, const Thyra::ModelEvaluatorBase::InArgs< Scalar > &basePoint, const Scalar &coeff_x_dot, const RCP< const Thyra::VectorBase< Scalar > > &x_dot_base, const Scalar &coeff_x, const RCP< const Thyra::VectorBase< Scalar > > &x_base, const Scalar &t_base, const RCP< const Thyra::VectorBase< Scalar > > &x_bar_init)=0