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
Copyright (C) 2016 OpenCFD Ltd.
10
-------------------------------------------------------------------------------
11
License
12
This file is part of OpenFOAM.
13
14
OpenFOAM is free software: you can redistribute it and/or modify it
15
under the terms of the GNU General Public License as published by
16
the Free Software Foundation, either version 3 of the License, or
17
(at your option) any later version.
18
19
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22
for more details.
23
24
You should have received a copy of the GNU General Public License
25
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27
Global
28
CourantNo
29
30
Description
31
Calculates and outputs the mean and maximum Courant Numbers.
32
33
\*---------------------------------------------------------------------------*/
34
35
scalar
CoNum
= 0.0;
36
scalar
meanCoNum
= 0.0;
37
38
if
(
mesh
.nInternalFaces())
39
{
40
surfaceScalarField
phiMask(localMin<scalar>(
mesh
).
interpolate
(cellMask));
41
42
scalarField
sumPhi(
fvc::surfaceSum
(
mag
(phiMask*
phi
))().internalField());
43
44
CoNum
= 0.5*
gMax
(sumPhi/
mesh
.V().field())*
runTime
.deltaTValue();
45
46
meanCoNum
=
47
0.5*(
gSum
(sumPhi)/
gSum
(
mesh
.V().field()))*
runTime
.deltaTValue();
48
}
49
50
Info
<<
"Courant Number mean: "
<<
meanCoNum
51
<<
" max: "
<<
CoNum
<<
endl
;
52
53
// ************************************************************************* //
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
incompressible
pimpleFoam
overPimpleDyMFoam
CourantNo.H
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.