Remove trailing whitespace systematically
[foam-extend-3.2.git] / applications / solvers / coupled / conjugateHeatTransfer / fvPatchFields / solidWallHeatFluxTemperature / solidWallHeatFluxTemperatureFvPatchScalarField.H
blobe5dd9aae51de3c8585a926c28482473e6a9d6ec4
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     |
5     \\  /    A nd           | For copyright notice see file Copyright
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation, either version 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     solidWallHeatFluxTemperatureFvPatchScalarField
27 Description
28     Heat flux boundary condition for temperature on solid region
30     Example usage:
31         myWallPatch
32         {
33             type            solidWallHeatFluxTemperature;
34             K               K;                 // Name of K field
35             q               uniform 1000;      // Heat flux / [W/m2]
36             value           300.0;             // Initial temperature / [K]
37         }
40 SourceFiles
41     solidWallHeatFluxTemperatureFvPatchScalarField.C
43 \*---------------------------------------------------------------------------*/
45 #ifndef solidWallHeatFluxTemperatureFvPatchScalarField_H
46 #define solidWallHeatFluxTemperatureFvPatchScalarField_H
48 #include "fixedValueFvPatchFields.H"
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 namespace Foam
55 /*---------------------------------------------------------------------------*\
56       Class solidWallHeatFluxTemperatureFvPatchScalarField Declaration
57 \*---------------------------------------------------------------------------*/
59 class solidWallHeatFluxTemperatureFvPatchScalarField
61     public fixedValueFvPatchScalarField
63     // Private data
65         //- Heat flux / [W/m2]
66         scalarField q_;
68         //- Name of thermal conductivity field
69         word KName_;
72 public:
74     //- Runtime type information
75     TypeName("solidWallHeatFluxTemperature");
78     // Constructors
80         //- Construct from patch and internal field
81         solidWallHeatFluxTemperatureFvPatchScalarField
82         (
83             const fvPatch&,
84             const DimensionedField<scalar, volMesh>&
85         );
87         //- Construct from patch, internal field and dictionary
88         solidWallHeatFluxTemperatureFvPatchScalarField
89         (
90             const fvPatch&,
91             const DimensionedField<scalar, volMesh>&,
92             const dictionary&
93         );
95         //- Construct by mapping given
96         // solidWallHeatFluxTemperatureFvPatchScalarField
97         // onto a new patch
98         solidWallHeatFluxTemperatureFvPatchScalarField
99         (
100             const solidWallHeatFluxTemperatureFvPatchScalarField&,
101             const fvPatch&,
102             const DimensionedField<scalar, volMesh>&,
103             const fvPatchFieldMapper&
104         );
106         //- Construct as copy
107         solidWallHeatFluxTemperatureFvPatchScalarField
108         (
109             const solidWallHeatFluxTemperatureFvPatchScalarField&
110         );
112         //- Construct and return a clone
113         virtual tmp<fvPatchScalarField> clone() const
114         {
115             return tmp<fvPatchScalarField>
116             (
117                 new solidWallHeatFluxTemperatureFvPatchScalarField(*this)
118             );
119         }
121         //- Construct as copy setting internal field reference
122         solidWallHeatFluxTemperatureFvPatchScalarField
123         (
124             const solidWallHeatFluxTemperatureFvPatchScalarField&,
125             const DimensionedField<scalar, volMesh>&
126         );
128         //- Construct and return a clone setting internal field reference
129         virtual tmp<fvPatchScalarField> clone
130         (
131             const DimensionedField<scalar, volMesh>& iF
132         ) const
133         {
134             return tmp<fvPatchScalarField>
135             (
136                 new solidWallHeatFluxTemperatureFvPatchScalarField(*this, iF)
137             );
138         }
141     // Member functions
143         // Evaluation functions
145             //- Update the coefficients associated with the patch field
146             virtual void updateCoeffs();
149         // Mapping functions
151             //- Map (and resize as needed) from self given a mapping object
152             virtual void autoMap
153             (
154                 const fvPatchFieldMapper&
155             );
157             //- Reverse map the given fvPatchField onto this fvPatchField
158             virtual void rmap
159             (
160                 const fvPatchScalarField&,
161                 const labelList&
162             );
165         // I-O
167             //- Write
168             void write(Ostream&) const;
172 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174 } // End namespace Foam
176 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178 #endif
180 // ************************************************************************* //