49 MeshObject_type(
mesh),
52 radZonePropertiesPtrList_(
mesh.faceZones().size())
56 boundaryRadiationProperties::typeName,
84 for (
const auto&
pp :
pbm)
86 const label patchi =
pp.index();
92 if (eptr && eptr->isDict())
94 radBoundaryPropertiesPtrList_.set
105 != radBoundaryPropertiesPtrList_[patchi].nBands()
109 <<
"Radiation bands : " << nBands <<
nl 110 <<
"Bands on patch : " << patchi <<
" is " 111 << radBoundaryPropertiesPtrList_[patchi].nBands()
129 for (
const auto& fz : fzs)
131 const label zonei = fz.index();
133 if (!matchedEntries.
contains(fz.name()))
138 const auto* eptr = radiationDict.
findEntry 144 if (eptr && eptr->isDict())
146 radZonePropertiesPtrList_.set
156 matchedEntries.
insert(fz.name());
161 != radZonePropertiesPtrList_[zonei].nBands()
165 <<
"Radiation bands : " << nBands <<
nl 166 <<
"Bands on zone : " << zonei <<
" is " 167 << radBoundaryPropertiesPtrList_
192 if (radBoundaryPropertiesPtrList_.set(patchi))
194 return radBoundaryPropertiesPtrList_[patchi].e
203 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
204 <<
" is not found in the boundaryRadiationProperties. " 221 if (radBoundaryPropertiesPtrList_.set(patchi))
223 return radBoundaryPropertiesPtrList_[patchi].e
233 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
234 <<
" is not found in the boundaryRadiationProperties. " 251 if (radBoundaryPropertiesPtrList_.set(patchi))
253 return radBoundaryPropertiesPtrList_[patchi].a
262 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
263 <<
" is not found in the boundaryRadiationProperties. " 280 if (radBoundaryPropertiesPtrList_.set(patchi))
282 return radBoundaryPropertiesPtrList_[patchi].a
292 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
293 <<
" is not found in the boundaryRadiationProperties. " 310 if (radBoundaryPropertiesPtrList_.set(patchi))
312 return radBoundaryPropertiesPtrList_[patchi].t
321 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
322 <<
" is not found in the boundaryRadiationProperties. " 339 if (radBoundaryPropertiesPtrList_.set(patchi))
341 return radBoundaryPropertiesPtrList_[patchi].t
351 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
352 <<
" is not found in the boundaryRadiationProperties. " 370 if (radZonePropertiesPtrList_.set(zonei))
373 auto&
fld = tfld.ref();
376 fld[i] = radZonePropertiesPtrList_[zonei].t
388 <<
"Zone : " <<
mesh().faceZones()[zonei].name()
389 <<
" is not found in the boundaryRadiationProperties. " 406 if (radBoundaryPropertiesPtrList_.set(patchi))
408 return radBoundaryPropertiesPtrList_[patchi].rDiff
417 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
418 <<
" is not found in the boundaryRadiationProperties. " 435 if (radBoundaryPropertiesPtrList_.set(patchi))
437 return radBoundaryPropertiesPtrList_[patchi].rDiff
447 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
448 <<
" is not found in the boundaryRadiationProperties. " 465 if (radBoundaryPropertiesPtrList_.set(patchi))
467 return radBoundaryPropertiesPtrList_[patchi].rSpec
476 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
477 <<
" is not found in the boundaryRadiationProperties. " 494 if (radBoundaryPropertiesPtrList_.set(patchi))
496 return radBoundaryPropertiesPtrList_[patchi].rSpec
506 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
507 <<
" is not found in the boundaryRadiationProperties. "
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)
tmp< scalarField > diffReflectivity(const label patchI, const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const
Access boundary diffuse reflectivity on patch.
defineTypeNameAndDebug(cloudAbsorptionEmission, 0)
tmp< scalarField > absorptivity(const label patchI, const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const
Access boundary absorptivity on patch.
tmp< scalarField > emissivity(const label patchI, const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const
Access boundary emissivity 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.
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.
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.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
tmp< scalarField > transmissivity(const label patchI, const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const
Access boundary transmissivity on patch.
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 > specReflectivity(const label patchI, const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const
Access boundary specular reflectivity on patch.
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.
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.
boundaryRadiationProperties(const fvMesh &mesh)
Construct given fvMesh.
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)