OpenFOAM
v2406
The open source CFD toolbox
LimitFuncs.C
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-2015 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
\*---------------------------------------------------------------------------*/
27
28
#include "
volFields.H
"
29
30
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
31
32
template
<
class
Type>
33
inline
Foam::tmp<Foam::volScalarField>
34
Foam::limitFuncs::magSqr<Type>::operator
()
35
(
36
const
GeometricField<Type, fvPatchField, volMesh>
&
phi
37
)
const
38
{
39
return
Foam::magSqr
(
phi
);
40
}
41
42
43
template
<>
44
inline
Foam::tmp<Foam::volScalarField>
45
Foam::limitFuncs::magSqr<Foam::scalar>::operator
()
46
(
47
const
volScalarField
&
phi
48
)
const
49
{
50
return
phi
;
51
}
52
53
54
template
<>
55
inline
Foam::tmp<Foam::volScalarField>
56
Foam::limitFuncs::magSqr<Foam::symmTensor>::operator
()
57
(
58
const
volSymmTensorField
&
phi
59
)
const
60
{
61
return
Foam::tr
(
phi
);
62
}
63
64
65
template
<>
66
inline
Foam::tmp<Foam::volScalarField>
67
Foam::limitFuncs::magSqr<Foam::tensor>::operator
()
68
(
69
const
volTensorField
&
phi
70
)
const
71
{
72
return
Foam::tr
(
phi
);
73
}
74
75
76
template
<
class
Type>
77
inline
Foam::tmp<Foam::volScalarField>
78
Foam::limitFuncs::rhoMagSqr<Type>::operator
()
79
(
80
const
GeometricField<Type, fvPatchField, volMesh>
&
phi
81
)
const
82
{
83
const
volScalarField
&
rho
=
84
phi
.db().objectRegistry::template lookupObject<volScalarField>(
"rho"
);
85
return
Foam::magSqr
(
phi
/
rho
);
86
}
87
88
89
template
<>
90
inline
Foam::tmp<Foam::volScalarField>
91
Foam::limitFuncs::rhoMagSqr<Foam::scalar>::operator
()
92
(
93
const
volScalarField
&
phi
94
)
const
95
{
96
const
volScalarField
&
rho
=
97
phi
.db().objectRegistry::lookupObject<
volScalarField
>(
"rho"
);
98
return
phi
/
rho
;
99
}
100
101
102
// ************************************************************************* //
rho
rho
Definition:
readInitialConditions.H:88
Foam::GeometricField
Generic GeometricField class.
Definition:
pointMVCWeight.H:58
phi
phi
Definition:
correctPhiFaceMask.H:34
Foam::tr
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
Definition:
dimensionedSphericalTensor.C:44
Foam::limitFuncs::magSqr
Definition:
LimitFuncs.H:83
Foam::limitFuncs::rhoMagSqr
Definition:
LimitFuncs.H:116
volFields.H
Foam::tmp
A class for managing temporary objects.
Definition:
HashPtrTable.H:50
Foam::magSqr
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
src
finiteVolume
interpolation
surfaceInterpolation
limitedSchemes
LimitedScheme
LimitFuncs.C
Generated by
1.8.14