Loading...
Searching...
No Matches
MarshakRadiationFixedTemperatureFvPatchScalarField.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011-2016 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::MarshakRadiationFixedTemperatureFvPatchScalarField
28
29Group
30 grpThermoBoundaryConditions
31
32Description
33 A 'mixed' boundary condition that implements a Marshak condition for the
34 incident radiation field (usually written as G)
35
36 The radiation temperature field across the patch is supplied by the user
37 using the \c Trad entry.
38
39Usage
40 \table
41 Property | Description | Required | Default value
42 T | temperature field name | no | T
43 \endtable
44
45 Example of the boundary condition specification:
46 \verbatim
47 <patchName>
48 {
49 type MarshakRadiationFixedTemperature;
50 Trad uniform 1000; // radiation temperature field
51 value uniform 0; // place holder
52 }
53 \endverbatim
54
55See also
56 Foam::radiationCoupledBase
57 Foam::mixedFvPatchField
58
59SourceFiles
60 MarshakRadiationFixedTemperatureFvPatchScalarField.C
61
62\*---------------------------------------------------------------------------*/
63
64#ifndef MarshakRadiationFixedTemperatureFvPatchScalarField_H
65#define MarshakRadiationFixedTemperatureFvPatchScalarField_H
66
67#include "mixedFvPatchFields.H"
68
69// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
70
71namespace Foam
72{
73namespace radiation
74{
75/*---------------------------------------------------------------------------*\
76 Class MarshakRadiationFixedTemperatureFvPatchScalarField Declaration
77\*---------------------------------------------------------------------------*/
78
80:
81 public mixedFvPatchScalarField
82 //public radiationCoupledBase
83{
85 // Private data
86
87 //- Radiation temperature field
88 scalarField Trad_;
89
90
91public:
92
93 //- Runtime type information
94 TypeName("MarshakRadiationFixedTemperature");
95
96
97 // Constructors
98
99 //- Construct from patch and internal field
101 (
102 const fvPatch&,
104 );
105
106 //- Construct from patch, internal field and dictionary
108 (
109 const fvPatch&,
111 const dictionary&
112 );
113
114 //- Construct by mapping given MarshakRadiationFvPatchField onto a new
115 // patch
117 (
119 const fvPatch&,
121 const fvPatchFieldMapper&
122 );
123
124 //- Construct as copy
126 (
128 );
129
130 //- Construct as copy setting internal field reference
132 (
135 );
136
137 //- Return a clone
138 virtual tmp<fvPatchField<scalar>> clone() const
139 {
140 return fvPatchField<scalar>::Clone(*this);
141 }
142
143 //- Clone with an internal field reference
145 (
147 ) const
148 {
149 return fvPatchField<scalar>::Clone(*this, iF);
150 }
151
152
153 // Member functions
154
155 // Access
156
157 //- Return the radiation temperature
158 const scalarField& Trad() const
159 {
160 return Trad_;
161 }
162
163 //- Return reference to the radiation temperature to allow
164 // adjustment
166 {
167 return Trad_;
169
170
171 // Mapping functions
172
173 //- Map (and resize as needed) from self given a mapping object
174 virtual void autoMap
175 (
176 const fvPatchFieldMapper&
177 );
178
179 //- Reverse map the given fvPatchField onto this fvPatchField
180 virtual void rmap
181 (
182 const fvPatchScalarField&,
183 const labelList&
184 );
185
186
187 // Evaluation functions
188
189 //- Update the coefficients associated with the patch field
190 virtual void updateCoeffs();
191
192
193 // I-O
195 //- Write
196 virtual void write(Ostream&) const;
197};
198
199
200// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
201
202} // End namespace radiation
203} // End namespace Foam
204
205// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206
207#endif
208
209// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A 'mixed' boundary condition that implements a Marshak condition for the incident radiation field (us...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition Ostream.H:59
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
A FieldMapper for finite-volume patch fields.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition fvPatch.H:71
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual tmp< fvPatchField< scalar > > clone(const DimensionedField< scalar, volMesh > &iF) const
Clone with an internal field reference.
scalarField & Trad()
Return reference to the radiation temperature to allow.
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
MarshakRadiationFixedTemperatureFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
TypeName("MarshakRadiationFixedTemperature")
Runtime type information.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A class for managing temporary objects.
Definition tmp.H:75
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
Namespace for OpenFOAM.
List< label > labelList
A List of labels.
Definition List.H:62
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
fvPatchField< scalar > fvPatchScalarField
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68