gradientEnergyFvPatchScalarField.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-2016 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 Class
27  Foam::gradientEnergyFvPatchScalarField
28 
29 Group
30  grpThermoBoundaryConditions
31 
32 Description
33  This boundary condition provides a gradient condition for internal energy,
34  where the gradient is calculated using:
35 
36  \f[
37  \nabla(e_p) = \nabla_\perp C_p(p, T) + \frac{e_p - e_c}{\Delta}
38  \f]
39 
40  where
41  \vartable
42  e_p | energy at patch faces [J]
43  e_c | energy at patch internal cells [J]
44  p | pressure [bar]
45  T | temperature [K]
46  C_p | specific heat [J/kg/K]
47  \Delta | distance between patch face and internal cell centres [m]
48  \endvartable
49 
50 Usage
51  Example of the boundary condition specification:
52  \verbatim
53  <patchName>
54  {
55  type gradientEnergy;
56  gradient uniform 10;
57  }
58  \endverbatim
59 
60 See also
61  Foam::fixedGradientFvPatchField
62 
63 SourceFiles
64  gradientEnergyFvPatchScalarField.C
65 
66 \*---------------------------------------------------------------------------*/
67 
68 #ifndef gradientEnergyFvPatchScalarField_H
69 #define gradientEnergyFvPatchScalarField_H
70 
72 
73 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
74 
75 namespace Foam
76 {
77 
78 /*---------------------------------------------------------------------------*\
79  Class gradientEnergyFvPatchScalarField Declaration
80 \*---------------------------------------------------------------------------*/
81 
82 class gradientEnergyFvPatchScalarField
83 :
84  public fixedGradientFvPatchScalarField
85 {
86 
87 public:
88 
89  //- Runtime type information
90  TypeName("gradientEnergy");
91 
92 
93  // Constructors
94 
95  //- Construct from patch and internal field
97  (
98  const fvPatch&,
99  const DimensionedField<scalar, volMesh>&
100  );
101 
102  //- Construct from patch, internal field and dictionary
104  (
105  const fvPatch&,
107  const dictionary&
108  );
109 
110  //- Construct by mapping given gradientEnergyFvPatchScalarField
111  // onto a new patch
113  (
115  const fvPatch&,
117  const fvPatchFieldMapper&
118  );
119 
120  //- Construct as copy
122  (
124  );
125 
126  //- Construct and return a clone
127  virtual tmp<fvPatchScalarField> clone() const
128  {
130  (
132  );
133  }
134 
135  //- Construct as copy setting internal field reference
137  (
140  );
141 
142  //- Construct and return a clone setting internal field reference
144  (
146  ) const
147  {
149  (
151  );
152  }
153 
154 
155  // Member functions
156 
157  // Evaluation functions
158 
159  //- Update the coefficients associated with the patch field
160  virtual void updateCoeffs();
161 
162  //- Write
163  virtual void write(Ostream&) const;
164 };
165 
166 
167 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
168 
169 } // End namespace Foam
170 
171 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
172 
173 #endif
174 
175 // ************************************************************************* //
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::gradientEnergyFvPatchScalarField::write
virtual void write(Ostream &) const
Write.
Definition: gradientEnergyFvPatchScalarField.C:122
Foam::gradientEnergyFvPatchScalarField::gradientEnergyFvPatchScalarField
gradientEnergyFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Definition: gradientEnergyFvPatchScalarField.C:38
Foam::gradientEnergyFvPatchScalarField::TypeName
TypeName("gradientEnergy")
Runtime type information.
Foam::fvPatch
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:65
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
fixedGradientFvPatchFields.H
Foam::gradientEnergyFvPatchScalarField::updateCoeffs
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Definition: gradientEnergyFvPatchScalarField.C:95
Foam::gradientEnergyFvPatchScalarField::clone
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
Definition: gradientEnergyFvPatchScalarField.H:150
Foam::fvPatchFieldMapper
Foam::fvPatchFieldMapper.
Definition: fvPatchFieldMapper.H:47
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56
Foam::DimensionedField
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: DimensionedField.H:54
Foam::gradientEnergyFvPatchScalarField
This boundary condition provides a gradient condition for internal energy, where the gradient is calc...
Definition: gradientEnergyFvPatchScalarField.H:105