56 radZonePropertiesPtrList_(
mesh.faceZones().size())
60 boundaryRadiationProperties::typeName,
88 for (
const auto&
pp :
pbm)
90 const label patchi =
pp.index();
96 if (eptr && eptr->isDict())
98 radBoundaryPropertiesPtrList_.set
109 != radBoundaryPropertiesPtrList_[patchi].nBands()
113 <<
"Radiation bands : " << nBands <<
nl 114 <<
"Bands on patch : " << patchi <<
" is " 115 << radBoundaryPropertiesPtrList_[patchi].nBands()
133 for (
const auto& fz : fzs)
135 const label zonei = fz.index();
137 if (!matchedEntries.
contains(fz.name()))
142 const auto* eptr = radiationDict.
findEntry 148 if (eptr && eptr->isDict())
150 radZonePropertiesPtrList_.set
160 matchedEntries.
insert(fz.name());
165 != radZonePropertiesPtrList_[zonei].nBands()
169 <<
"Radiation bands : " << nBands <<
nl 170 <<
"Bands on zone : " << zonei <<
" is " 171 << radBoundaryPropertiesPtrList_
196 if (radBoundaryPropertiesPtrList_.set(patchi))
198 return radBoundaryPropertiesPtrList_[patchi].e
207 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
208 <<
" is not found in the boundaryRadiationProperties. " 225 if (radBoundaryPropertiesPtrList_.set(patchi))
227 return radBoundaryPropertiesPtrList_[patchi].e
237 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
238 <<
" is not found in the boundaryRadiationProperties. " 255 if (radBoundaryPropertiesPtrList_.set(patchi))
257 return radBoundaryPropertiesPtrList_[patchi].a
266 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
267 <<
" is not found in the boundaryRadiationProperties. " 284 if (radBoundaryPropertiesPtrList_.set(patchi))
286 return radBoundaryPropertiesPtrList_[patchi].a
296 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
297 <<
" is not found in the boundaryRadiationProperties. " 314 if (radBoundaryPropertiesPtrList_.set(patchi))
316 return radBoundaryPropertiesPtrList_[patchi].t
325 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
326 <<
" is not found in the boundaryRadiationProperties. " 343 if (radBoundaryPropertiesPtrList_.set(patchi))
345 return radBoundaryPropertiesPtrList_[patchi].t
355 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
356 <<
" is not found in the boundaryRadiationProperties. " 374 if (radZonePropertiesPtrList_.set(zonei))
377 auto&
fld = tfld.ref();
380 fld[i] = radZonePropertiesPtrList_[zonei].t
392 <<
"Zone : " <<
mesh().faceZones()[zonei].name()
393 <<
" is not found in the boundaryRadiationProperties. " 410 if (radBoundaryPropertiesPtrList_.set(patchi))
412 return radBoundaryPropertiesPtrList_[patchi].rDiff
421 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
422 <<
" is not found in the boundaryRadiationProperties. " 439 if (radBoundaryPropertiesPtrList_.set(patchi))
441 return radBoundaryPropertiesPtrList_[patchi].rDiff
451 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
452 <<
" is not found in the boundaryRadiationProperties. " 469 if (radBoundaryPropertiesPtrList_.set(patchi))
471 return radBoundaryPropertiesPtrList_[patchi].rSpec
480 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
481 <<
" is not found in the boundaryRadiationProperties. " 498 if (radBoundaryPropertiesPtrList_.set(patchi))
500 return radBoundaryPropertiesPtrList_[patchi].rSpec
510 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
511 <<
" is not found in the boundaryRadiationProperties. " Boundary radiation properties holder.
const polyBoundaryMesh & pbm
void size(const label n)
Older name for setAddressableSize.
const Type & lookupObject(const word &name, const bool recursive=false) const
Lookup and return const reference to the object of the given Type. Fatal if not found or the wrong ty...
scalar faceAbsorptivity(const label patchI, const label faceI, const label bandI=0, vector incomingDirection=Zero, scalar T=0) const
Access boundary absorptivity on face.
scalar faceTransmissivity(const label patchI, const label faceI, const label bandI=0, vector incomingDirection=Zero, scalar T=0) const
Access boundary transmissivity on face.
errorManipArg< error, int > exit(error &err, const int errNo=1)
scalar faceEmissivity(const label patchI, const label faceI, const label bandI=0, vector incomingDirection=Zero, scalar T=0) const
Access boundary emissivity on face.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
constexpr char nl
The newline '\n' character (0x0a)
defineTypeNameAndDebug(cloudAbsorptionEmission, 0)
tmp< scalarField > specReflectivity(const label patchI, const label bandI=0, vectorField *incomingDirection=nullptr, scalarField *T=nullptr) const
Access boundary specular reflectivity on patch.
Ignore writing from objectRegistry::writeObject()
const Time & time() const
Return the top-level database.
bool insert(const Key &key)
Insert a new entry, not overwriting existing entries.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
#define forAll(list, i)
Loop across all elements in list.
tmp< scalarField > absorptivity(const label patchI, const label bandI=0, vectorField *incomingDirection=nullptr, scalarField *T=nullptr) const
Access boundary absorptivity on patch.
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
bool contains(const Key &key) const
True if hashed key is contained (found) in table.
const fvMesh & mesh() const noexcept
Reference to the mesh.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
Top level model for radiation modelling.
errorManip< error > abort(error &err)
scalar faceDiffReflectivity(const label patchI, const label faceI, const label bandI=0, vector incomingDirection=Zero, scalar T=0) const
Access boundary diffuse reflectivity on face.
boundaryRadiationProperties(const fvMesh &)
Construct given fvMesh.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
const word & constant() const noexcept
Return constant name.
const faceZoneMesh & faceZones() const noexcept
Return face zone mesh.
tmp< scalarField > diffReflectivity(const label patchI, const label bandI=0, vectorField *incomingDirection=nullptr, scalarField *T=nullptr) const
Access boundary diffuse reflectivity on patch.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< ' ';}gmvFile<< nl;for(const word &name :lagrangianScalarNames){ IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
tmp< scalarField > zoneTransmissivity(const label zoneI, const labelUList &faceIDs, const label bandI=0, vector incomingDirection=Zero, scalar T=0) const
Access transmissivity on set of (internal) faces. Zone name only.
tmp< scalarField > transmissivity(const label patchI, const label bandI=0, vectorField *incomingDirection=nullptr, scalarField *T=nullptr) const
Access boundary transmissivity on patch.
Mesh data needed to do the Finite Volume discretisation.
scalar faceSpecReflectivity(const label patchI, const label faceI, const label bandI=0, vector incomingDirection=Zero, scalar T=0) const
Access boundary specular reflectivity on face.
const entry * findEntry(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find an entry (const access) with the given keyword.
tmp< scalarField > emissivity(const label patchI, const label bandI=0, vectorField *incomingDirection=nullptr, scalarField *T=nullptr) const
Access boundary emissivity on patch.
A class for managing temporary objects.
static autoPtr< boundaryRadiationPropertiesPatch > New(const dictionary &dict, const polyPatch &pp)
Selector.
Defines the attributes of an object for which implicit objectRegistry management is supported...
Do not request registration (bool: false)
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
static constexpr const zero Zero
Global zero (0)