36#ifndef Foam_radiation_boundaryRadiationPropertiesPatch_H
37#define Foam_radiation_boundaryRadiationPropertiesPatch_H
71 label nbrPatchIndex()
const;
74 const fvMesh& nbrRegion()
const;
91 TypeName(
"boundaryRadiationPropertiesPatch");
140 const label bandI = 0,
149 const label bandI = 0,
157 const label bandI = 0,
166 const label bandI = 0,
174 const label bandI = 0,
183 const label bandI = 0,
191 const label bandI = 0,
200 const label bandI = 0,
208 const label bandI = 0,
217 const label bandI = 0,
223 virtual bool isGrey()
const = 0;
226 virtual label
nBands()
const = 0;
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
A patch is a list of labels that address the faces in the global face list.
TypeName("boundaryRadiationPropertiesPatch")
Runtime type information.
const wallTransmissivityModel & transmissiveModel() const
Return transmissivityModel.
const wallAbsorptionEmissionModel & absorptionEmission() const
Return absorptionEmissionModel.
virtual scalar a(const label faceI, const label bandI=0, const vector &dir=Zero, const scalar T=0) const =0
Return absorptivity on face.
static autoPtr< boundaryRadiationPropertiesPatch > New(const dictionary &dict, const polyPatch &pp)
Selector.
virtual scalar rSpec(const label faceI, const label bandI=0, const vector &dir=Zero, const scalar T=0) const =0
Return specular reflectivity on face.
virtual tmp< scalarField > e(const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const =0
Return emissivity on patch.
declareRunTimeSelectionTable(autoPtr, boundaryRadiationPropertiesPatch, dictionary,(const dictionary &dict, const polyPatch &pp),(dict, pp))
virtual tmp< scalarField > rSpec(const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const =0
Return specular reflectivity on patch.
virtual bool isGrey() const =0
Is Grey.
virtual label nBands() const =0
Number of bands.
virtual scalar t(const label faceI, const label bandI=0, const vector &dir=Zero, const scalar T=0) const =0
Return transmissivity on face.
virtual ~boundaryRadiationPropertiesPatch()=default
Destructor.
virtual tmp< scalarField > a(const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const =0
Return absorptivity on patch.
autoPtr< wallAbsorptionEmissionModel > absorptionEmission_
Absorption/emission model.
virtual scalar rDiff(const label faceI, const label bandI=0, const vector &dir=Zero, const scalar T=0) const =0
Return diffusive reflectivity on face.
virtual scalar e(const label faceI, const label bandI=0, const vector &dir=Zero, const scalar T=0) const =0
Return emissivity on face.
virtual tmp< scalarField > t(const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const =0
Return transmissivity on patch.
virtual tmp< scalarField > rDiff(const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const =0
Return diffusive reflectivity on patch.
boundaryRadiationPropertiesPatch(const dictionary &, const polyPatch &)
Construct from patch, internal field and dictionary.
autoPtr< wallTransmissivityModel > transmissivity_
Transmissivity model.
Based class for wall absorption emission models.
Base class for wall transmissivity models.
A class for managing temporary objects.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
static constexpr const zero Zero
Global zero (0).
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.