ENH: Time: access to libs
[OpenFOAM-2.0.x.git] / applications / solvers / multiphase / cavitatingFoam / CourantNo.H
blob02a6c86db7c5e807e2ce5fac6603b794247dbe9b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
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 Global
25     CourantNo
27 Description
28     Calculates and outputs the mean and maximum Courant Numbers.
30 \*---------------------------------------------------------------------------*/
32 scalar CoNum = 0.0;
33 scalar meanCoNum = 0.0;
34 scalar acousticCoNum = 0.0;
36 if (mesh.nInternalFaces())
38     scalarField sumPhi
39     (
40         fvc::surfaceSum(mag(phiv))().internalField()
41     );
43     CoNum = 0.5*gMax(sumPhi/mesh.V().field())*runTime.deltaTValue();
45     meanCoNum =
46         0.5*(gSum(sumPhi)/gSum(mesh.V().field()))*runTime.deltaTValue();
48     acousticCoNum = 0.5*gMax
49     (
50         fvc::surfaceSum
51         (
52             fvc::interpolate(scalar(1)/sqrt(psi))*mesh.magSf()
53         )().internalField()/mesh.V().field()
54     )*runTime.deltaTValue();
57 Info<< "phiv Courant Number mean: " << meanCoNum
58     << " max: " << CoNum
59     << " acoustic max: " << acousticCoNum
60     << endl;
62 // ************************************************************************* //