OpenFOAM: API Guide
v2112
The open source CFD toolbox
CourantNo.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2011 OpenFOAM Foundation
9
-------------------------------------------------------------------------------
10
License
11
This file is part of OpenFOAM.
12
13
OpenFOAM is free software: you can redistribute it and/or modify it
14
under the terms of the GNU General Public License as published by
15
the Free Software Foundation, either version 3 of the License, or
16
(at your option) any later version.
17
18
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21
for more details.
22
23
You should have received a copy of the GNU General Public License
24
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26
Global
27
CourantNo
28
29
Description
30
Calculates and outputs the mean and maximum Courant Numbers.
31
32
\*---------------------------------------------------------------------------*/
33
34
scalar
CoNum
= 0.0;
35
scalar
meanCoNum
= 0.0;
36
37
if
(
mesh
.nInternalFaces())
38
{
39
surfaceScalarField
phiMask(localMin<scalar>(
mesh
).
interpolate
(cellMask));
40
41
scalarField
sumPhi
42
(
43
fvc::surfaceSum
(
mag
(phiMask*
phi
))().internalField()
44
);
45
46
CoNum
= 0.5*
gMax
(sumPhi/
mesh
.V().field())*
runTime
.deltaTValue();
47
48
meanCoNum
=
49
0.5*(
gSum
(sumPhi)/
gSum
(
mesh
.V().field()))*
runTime
.deltaTValue();
50
}
51
52
Info
<<
"Courant Number mean: "
<<
meanCoNum
53
<<
" max: "
<<
CoNum
<<
endl
;
54
55
// ************************************************************************* //
runTime
engineTime & runTime
Definition:
createEngineTime.H:13
Foam::fvc::surfaceSum
tmp< GeometricField< Type, fvPatchField, volMesh > > surfaceSum(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Definition:
fvcSurfaceIntegrate.C:135
Foam::scalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Definition:
primitiveFieldsFwd.H:52
CoNum
scalar CoNum
Definition:
CourantNo.H:31
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition:
Ostream.H:369
Foam::gSum
Type gSum(const FieldField< Field, Type > &f)
Definition:
FieldFieldFunctions.C:594
meanCoNum
scalar meanCoNum
Definition:
CourantNo.H:32
Foam::Info
messageStream Info
Information stream (stdout output on master, null elsewhere)
phi
surfaceScalarField & phi
Definition:
setRegionFluidFields.H:8
mesh
dynamicFvMesh & mesh
Definition:
createDynamicFvMesh.H:6
Foam::surfaceScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Definition:
surfaceFieldsFwd.H:54
Foam::mag
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
Foam::fac::interpolate
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate(const GeometricField< Type, faPatchField, areaMesh > &tvf, const edgeScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
Foam::gMax
Type gMax(const FieldField< Field, Type > &f)
Definition:
FieldFieldFunctions.C:592
applications
solvers
multiphase
interFoam
overInterDyMFoam
CourantNo.H
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.