1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
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
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/>.
25 Foam::wallHeatTransferFvPatchScalarField
28 Enthalpy boundary conditions for wall heat transfer
31 wallHeatTransferFvPatchScalarField.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef wallHeatTransferFvPatchScalarField_H
36 #define wallHeatTransferFvPatchScalarField_H
38 #include "mixedFvPatchFields.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 /*---------------------------------------------------------------------------*\
46 Class wallHeatTransferFvPatch Declaration
47 \*---------------------------------------------------------------------------*/
49 class wallHeatTransferFvPatchScalarField
51 public mixedFvPatchScalarField
59 scalarField alphaWall_;
64 //- Runtime type information
65 TypeName("wallHeatTransfer");
70 //- Construct from patch and internal field
71 wallHeatTransferFvPatchScalarField
74 const DimensionedField<scalar, volMesh>&
77 //- Construct from patch, internal field and dictionary
78 wallHeatTransferFvPatchScalarField
81 const DimensionedField<scalar, volMesh>&,
85 //- Construct by mapping given wallHeatTransferFvPatchScalarField
87 wallHeatTransferFvPatchScalarField
89 const wallHeatTransferFvPatchScalarField&,
91 const DimensionedField<scalar, volMesh>&,
92 const fvPatchFieldMapper&
96 wallHeatTransferFvPatchScalarField
98 const wallHeatTransferFvPatchScalarField&
101 //- Construct and return a clone
102 virtual tmp<fvPatchScalarField> clone() const
104 return tmp<fvPatchScalarField>
106 new wallHeatTransferFvPatchScalarField(*this)
110 //- Construct as copy setting internal field reference
111 wallHeatTransferFvPatchScalarField
113 const wallHeatTransferFvPatchScalarField&,
114 const DimensionedField<scalar, volMesh>&
117 //- Construct and return a clone setting internal field reference
118 virtual tmp<fvPatchScalarField> clone
120 const DimensionedField<scalar, volMesh>& iF
123 return tmp<fvPatchScalarField>
125 new wallHeatTransferFvPatchScalarField(*this, iF)
135 const scalarField& Tinf() const
140 //- Return reference to Tinf to allow adjustment
147 const scalarField& alphaWall() const
152 //- Return reference to alphaWall to allow adjustment
153 scalarField& alphaWall()
161 //- Map (and resize as needed) from self given a mapping object
164 const fvPatchFieldMapper&
167 //- Reverse map the given fvPatchField onto this fvPatchField
170 const fvPatchScalarField&,
175 // Evaluation functions
177 //- Update the coefficients associated with the patch field
178 virtual void updateCoeffs();
182 virtual void write(Ostream&) const;
186 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
188 } // End namespace Foam
190 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
194 // ************************************************************************* //