Forward compatibility: flex
[foam-extend-3.2.git] / src / dbns / dbnsFlux / hllcFlux / hllcFlux.H
blob6bd869ef56534fc82f4d2f54add55a406b8ef994
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
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 Application
25     hllcFlux
27 Description
28     HLLC flux class, computes numerical fluxes based on HLLC scheme. Uses
29     primitive variables as input and gives back conservative numerical fluxes.
31     Toro, E.I. and Spruce, M. and Spears, W.: Restoration of the Contact
32     Surface in the HLL-Riemann Solver, Shock Waves, 4:25-34, 1996
34 Author
35     Oliver Borm
36     Aleksandar Jemcov
37     Rewrite by Hrvoje Jasak
39 SourceFiles
40     hllcFlux.H
42 \*---------------------------------------------------------------------------*/
44 #ifndef hllcFlux_H
45 #define hllcFlux_H
47 #include "fvCFD.H"
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 namespace Foam
54 /*---------------------------------------------------------------------------*\
55                            Class hllcFlux Declaration
56 \*---------------------------------------------------------------------------*/
58 class hllcFlux
60 public:
62     // Constructors
64         //- Constructor null
65         hllcFlux()
66         {}
69     // Destructor - default
72     // Member Functions
74         //- Update fluxes based on current left and right states
75         void evaluateFlux
76         (
77             scalar& rhoFlux,
78             vector& rhoUFlux,
79             scalar& rhoEFlux,
80             const scalar& pLeft,
81             const scalar& pRight,
82             const vector& ULeft,
83             const vector& URight,
84             const scalar& TLeft,
85             const scalar& TRight,
86             const scalar& RLeft,
87             const scalar& RRight,
88             const scalar& CvLeft,
89             const scalar& CvRight,
90             const vector& Sf,
91             const scalar& magSf
92         ) const;
96 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
98 } // End namespace Foam
100 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
102 #endif
104 // ************************************************************************* //