BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / src / regionModels / thermoBaffleModels / derivedFvPatchFields / temperatureThermoBaffle / temperatureThermoBaffleFvPatchScalarField.H
blob0b979f810de38858881efedceaa6355e158b7fae
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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.
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.
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/>.
24 Class
25     Foam::temperatureThermoBaffleFvPatchScalarField
27 Description
28     Thermal bounday applied to both sides of the thermal baffle region and
29     in the primary region.
30     The primary region creates and evolves the thermal baffle heat transfer
31     equation. The solid thermo and baffle dictionaries are located on the
32     primary region.
34     type                compressible::temperatureThermoBaffle;
36     // Coupled BC.
37     neighbourFieldName  T;
38     K                   basicThermo;
39     KName               none;
42     // Thermo baffle model
43     thermoBaffleModel   thermoBaffle2D;
44     regionName          baffleRegion;
45     infoOutput          yes;
46     active              yes;
47     thermoBaffle2DCoeffs
48     {
49     }
52     // Solid thermo
53     thermoType constSolidThermo;
55     constSolidThermoCoeffs
56     {
57         //- thermo properties
58         rho rho [1 -3  0  0 0 0 0]              80;
59         Cp  Cp  [0  2 -2 -1 0 0 0]              15;
60         K   K   [1  1 -3 -1 0 0 0]              0.01;
62         //- radiative properties
63         kappa kappa [0 -1 0 0 0 0 0]            0;
64         sigmaS sigmaS [0 -1 0 0 0 0 0]          0;
65         emissivity  emissivity  [0 0 0 0 0 0 0] 1;
67         //- chemical properties
68         Hf  Hf  [0  2 -2  0 0 0 0]              0;
69     }
71     value               uniform 300;
74 SourceFiles
75     temperatureThermoBaffleFvPatchScalarField.C
77 \*---------------------------------------------------------------------------*/
79 #ifndef temperatureThermoBaffleFvPatchScalarField_H
80 #define temperatureThermoBaffleFvPatchScalarField_H
83 #include "autoPtr.H"
84 #include "regionModel.H"
85 #include "thermoBaffleModel.H"
86 #include "turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H"
88 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
91 namespace Foam
93 namespace compressible
96 /*---------------------------------------------------------------------------*\
97         Class temperatureThermoBaffleFvPatchScalarField Declaration
98 \*---------------------------------------------------------------------------*/
100 class temperatureThermoBaffleFvPatchScalarField
102     public turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
104     // Private data
106         //- Is the baffle owner
107         bool owner_;
109         //- Thermal baffle
110         autoPtr<regionModels::thermoBaffleModels::thermoBaffleModel> baffle_;
112         //- Solid thermo type
113         word solidThermoType_;
116 public:
118     //- Runtime type information
119     TypeName("compressible::temperatureThermoBaffle");
122     // Constructors
124         //- Construct from patch and internal field
125         temperatureThermoBaffleFvPatchScalarField
126         (
127             const fvPatch&,
128             const DimensionedField<scalar, volMesh>&
129         );
131         //- Construct from patch, internal field and dictionary
132         temperatureThermoBaffleFvPatchScalarField
133         (
134             const fvPatch&,
135             const DimensionedField<scalar, volMesh>&,
136             const dictionary&
137         );
139         //- Construct by mapping given
140         //  temperatureThermoBaffleFvPatchScalarField onto a new patch
141         temperatureThermoBaffleFvPatchScalarField
142         (
143             const temperatureThermoBaffleFvPatchScalarField&,
144             const fvPatch&,
145             const DimensionedField<scalar, volMesh>&,
146             const fvPatchFieldMapper&
147         );
150         //- Construct and return a clone
151         virtual tmp<fvPatchScalarField> clone() const
152         {
153             return tmp<fvPatchScalarField>
154             (
155                 new temperatureThermoBaffleFvPatchScalarField(*this)
156             );
157         }
159         //- Construct as copy setting internal field reference
160         temperatureThermoBaffleFvPatchScalarField
161         (
162             const temperatureThermoBaffleFvPatchScalarField&,
163             const DimensionedField<scalar, volMesh>&
164         );
166         //- Construct and return a clone setting internal field reference
167         virtual tmp<fvPatchScalarField> clone
168         (
169             const DimensionedField<scalar, volMesh>& iF
170         ) const
171         {
172             return tmp<fvPatchScalarField>
173             (
174                 new temperatureThermoBaffleFvPatchScalarField(*this, iF)
175             );
176         }
179     // Member functions
182         // Mapping functions
184             //- Map (and resize as needed) from self given a mapping object
185             virtual void autoMap
186             (
187                 const fvPatchFieldMapper&
188             );
190             //- Reverse map the given fvPatchField onto this fvPatchField
191             virtual void rmap
192             (
193                 const fvPatchScalarField&,
194                 const labelList&
195             );
198         //- Update the coefficients associated with the patch field
199         virtual void updateCoeffs();
201         //- Write
202         virtual void write(Ostream&) const;
206 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
208 } // End namespace compressible
209 } // End namespace Foam
211 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
214 #endif
216 // ************************************************************************* //