Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / src / regionModels / surfaceFilmModels / kinematicSingleLayer / kinematicSingleLayerI.H
blob6e55827a97146d943aa864cfe6ca2a12402344c0
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2009-2011 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
13     the Free Software Foundation, either version 3 of the License, or
14     (at your 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, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 #include "surfaceInterpolate.H"
27 #include "fvcSurfaceIntegrate.H"
29 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
31 namespace Foam
33 namespace regionModels
35 namespace surfaceFilmModels
38 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
40 inline const Switch& kinematicSingleLayer::momentumPredictor() const
42     return momentumPredictor_;
46 inline label kinematicSingleLayer::nOuterCorr() const
48     return nOuterCorr_;
52 inline label kinematicSingleLayer::nCorr() const
54     return nCorr_;
58 inline label kinematicSingleLayer::nNonOrthCorr() const
60     return nNonOrthCorr_;
64 inline const volScalarField& kinematicSingleLayer::mu() const
66     return mu_;
70 inline const volScalarField& kinematicSingleLayer::sigma() const
72     return sigma_;
76 inline const volScalarField& kinematicSingleLayer::delta() const
78     return delta_;
82 inline volVectorField& kinematicSingleLayer::USpPrimary()
84     return USpPrimary_;
88 inline volScalarField& kinematicSingleLayer::pSpPrimary()
90     return pSpPrimary_;
94 inline volScalarField& kinematicSingleLayer::rhoSpPrimary()
96     return rhoSpPrimary_;
100 inline volVectorField& kinematicSingleLayer::USp()
102     return USp_;
106 inline volScalarField& kinematicSingleLayer::pSp()
108     return pSp_;
112 inline volScalarField& kinematicSingleLayer::rhoSp()
114     return rhoSp_;
118 inline const volVectorField& kinematicSingleLayer::USp() const
120     return USp_;
124 inline const volScalarField& kinematicSingleLayer::pSp() const
126     return pSp_;
130 inline const volScalarField& kinematicSingleLayer::rhoSp() const
132     return rhoSp_;
136 inline const volVectorField& kinematicSingleLayer::UPrimary() const
138     return UPrimary_;
142 inline const volScalarField& kinematicSingleLayer::pPrimary() const
144     return pPrimary_;
148 inline const volScalarField& kinematicSingleLayer::rhoPrimary() const
150     return rhoPrimary_;
154 inline const volScalarField& kinematicSingleLayer::muPrimary() const
156     return muPrimary_;
160 inline injectionModelList& kinematicSingleLayer::injection()
162     return injection_;
166 inline tmp<volScalarField> kinematicSingleLayer::mass() const
168     return rho_*delta_*magSf();
172 inline tmp<volScalarField> kinematicSingleLayer::netMass() const
174     dimensionedScalar d0("SMALL", dimLength, ROOTVSMALL);
175     return
176         fvc::surfaceSum(phi_/(fvc::interpolate(delta_) + d0))*time().deltaT()
177       + rho_*delta_*magSf();
181 inline tmp<volScalarField> kinematicSingleLayer::gNorm() const
183     tmp<volScalarField> tgNorm
184     (
185         new volScalarField
186         (
187             IOobject
188             (
189                 "gNorm",
190                 time().timeName(),
191                 regionMesh(),
192                 IOobject::NO_READ,
193                 IOobject::NO_WRITE
194             ),
195             g_ & nHat(),
196             zeroGradientFvPatchScalarField::typeName
197         )
198     );
200     return tgNorm;
204 inline tmp<volScalarField> kinematicSingleLayer::gNormClipped() const
206     tmp<volScalarField> tgNormClipped
207     (
208         new volScalarField
209         (
210             IOobject
211             (
212                 "gNormClipped",
213                 time().timeName(),
214                 regionMesh(),
215                 IOobject::NO_READ,
216                 IOobject::NO_WRITE
217             ),
218             g_ & nHat(),
219             zeroGradientFvPatchScalarField::typeName
220         )
221     );
223     volScalarField& gNormClipped = tgNormClipped();
224     gNormClipped.min(0.0);
226     return tgNormClipped;
230 inline tmp<volVectorField> kinematicSingleLayer::gTan() const
232     tmp<volVectorField> tgTan
233     (
234         new volVectorField
235         (
236             IOobject
237             (
238                 "gTan",
239                 time().timeName(),
240                 regionMesh(),
241                 IOobject::NO_READ,
242                 IOobject::NO_WRITE
243             ),
244             g_ - nHat()*gNorm(),
245             zeroGradientFvPatchVectorField::typeName
246         )
247     );
249     return tgTan;
253 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
255 } // End namespace surfaceFilmModels
256 } // End namespace regionModels
257 } // End namespace Foam
259 // ************************************************************************* //