Loading...
Searching...
No Matches
constantTransmissivity.C
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) 2015-2018, 2024 OpenCFD Ltd.
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
26\*---------------------------------------------------------------------------*/
27
31// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
33namespace Foam
34{
35 namespace radiation
36 {
38
40 (
44 );
45 }
46}
47
48
49// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
50
52(
53 const dictionary& dict,
54 const polyPatch& pp
55)
56:
58 coeffsDict_(dict),
59 tau_(Function1<scalar>::New("transmissivity", coeffsDict_))
60{}
61
62
63// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
64
66(
67 const label bandI,
68 const vectorField* incomingDirection,
69 const scalarField* T
70) const
71{
72 if (tau_->constant())
73 {
74 // Use arbitrary argument for a_
75 return tmp<scalarField>::New(pp_.size(), tau_->value(0));
76 }
77
78 if (T)
79 {
80 return tau_->value(*T);
81 }
82
84 << "Attempted to set 't' using a non-uniform function of Temperature, "
85 << "but temperature field is unavailable"
86 << abort(FatalError);
87
88 return nullptr;
89}
90
91
93(
94 const label faceI,
95 const label bandI,
96 const vector dir,
97 const scalar T
98) const
99{
100 return tau_->value(T);
101}
102
103
104// ************************************************************************* //
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
Definition Function1.H:92
void size(const label n)
Older name for setAddressableSize.
Definition UList.H:118
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
A patch is a list of labels that address the faces in the global face list.
Definition polyPatch.H:73
Constant radiation transmissivity coefficient.
constantTransmissivity(const dictionary &dict, const polyPatch &pp)
Construct from components.
tmp< scalarField > t(const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const
Return transmissivity coefficient.
Base class for wall transmissivity models.
wallTransmissivityModel(const dictionary &dict, const polyPatch &pp)
Construct from components.
const polyPatch & pp_
Reference to the polyPatch.
static autoPtr< wallTransmissivityModel > New(const dictionary &dict, const polyPatch &pp)
A class for managing temporary objects.
Definition tmp.H:75
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
Definition tmp.H:215
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition className.H:142
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Definition error.H:600
Namespace for radiation modelling.
Namespace for OpenFOAM.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
errorManip< error > abort(error &err)
Definition errorManip.H:139
Field< vector > vectorField
Specialisation of Field<T> for vector.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
Vector< scalar > vector
Definition vector.H:57
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dictionary dict