Merge remote-tracking branch 'origin/BUGFIX/radiationBCConstructor'
[foam-extend-3.0.git] / applications / solvers / coupled / conjugateHeatFoam / conjugateHeatTransfer / fvPatchFields / externalRadiation / ersConstantFlux / ersConstantFlux.H
blob26a451aaf8ccba94c8e7e12bb014d7edcbcd8a17
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     Foam::ersConstantFlux
27 Description
28     helper class to sum up external radiation sources
30       
31 SourceFiles
32     ersConstantFlux.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef ersConstantFlux_H
37 #define ersConstantFlux_H
39 #include "externalRadiationSource.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 namespace Foam
46 /*---------------------------------------------------------------------------*\
47                   Class wallHeatTransferFvPatch Declaration
48 \*---------------------------------------------------------------------------*/
50 class ersConstantFlux
52     public externalRadiationSource
54     // Private data
56         //- heat flux
57         scalarField q_;
60 public:
62     //- Runtime type information
63     TypeName("constantFlux");
66     // Constructors
68         //- Construct from components
69         explicit ersConstantFlux
70         (
71             const word& name,
72             const dictionary& dict,
73             const fvPatch& p
74         );
76         explicit ersConstantFlux
77         (
78             const word& name
79         );
81         //- Construct and return a clone
82         virtual autoPtr<externalRadiationSource> clone() const
83         {
84             return autoPtr<externalRadiationSource>
85             (
86                 new ersConstantFlux(*this)
87             );
88         }
90     // Destructor
92         virtual ~ersConstantFlux()
93         {};
96     // Member functions
98         // Access
100         const scalarField& q() const
101         {
102             return q_;
103         };
105         scalarField& q()
106         {
107             return q_;
108         };
111         // Mapping functions
113         // Evaluation functions
115             //- Return heat flux
116             virtual tmp<scalarField> q(const scalarField&) const
117             {
118                 return q_;
119             }
122         //- Write
123         virtual void write(Ostream&) const;
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129 } // End namespace Foam
131 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 #endif
135 // ************************************************************************* //