gradientUnburntEnthalpyFvPatchScalarField.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-------------------------------------------------------------------------------
10License
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
30#include "fvPatchFieldMapper.H"
31#include "volFields.H"
32#include "psiuReactionThermo.H"
33
34// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
35
36Foam::gradientUnburntEnthalpyFvPatchScalarField::
37gradientUnburntEnthalpyFvPatchScalarField
38(
39 const fvPatch& p,
41)
42:
43 fixedGradientFvPatchScalarField(p, iF)
44{}
45
46
47Foam::gradientUnburntEnthalpyFvPatchScalarField::
48gradientUnburntEnthalpyFvPatchScalarField
49(
51 const fvPatch& p,
53 const fvPatchFieldMapper& mapper
54)
55:
56 fixedGradientFvPatchScalarField(ptf, p, iF, mapper)
57{}
58
59
60Foam::gradientUnburntEnthalpyFvPatchScalarField::
61gradientUnburntEnthalpyFvPatchScalarField
62(
63 const fvPatch& p,
65 const dictionary& dict
66)
67:
68 fixedGradientFvPatchScalarField(p, iF, dict)
69{}
70
71
72Foam::gradientUnburntEnthalpyFvPatchScalarField::
73gradientUnburntEnthalpyFvPatchScalarField
74(
76)
77:
78 fixedGradientFvPatchScalarField(tppsf)
79{}
80
81
82Foam::gradientUnburntEnthalpyFvPatchScalarField::
83gradientUnburntEnthalpyFvPatchScalarField
84(
87)
88:
89 fixedGradientFvPatchScalarField(tppsf, iF)
90{}
91
92
93// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
94
96{
97 if (updated())
98 {
99 return;
100 }
101
102 const psiuReactionThermo& thermo = db().lookupObject<psiuReactionThermo>
103 (
105 );
106
107 const label patchi = patch().index();
108
109 const scalarField& pw = thermo.p().boundaryField()[patchi];
111 const_cast<fvPatchScalarField&>(thermo.Tu().boundaryField()[patchi]);
112
113 Tw.evaluate();
114
115 gradient() = thermo.Cp(pw, Tw, patchi)*Tw.snGrad()
116 + patch().deltaCoeffs()*
117 (
118 thermo.heu(pw, Tw, patchi)
119 - thermo.heu(pw, Tw, patch().faceCells())
120 );
121
122 fixedGradientFvPatchScalarField::updateCoeffs();
123}
124
125
126// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127
128namespace Foam
129{
131 (
134 );
135}
136
137// ************************************************************************* //
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
static const word dictName
Definition: basicThermo.H:256
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Smooth ATC in cells next to a set of patches supplied by type.
Definition: faceCells.H:59
A FieldMapper for finite-volume patch fields.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patch field, sets Updated to false.
Definition: fvPatchField.C:345
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
Definition: fvPatchField.C:229
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Foam::psiuReactionThermo.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
volScalarField & p
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
Definition: fvPatchField.H:676
Namespace for OpenFOAM.
dictionary dict