Remove trailing whitespace systematically
[foam-extend-3.2.git] / src / equationReader / equationVariable / equationVariable.H
blobeaf983c5087e83eee67ac2a80abd20577afe5908
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     |
5     \\  /    A nd           | For copyright notice see file Copyright
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation, either version 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     Foam::equationVariable
27 Description
28     A generic interface template for active equation variables for the
29     equationReader. Use this for objects that act as equation data sources,
30     but do not store their data in a permanent location.
32 SourceFiles
33     equationVariableI.H
34     equationVariable.C
35     equationVariableTemplates.C
37 Author
38     David L. F. Gaden
40 \*---------------------------------------------------------------------------*/
42 #ifndef equationVariable_H
43 #define equationVariable_H
45 #include "word.H"
46 #include "scalar.H"
47 #include "label.H"
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 namespace Foam
54 /*---------------------------------------------------------------------------*\
55                         Class equationVariable Declaration
56 \*---------------------------------------------------------------------------*/
58 class equationVariable
61 public:
63     // Destructor
64     virtual ~equationVariable() {}
66     virtual const word& name() const = 0;
68     virtual const dimensionSet& dimensions() const = 0;
70     virtual label lookupComponentIndex(const word) const = 0;
72     virtual scalar evaluateScalar
73     (
74         const label componentIndex,
75         const label cellIndex,
76         const label geoIndex
77     ) const = 0;
79     virtual void evaluateScalarField
80     (
81         scalarField& result,
82         const label componentIndex,
83         const label geoIndex
84     ) const = 0;
87 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
89 } // End namespace Foam
91 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
93 #endif
95 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //