56 radZonePropertiesPtrList_(
mesh.faceZones().size())
60 boundaryRadiationProperties::typeName,
88 for (
const auto& pp : pbm)
90 const label patchi = pp.index();
92 const auto* ePtr = radiationDict.
findEntry(pp.name());
94 if (ePtr && ePtr->isDict())
96 radBoundaryPropertiesPtrList_.set
102 matchedEntries.
insert(pp.name());
107 != radBoundaryPropertiesPtrList_[patchi].nBands()
111 <<
"Radiation bands : " << nBands <<
nl 112 <<
"Bands on patch : " << patchi <<
" is " 113 << radBoundaryPropertiesPtrList_[patchi].nBands()
131 for (
const auto& fz : fzs)
133 const label zonei = fz.index();
135 if (!matchedEntries.
found(fz.name()))
139 const auto* ePtr = radiationDict.
findEntry 153 const dictionary&
dict = ePtr->dict();
155 radZonePropertiesPtrList_.set
165 matchedEntries.
insert(fz.name());
170 != radZonePropertiesPtrList_[zonei].nBands()
174 <<
"Radiation bands : " << nBands <<
nl 175 <<
"Bands on zone : " << zonei <<
" is " 176 << radBoundaryPropertiesPtrList_
201 if (radBoundaryPropertiesPtrList_.set(patchi))
203 return radBoundaryPropertiesPtrList_[patchi].e
212 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
213 <<
" is not found in the boundaryRadiationProperties. " 230 if (radBoundaryPropertiesPtrList_.set(patchi))
232 return radBoundaryPropertiesPtrList_[patchi].e
242 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
243 <<
" is not found in the boundaryRadiationProperties. " 260 if (radBoundaryPropertiesPtrList_.set(patchi))
262 return radBoundaryPropertiesPtrList_[patchi].a
271 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
272 <<
" is not found in the boundaryRadiationProperties. " 289 if (radBoundaryPropertiesPtrList_.set(patchi))
291 return radBoundaryPropertiesPtrList_[patchi].a
301 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
302 <<
" is not found in the boundaryRadiationProperties. " 319 if (radBoundaryPropertiesPtrList_.set(patchi))
321 return radBoundaryPropertiesPtrList_[patchi].t
330 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
331 <<
" is not found in the boundaryRadiationProperties. " 348 if (radBoundaryPropertiesPtrList_.set(patchi))
350 return radBoundaryPropertiesPtrList_[patchi].t
360 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
361 <<
" is not found in the boundaryRadiationProperties. " 379 if (radZonePropertiesPtrList_.set(zonei))
382 auto&
fld = tfld.ref();
385 fld[i] = radZonePropertiesPtrList_[zonei].t
397 <<
"Zone : " <<
mesh().faceZones()[zonei].name()
398 <<
" is not found in the boundaryRadiationProperties. " 415 if (radBoundaryPropertiesPtrList_.set(patchi))
417 return radBoundaryPropertiesPtrList_[patchi].rDiff
426 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
427 <<
" is not found in the boundaryRadiationProperties. " 444 if (radBoundaryPropertiesPtrList_.set(patchi))
446 return radBoundaryPropertiesPtrList_[patchi].rDiff
456 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
457 <<
" is not found in the boundaryRadiationProperties. " 474 if (radBoundaryPropertiesPtrList_.set(patchi))
476 return radBoundaryPropertiesPtrList_[patchi].rSpec
485 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
486 <<
" is not found in the boundaryRadiationProperties. " 503 if (radBoundaryPropertiesPtrList_.set(patchi))
505 return radBoundaryPropertiesPtrList_[patchi].rSpec
515 <<
"Patch : " <<
mesh().boundaryMesh()[patchi].name()
516 <<
" is not found in the boundaryRadiationProperties. " const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Boundary radiation properties holder.
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.
bool found(const Key &key) const
True if hashed key is found in table.
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...
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.
const fvMesh & mesh() const
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...
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
static constexpr const zero Zero
Global zero (0)