initial commit for version 1.5.x patch release
[OpenFOAM-1.5.x.git] / src / finiteVolume / fvMatrices / solvers / MULES / MULES.H
bloba8e899727fecdd4c6a779d03fb131f08576d8b21
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2008 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM 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 2 of the License, or (at your
14     option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Global
26     MULES
28 Description
29     MULES: Multidimensional universal limiter with explicit solution.
31     Solve a convective-only transport equation using an explicit universal
32     multi-dimensional limiter.
34     Parameters are the variable to solve, the normal convective flux and the
35     actual explicit flux of the variable which is also used to return limited
36     flux used in the bounded-solution.
38 SourceFiles
39     MULES.C
41 \*---------------------------------------------------------------------------*/
43 #ifndef MULES_H
44 #define MULES_H
46 #include "volFields.H"
47 #include "surfaceFieldsFwd.H"
48 #include "primitiveFieldsFwd.H"
49 #include "zeroField.H"
50 #include "oneField.H"
52 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54 namespace Foam
57 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
59 namespace MULES
62 template<class RhoType, class SpType, class SuType>
63 void explicitSolve
65     const RhoType& rho,
66     volScalarField& psi,
67     const surfaceScalarField& phiBD,
68     surfaceScalarField& phiPsi,
69     const SpType& Sp,
70     const SuType& Su,
71     const scalar psiMax,
72     const scalar psiMin
75 void explicitSolve
77     volScalarField& psi,
78     const surfaceScalarField& phiBD,
79     surfaceScalarField& phiPsi,
80     const scalar psiMax,
81     const scalar psiMin
84 template<class RhoType, class SpType, class SuType>
85 void implicitSolve
87     const RhoType& rho,
88     volScalarField& gamma,
89     const surfaceScalarField& phi,
90     surfaceScalarField& phiCorr,
91     const SpType& Sp,
92     const SuType& Su,
93     const scalar psiMax,
94     const scalar psiMin
97 void implicitSolve
99     volScalarField& gamma,
100     const surfaceScalarField& phi,
101     surfaceScalarField& phiCorr,
102     const scalar psiMax,
103     const scalar psiMin
106 template<class RhoType, class SpType, class SuType>
107 void limiter
109     scalarField& allLambda,
110     const RhoType& rho,
111     const volScalarField& psi,
112     const surfaceScalarField& phiBD,
113     const surfaceScalarField& phiCorr,
114     const SpType& Sp,
115     const SuType& Su,
116     const scalar psiMax,
117     const scalar psiMin,
118     const label nLimiterIter
121 } // End namespace MULES
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125 } // End namespace Foam
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129 #ifdef NoRepository
130 #   include "MULESTemplates.C"
131 #endif
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
135 #endif
137 // ************************************************************************* //