ENH: autoLayerDriver: better layering information message
[OpenFOAM-2.0.x.git] / src / turbulenceModels / compressible / turbulenceModel / derivedFvPatchFields / turbulentTemperatureCoupledBaffleMixed / turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H
blob4274f255856d41df6e96f3e3e20eb85e78d0a994
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::compressible::turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
27 Description
28     Mixed boundary condition for temperature, to be used for heat-transfer
29     on back-to-back baffles.
31     Specifies gradient and temperature such that the equations are the same
32     on both sides:
33     - refGradient = zero gradient
34     - refValue = neighbour value
35     - mixFraction = nbrKDelta / (nbrKDelta + myKDelta())
37     where KDelta is heat-transfer coefficient K * deltaCoeffs
39     Example usage:
40         myInterfacePatchName
41         {
42             type        compressible::turbulentTemperatureCoupledBaffleMixed;
43             neighbourFieldName  T;
44             K                   lookup;
45             KName               K;
46             value               uniform 300;
47         }
49     Needs to be on underlying directMapped(Wall)FvPatch.
51     Note: K : heat conduction at patch. Gets supplied how to lookup/calculate K:
52     - 'lookup' : lookup volScalarField (or volSymmTensorField) with name
53     - 'basicThermo' : use basicThermo and compressible::RASmodel to calculate K
54     - 'solidThermo' : use basicSolidThermo K()
55     - 'directionalSolidThermo' directionalK()
57     Note: runs in parallel with arbitrary decomposition. Uses directMapped
58     functionality to calculate exchange.
60 SourceFiles
61     turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.C
63 \*---------------------------------------------------------------------------*/
65 #ifndef turbulentTemperatureCoupledBaffleMixedFvPatchScalarField_H
66 #define turbulentTemperatureCoupledBaffleMixedFvPatchScalarField_H
68 #include "mixedFvPatchFields.H"
69 #include "temperatureCoupledBase.H"
71 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
73 namespace Foam
75 namespace compressible
78 /*---------------------------------------------------------------------------*\
79    Class turbulentTemperatureCoupledBaffleMixedFvPatchScalarField Declaration
80 \*---------------------------------------------------------------------------*/
82 class turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
84     public mixedFvPatchScalarField,
85     public temperatureCoupledBase
87     // Private data
89         //- Name of field on the neighbour region
90         const word neighbourFieldName_;
93 public:
95     //- Runtime type information
96     TypeName("compressible::turbulentTemperatureCoupledBaffleMixed");
99     // Constructors
101         //- Construct from patch and internal field
102         turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
103         (
104             const fvPatch&,
105             const DimensionedField<scalar, volMesh>&
106         );
108         //- Construct from patch, internal field and dictionary
109         turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
110         (
111             const fvPatch&,
112             const DimensionedField<scalar, volMesh>&,
113             const dictionary&
114         );
116         //- Construct by mapping given
117         //  turbulentTemperatureCoupledBaffleMixedFvPatchScalarField onto a
118         //  new patch
119         turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
120         (
121             const turbulentTemperatureCoupledBaffleMixedFvPatchScalarField&,
122             const fvPatch&,
123             const DimensionedField<scalar, volMesh>&,
124             const fvPatchFieldMapper&
125         );
127         //- Construct and return a clone
128         virtual tmp<fvPatchScalarField> clone() const
129         {
130             return tmp<fvPatchScalarField>
131             (
132                 new turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
133                 (
134                     *this
135                 )
136             );
137         }
139         //- Construct as copy setting internal field reference
140         turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
141         (
142             const turbulentTemperatureCoupledBaffleMixedFvPatchScalarField&,
143             const DimensionedField<scalar, volMesh>&
144         );
146         //- Construct and return a clone setting internal field reference
147         virtual tmp<fvPatchScalarField> clone
148         (
149             const DimensionedField<scalar, volMesh>& iF
150         ) const
151         {
152             return tmp<fvPatchScalarField>
153             (
154                 new turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
155                 (
156                     *this,
157                     iF
158                 )
159             );
160         }
163     // Member functions
165         //- Update the coefficients associated with the patch field
166         virtual void updateCoeffs();
168         //- Write
169         virtual void write(Ostream&) const;
173 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
175 } // End namespace compressible
176 } // End namespace Foam
178 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
180 #endif
182 // ************************************************************************* //