FreeFOAM The Cross-Platform CFD Toolkit
inletOutletTotalTemperatureFvPatchScalarField.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 | Copyright (C) 1991-2010 OpenCFD Ltd.
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::inletOutletTotalTemperatureFvPatchScalarField
26 
27 Description
28  Foam::inletOutletTotalTemperatureFvPatchScalarField
29 
30 SourceFiles
31  inletOutletTotalTemperatureFvPatchScalarField.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef inletOutletTotalTemperatureFvPatchScalarField_H
36 #define inletOutletTotalTemperatureFvPatchScalarField_H
37 
39 
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 
42 namespace Foam
43 {
44 
45 /*---------------------------------------------------------------------------*\
46  Class inletOutletTotalTemperatureFvPatch Declaration
47 \*---------------------------------------------------------------------------*/
48 
50 :
51  public inletOutletFvPatchScalarField
52 {
53  // Private data
54 
55  //- Name of the velocity field
56  word UName_;
57 
58  //- Name of the flux transporting the field
59  word phiName_;
60 
61  //- Name of the compressibility field used to calculate the wave speed
62  word psiName_;
63 
64  //- Heat capacity ratio
65  scalar gamma_;
66 
67  //- Total pressure
68  scalarField T0_;
69 
70 
71 public:
72 
73  //- Runtime type information
74  TypeName("inletOutletTotalTemperature");
75 
76 
77  // Constructors
78 
79  //- Construct from patch and internal field
81  (
82  const fvPatch&,
84  );
85 
86  //- Construct from patch, internal field and dictionary
88  (
89  const fvPatch&,
91  const dictionary&
92  );
93 
94  //- Construct by mapping given
95  // inletOutletTotalTemperatureFvPatchScalarField onto a new patch
97  (
99  const fvPatch&,
101  const fvPatchFieldMapper&
102  );
103 
104  //- Construct as copy
106  (
108  );
109 
110  //- Construct and return a clone
112  {
114  (
116  );
117  }
118 
119  //- Construct as copy setting internal field reference
121  (
124  );
125 
126  //- Construct and return a clone setting internal field reference
128  (
130  ) const
131  {
133  (
135  );
136  }
137 
138 
139  // Member functions
140 
141  // Access
142 
143  //- Return the total pressure
144  const scalarField& T0() const
145  {
146  return T0_;
147  }
148 
149  //- Return reference to the total pressure to allow adjustment
151  {
152  return T0_;
153  }
154 
155 
156  // Mapping functions
157 
158  //- Map (and resize as needed) from self given a mapping object
159  virtual void autoMap
160  (
161  const fvPatchFieldMapper&
162  );
163 
164  //- Reverse map the given fvPatchField onto this fvPatchField
165  virtual void rmap
166  (
167  const fvPatchScalarField&,
168  const labelList&
169  );
170 
171 
172  // Evaluation functions
173 
174  //- Update the coefficients associated with the patch field
175  virtual void updateCoeffs();
176 
177 
178  //- Write
179  virtual void write(Ostream&) const;
180 };
181 
182 
183 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
184 
185 } // End namespace Foam
186 
187 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
188 
189 #endif
190 
191 // ************************ vim: set sw=4 sts=4 et: ************************ //