INT: Updates for radiation modelling for integration into the develop branch

This commit is contained in:
Andrew Heather
2019-05-02 10:40:16 +01:00
parent 659526101a
commit af9334631f
35 changed files with 22389 additions and 22540 deletions

View File

@ -246,6 +246,7 @@ void Foam::faceReflecting::initialise(const dictionary& coeffs)
} }
} }
void Foam::faceReflecting::calculate() void Foam::faceReflecting::calculate()
{ {
const radiation::boundaryRadiationProperties& boundaryRadiation = const radiation::boundaryRadiationProperties& boundaryRadiation =
@ -355,11 +356,11 @@ void Foam::faceReflecting::calculate()
const label myFaceId = shootFacesIds_()[i]; const label myFaceId = shootFacesIds_()[i];
forAll (refDisDirsIndex, dirIndex) forAll(refDisDirsIndex, dirIndex)
{ {
if (refDisDirsIndex[dirIndex] > -1) if (refDisDirsIndex[dirIndex] > -1)
{ {
if ( (nf & refDiscAngles_[dirIndex]) > 0) if ((nf & refDiscAngles_[dirIndex]) > 0)
{ {
const vector direction = -refDiscAngles_[dirIndex]; const vector direction = -refDiscAngles_[dirIndex];
@ -392,9 +393,9 @@ void Foam::faceReflecting::calculate()
); );
const mapDistribute& map = mapPtr(); const mapDistribute& map = mapPtr();
PtrList<List<scalarField> > patchr(patches.size()); PtrList<List<scalarField>> patchr(patches.size());
PtrList<List<scalarField> > patcha(patches.size()); PtrList<List<scalarField>> patcha(patches.size());
forAll (patchr, patchi) forAll(patchr, patchi)
{ {
patchr.set patchr.set
( (
@ -410,7 +411,7 @@ void Foam::faceReflecting::calculate()
} }
// Fill patchr // Fill patchr
forAll (patchr, patchi) forAll(patchr, patchi)
{ {
for (label bandI = 0; bandI < nBands; bandI++) for (label bandI = 0; bandI < nBands; bandI++)
{ {
@ -483,7 +484,7 @@ void Foam::faceReflecting::calculate()
{ {
if if
( (
dirStartIndex[rayI]==refDirIndex[rayI] dirStartIndex[rayI] == refDirIndex[rayI]
&& refFacesDirIndex.found(refIndex[rayI]) && refFacesDirIndex.found(refIndex[rayI])
) )
{ {
@ -509,8 +510,11 @@ void Foam::faceReflecting::calculate()
qrefBf[startPatchI][localStartFaceI] += qrefBf[startPatchI][localStartFaceI] +=
( (
( (
mag(qPrim)*r[bandI][rayI]*spectralDistribution_[bandI] mag(qPrim)
*a*rayIn *r[bandI][rayI]
*spectralDistribution_[bandI]
*a
*rayIn
) )
& nStart[localStartFaceI] & nStart[localStartFaceI]
); );
@ -523,7 +527,6 @@ void Foam::faceReflecting::calculate()
startIndex.clear(); startIndex.clear();
end.clear(); end.clear();
dirStartIndex.clear(); dirStartIndex.clear();
} }
@ -557,11 +560,6 @@ Foam::faceReflecting::faceReflecting
initialise(dict); initialise(dict);
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::faceReflecting::~faceReflecting()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //

View File

@ -104,6 +104,7 @@ class faceReflecting
//- Map from triSurface Index to global //- Map from triSurface Index to global
labelList mapTriToGlobal_; labelList mapTriToGlobal_;
// Private members // Private members
//- Calculate ray start faces //- Calculate ray start faces
@ -141,7 +142,7 @@ public:
//- Destructor //- Destructor
~faceReflecting(); ~faceReflecting() = default;
// Member Functions // Member Functions

View File

@ -40,7 +40,6 @@ namespace Foam
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::faceShading::writeRays void Foam::faceShading::writeRays
( (
const fileName& fName, const fileName& fName,
@ -91,10 +90,8 @@ Foam::triSurface Foam::faceShading::triangulate
f.triangles(points, nTri, triFaces); f.triangles(points, nTri, triFaces);
forAll(triFaces, triFaceI) for (const face& f : triFaces)
{ {
const face& f = triFaces[triFaceI];
triangles.append triangles.append
( (
labelledTri(f[0], f[1], f[2], newPatchI) labelledTri(f[0], f[1], f[2], newPatchI)
@ -235,10 +232,7 @@ void Foam::faceShading::calculate()
{ {
if (tau[faceI] == 0.0) if (tau[faceI] == 0.0)
{ {
includeAllFacesPerPatch[patchI].insert includeAllFacesPerPatch[patchI].insert(faceI);
(
faceI
);
} }
} }
} }
@ -361,9 +355,8 @@ void Foam::faceShading::calculate()
volScalarField::Boundary& hitFacesBf = hitFaces.boundaryFieldRef(); volScalarField::Boundary& hitFacesBf = hitFaces.boundaryFieldRef();
hitFacesBf = 0.0; hitFacesBf = 0.0;
forAll(rayStartFaces_, i) for (const label faceI : rayStartFaces_)
{ {
const label faceI = rayStartFaces_[i];
label patchID = patches.whichPatch(faceI); label patchID = patches.whichPatch(faceI);
const polyPatch& pp = patches[patchID]; const polyPatch& pp = patches[patchID];
hitFacesBf[patchID][faceI - pp.start()] = 1.0; hitFacesBf[patchID][faceI - pp.start()] = 1.0;
@ -394,7 +387,6 @@ Foam::faceShading::faceShading
{} {}
Foam::faceShading::faceShading Foam::faceShading::faceShading
( (
const fvMesh& mesh, const fvMesh& mesh,
@ -409,12 +401,6 @@ Foam::faceShading::faceShading
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::faceShading::~faceShading()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::faceShading::correct() void Foam::faceShading::correct()

View File

@ -125,7 +125,7 @@ public:
//- Destructor //- Destructor
~faceShading(); ~faceShading() = default;
// Member Functions // Member Functions

View File

@ -78,7 +78,7 @@ void Foam::radiation::solarLoad::updateReflectedRays
const scalarField& V = mesh_.V(); const scalarField& V = mesh_.V();
const polyBoundaryMesh& patches = mesh_.boundaryMesh(); const polyBoundaryMesh& patches = mesh_.boundaryMesh();
forAll (qrBf, patchID) forAll(qrBf, patchID)
{ {
if (includePatches[patchID]) if (includePatches[patchID])
{ {
@ -91,17 +91,19 @@ void Foam::radiation::solarLoad::updateReflectedRays
else else
{ {
const scalarField& sf = mesh_.magSf().boundaryField()[patchID]; const scalarField& sf = mesh_.magSf().boundaryField()[patchID];
const labelList cellIs = patches[patchID].faceCells(); const labelUList& cellIs = patches[patchID].faceCells();
for (label bandI = 0; bandI < nBands_; bandI++) for (label bandI = 0; bandI < nBands_; bandI++)
{ {
forAll (cellIs, i) forAll(cellIs, i)
{ {
const label cellI = cellIs[i]; const label cellI = cellIs[i];
Ru_[cellI] += Ru_[cellI] +=
(reflectedFaces_->qreflective(bandI). (
boundaryField()[patchID][i] * sf[i])/V[cellI]; reflectedFaces_->qreflective(bandI).
boundaryField()[patchID][i] * sf[i]
)/V[cellI];
} }
} }
} }
@ -143,8 +145,8 @@ bool Foam::radiation::solarLoad::updateHitFaces()
hitFaces_->direction() = solarCalc_.direction(); hitFaces_->direction() = solarCalc_.direction();
hitFaces_->correct(); hitFaces_->correct();
return true; return true;
break;
} }
break;
} }
} }
} }
@ -220,7 +222,6 @@ void Foam::radiation::solarLoad::updateDirectHitRadiation
const vectorField& sf = mesh_.Sf().boundaryField()[patchID]; const vectorField& sf = mesh_.Sf().boundaryField()[patchID];
const label cellI = pp.faceCells()[localFaceI]; const label cellI = pp.faceCells()[localFaceI];
{
Ru_[cellI] += Ru_[cellI] +=
(qPrim & sf[localFaceI]) (qPrim & sf[localFaceI])
* spectralDistribution_[bandI] * spectralDistribution_[bandI]
@ -229,7 +230,6 @@ void Foam::radiation::solarLoad::updateDirectHitRadiation
} }
} }
} }
}
} }
@ -817,11 +817,6 @@ Foam::radiation::solarLoad::solarLoad
initialise(dict); initialise(dict);
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::solarLoad::~solarLoad()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //

View File

@ -30,7 +30,6 @@ Group
grpRadiationModels grpRadiationModels
Description Description
The solar load radiation model includes Sun primary hits, their The solar load radiation model includes Sun primary hits, their
reflective fluxes and diffusive sky radiative fluxes. reflective fluxes and diffusive sky radiative fluxes.
@ -38,7 +37,8 @@ Description
The first reflected fluxes can be optionally included. A view factors The first reflected fluxes can be optionally included. A view factors
method is needed in order to include diffusive surface to surface fluxes. method is needed in order to include diffusive surface to surface fluxes.
The energy is included on "visible" walls by default. The sky diffusive radiation for horizontal and vertical walls is calculated following the The energy is included on "visible" walls by default. The sky diffusive
radiation for horizontal and vertical walls is calculated following the
Fair Weather Conditions Method from the ASHRAE Handbook. Fair Weather Conditions Method from the ASHRAE Handbook.
By default the energy is included in cells adjacent to the patches into By default the energy is included in cells adjacent to the patches into
@ -98,7 +98,7 @@ private:
autoPtr<faceReflecting> reflectedFaces_; autoPtr<faceReflecting> reflectedFaces_;
//- Source term for cells next to patches with flags solidCoupled //- Source term for cells next to patches with flags solidCoupled
// and wallCoupled false //- and wallCoupled false
DimensionedField<scalar, volMesh> Ru_; DimensionedField<scalar, volMesh> Ru_;
//- Solar calculator //- Solar calculator
@ -140,7 +140,6 @@ private:
// Private Member Functions // Private Member Functions
//- Initialise //- Initialise
void initialise(const dictionary&); void initialise(const dictionary&);
@ -189,7 +188,7 @@ public:
//- Destructor //- Destructor
virtual ~solarLoad(); virtual ~solarLoad() = default;
// Member functions // Member functions

View File

@ -335,12 +335,6 @@ Foam::radiation::viewFactor::viewFactor
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::viewFactor::~viewFactor()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::radiation::viewFactor::read() bool Foam::radiation::viewFactor::read()
@ -625,10 +619,10 @@ void Foam::radiation::viewFactor::calculate()
Pstream::listCombineGather(q, maxEqOp<scalar>()); Pstream::listCombineGather(q, maxEqOp<scalar>());
label globCoarseId = 0; label globCoarseId = 0;
forAll(selectedPatches_, i) for (const label patchID : selectedPatches_)
{ {
const label patchID = selectedPatches_[i];
const polyPatch& pp = mesh_.boundaryMesh()[patchID]; const polyPatch& pp = mesh_.boundaryMesh()[patchID];
if (pp.size() > 0) if (pp.size() > 0)
{ {
scalarField& qrp = qrBf[patchID]; scalarField& qrp = qrBf[patchID];

View File

@ -74,9 +74,20 @@ class viewFactor
: :
public radiationModel public radiationModel
{ {
private:
// Private Member Functions
//- No copy construct
viewFactor(const viewFactor&) = delete;
//- No copy assignment
void operator=(const viewFactor&) = delete;
protected: protected:
// Static data // Static data
//- Static name for view factor walls //- Static name for view factor walls
static const word viewFactorWalls; static const word viewFactorWalls;
@ -145,12 +156,6 @@ protected:
scalarSquareMatrix& matrix scalarSquareMatrix& matrix
); );
//- No copy construct
viewFactor(const viewFactor&) = delete;
//- No copy assignment
void operator=(const viewFactor&) = delete;
public: public:
@ -168,7 +173,7 @@ public:
//- Destructor //- Destructor
virtual ~viewFactor(); virtual ~viewFactor() = default;
// Member functions // Member functions

View File

@ -30,11 +30,13 @@ inline const Foam::volScalarField& Foam::radiation::viewFactor::qr() const
return qr_; return qr_;
} }
inline bool Foam::radiation::viewFactor::useSolarLoad() const inline bool Foam::radiation::viewFactor::useSolarLoad() const
{ {
return useSolarLoad_; return useSolarLoad_;
} }
inline label Foam::radiation::viewFactor::nBands() const inline label Foam::radiation::viewFactor::nBands() const
{ {
return nBands_; return nBands_;

View File

@ -97,8 +97,6 @@ Foam::radiation::boundaryRadiationProperties::boundaryRadiationProperties
<< abort(FatalError); << abort(FatalError);
} }
} }
} }
} }
} }
@ -399,10 +397,6 @@ Foam::scalar Foam::radiation::boundaryRadiationProperties::faceSpecReflectivity
return Zero; return Zero;
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::boundaryRadiationProperties::~boundaryRadiationProperties()
{}
// ************************************************************************* // // ************************************************************************* //

View File

@ -101,7 +101,6 @@ public:
scalar T = 0 scalar T = 0
) const; ) const;
//- Access boundary absorptivity on patch //- Access boundary absorptivity on patch
tmp<scalarField> absorptivity tmp<scalarField> absorptivity
( (
@ -111,7 +110,6 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const; ) const;
//- Access boundary absorptivity on face //- Access boundary absorptivity on face
scalar faceAbsorptivity scalar faceAbsorptivity
( (
@ -122,7 +120,6 @@ public:
scalar T = 0 scalar T = 0
) const; ) const;
//- Access boundary transmissivity on patch //- Access boundary transmissivity on patch
tmp<scalarField> transmissivity tmp<scalarField> transmissivity
( (
@ -132,7 +129,6 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const; ) const;
//- Access boundary transmissivity on face //- Access boundary transmissivity on face
scalar faceTransmissivity scalar faceTransmissivity
( (
@ -152,7 +148,6 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const; ) const;
//- Access boundary diffuse reflectivity on face //- Access boundary diffuse reflectivity on face
scalar faceDiffReflectivity scalar faceDiffReflectivity
( (
@ -163,7 +158,6 @@ public:
scalar T = 0 scalar T = 0
) const; ) const;
//- Access boundary specular reflectivity on patch //- Access boundary specular reflectivity on patch
tmp<scalarField> specReflectivity tmp<scalarField> specReflectivity
( (
@ -173,7 +167,6 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const; ) const;
//- Access boundary specular reflectivity on face //- Access boundary specular reflectivity on face
scalar faceSpecReflectivity scalar faceSpecReflectivity
( (
@ -186,7 +179,7 @@ public:
//- Destructor //- Destructor
~boundaryRadiationProperties(); ~boundaryRadiationProperties() = default;
}; };

View File

@ -51,23 +51,19 @@ Foam::radiation::boundaryRadiationPropertiesPatch::New
const polyPatch& pp const polyPatch& pp
) )
{ {
word modelType word modelType(dict.lookupCompat("type", {{"mode", 1812}}));
(
dict.lookupCompat("type", {{"mode", 1812}})
);
Info<< "Selecting boundary radiation Model: " Info<< "Selecting boundary radiation Model: "
<< modelType << endl; << modelType << endl;
dictionaryConstructorTable::iterator cstrIter = auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType);
dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end()) if (!cstrIter.found())
{ {
FatalErrorInFunction FatalErrorInFunction
<< "Unknown modelType type " << "Unknown modelType type "
<< modelType << endl << endl << modelType << nl << nl
<< "Valid radiation types are : " << endl << "Valid radiation types are : " << nl
<< dictionaryConstructorTablePtr_->sortedToc() << dictionaryConstructorTablePtr_->sortedToc()
<< exit(FatalError); << exit(FatalError);
} }
@ -75,6 +71,7 @@ Foam::radiation::boundaryRadiationPropertiesPatch::New
return cstrIter()(dict, pp); return cstrIter()(dict, pp);
} }
// * * * * * * * * * * * * * * * * Private functions * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Private functions * * * * * * * * * * * * //
Foam::label Foam::label
@ -113,12 +110,6 @@ boundaryRadiationPropertiesPatch
transmissivity_(nullptr) transmissivity_(nullptr)
{} {}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::boundaryRadiationPropertiesPatch::
~boundaryRadiationPropertiesPatch()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
@ -135,4 +126,11 @@ Foam::radiation::boundaryRadiationPropertiesPatch::transmissiveModel() const
return *transmissivity_; return *transmissivity_;
} }
void Foam::radiation::boundaryRadiationPropertiesPatch::write(Ostream& os) const
{
NotImplemented;
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -76,6 +76,7 @@ private:
protected: protected:
// Protected Member Functions
//- Absorption/emission model //- Absorption/emission model
autoPtr<wallAbsorptionEmissionModel> absorptionEmission_; autoPtr<wallAbsorptionEmissionModel> absorptionEmission_;
@ -106,7 +107,6 @@ public:
// Constructors // Constructors
//- Construct from patch, internal field and dictionary //- Construct from patch, internal field and dictionary
boundaryRadiationPropertiesPatch boundaryRadiationPropertiesPatch
( (
@ -123,12 +123,11 @@ public:
); );
//- Destructor //- Destructor
virtual ~boundaryRadiationPropertiesPatch(); virtual ~boundaryRadiationPropertiesPatch() = default;
// Member functions // Member functions
//- Return absorptionEmissionModel //- Return absorptionEmissionModel
const wallAbsorptionEmissionModel& absorptionEmission() const; const wallAbsorptionEmissionModel& absorptionEmission() const;
@ -143,17 +142,15 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const = 0; ) const = 0;
//- Return emissivity on face //- Return emissivity on face
virtual scalar e virtual scalar e
( (
const label faceI, const label faceI,
const label bandI = 0, const label bandI = 0,
const vector dir = Zero, const vector& dir = Zero,
const scalar T = 0 const scalar T = 0
) const = 0; ) const = 0;
//- Return absorptivity on patch //- Return absorptivity on patch
virtual tmp<scalarField> a virtual tmp<scalarField> a
( (
@ -162,17 +159,15 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const = 0; ) const = 0;
//- Return absorptivity on face //- Return absorptivity on face
virtual scalar a virtual scalar a
( (
const label faceI, const label faceI,
const label bandI = 0, const label bandI = 0,
const vector dir = Zero, const vector& dir = Zero,
const scalar T = 0 const scalar T = 0
) const = 0; ) const = 0;
//- Return transmissivity on patch //- Return transmissivity on patch
virtual tmp<scalarField> t virtual tmp<scalarField> t
( (
@ -181,17 +176,15 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const = 0; ) const = 0;
//- Return transmissivity on face //- Return transmissivity on face
virtual scalar t virtual scalar t
( (
const label faceI, const label faceI,
const label bandI = 0, const label bandI = 0,
const vector dir = Zero, const vector& dir = Zero,
const scalar T = 0 const scalar T = 0
) const = 0; ) const = 0;
//- Return specular reflectivity on patch //- Return specular reflectivity on patch
virtual tmp<scalarField> rSpec virtual tmp<scalarField> rSpec
( (
@ -200,17 +193,15 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const = 0; ) const = 0;
//- Return specular reflectivity on face //- Return specular reflectivity on face
virtual scalar rSpec virtual scalar rSpec
( (
const label faceI, const label faceI,
const label bandI = 0, const label bandI = 0,
const vector dir = Zero, const vector& dir = Zero,
const scalar T = 0 const scalar T = 0
) const = 0; ) const = 0;
//- Return diffusive reflectivity on patch //- Return diffusive reflectivity on patch
virtual tmp<scalarField> rDiff virtual tmp<scalarField> rDiff
( (
@ -219,13 +210,12 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const = 0; ) const = 0;
//- Return diffusive reflectivity on face //- Return diffusive reflectivity on face
virtual scalar rDiff virtual scalar rDiff
( (
const label faceI, const label faceI,
const label bandI = 0, const label bandI = 0,
const vector dir = Zero, const vector& dir = Zero,
const scalar T = 0 const scalar T = 0
) const = 0; ) const = 0;
@ -235,10 +225,8 @@ public:
//- Number of bands //- Number of bands
virtual label nBands() const = 0; virtual label nBands() const = 0;
//- Write //- Write
void write(Ostream&) const; virtual void write(Ostream&) const;
}; };

View File

@ -57,11 +57,6 @@ Foam::radiation::lookup::lookup
{} {}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * //
Foam::radiation::lookup::~lookup()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::scalarField> Foam::radiation::lookup::e Foam::tmp<Foam::scalarField> Foam::radiation::lookup::e
@ -83,7 +78,7 @@ Foam::scalar Foam::radiation::lookup::e
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -111,7 +106,7 @@ Foam::scalar Foam::radiation::lookup::a
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -138,7 +133,7 @@ Foam::scalar Foam::radiation::lookup::t
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -154,7 +149,7 @@ Foam::radiation::lookup::rSpec
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), Zero)); return tmp<scalarField>::New(pp_.size(), Zero);
} }
@ -162,7 +157,7 @@ Foam::scalar Foam::radiation::lookup::rSpec
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -178,7 +173,7 @@ Foam::radiation::lookup::rDiff
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), Zero)); return tmp<scalarField>::New(pp_.size(), Zero);
} }
@ -186,7 +181,7 @@ Foam::scalar Foam::radiation::lookup::rDiff
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -205,4 +200,5 @@ Foam::label Foam::radiation::lookup::nBands() const
return 1; return 1;
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -25,7 +25,6 @@ Class
Foam::radiation::lookup Foam::radiation::lookup
Description Description
Look up type of boundary radiation properties. Look up type of boundary radiation properties.
Usage Usage
@ -87,113 +86,100 @@ public:
//- Destructor //- Destructor
virtual ~lookup(); virtual ~lookup() = default;
// Member Functions // Member Functions
//- Return emissivity //- Return emissivity
tmp<scalarField> e virtual tmp<scalarField> e
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return emissivity on face //- Return emissivity on face
scalar e virtual scalar e
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return absorptivity on patch //- Return absorptivity on patch
tmp<scalarField> a virtual tmp<scalarField> a
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return absorptivity on face //- Return absorptivity on face
scalar a virtual scalar a
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return transmissivity on patch //- Return transmissivity on patch
tmp<scalarField> t virtual tmp<scalarField> t
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return transmissivity on face //- Return transmissivity on face
scalar t virtual scalar t
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return specular reflectivity on patch //- Return specular reflectivity on patch
tmp<scalarField> rSpec virtual tmp<scalarField> rSpec
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return specular reflectivity on face //- Return specular reflectivity on face
scalar rSpec virtual scalar rSpec
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return diffusive reflectivity on patch //- Return diffusive reflectivity on patch
tmp<scalarField> rDiff virtual tmp<scalarField> rDiff
( (
const label bandI, const label bandI,
vectorField* incomingDirection , vectorField* incomingDirection ,
scalarField* T scalarField* T
) const; ) const;
//- Return diffusive reflectivity on face //- Return diffusive reflectivity on face
scalar rDiff virtual scalar rDiff
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Is Grey //- Is Grey
virtual bool isGrey() const; virtual bool isGrey() const;
//- Number of bands //- Number of bands
virtual label nBands() const; virtual label nBands() const;
}; };

View File

@ -61,15 +61,9 @@ Foam::radiation::opaqueDiffusive::opaqueDiffusive
( (
wallAbsorptionEmissionModel::New(absorptionDict, pp).ptr() wallAbsorptionEmissionModel::New(absorptionDict, pp).ptr()
); );
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * //
Foam::radiation::opaqueDiffusive::~opaqueDiffusive()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::scalarField> Foam::radiation::opaqueDiffusive::e Foam::tmp<Foam::scalarField> Foam::radiation::opaqueDiffusive::e
@ -87,7 +81,7 @@ Foam::scalar Foam::radiation::opaqueDiffusive::e
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -111,7 +105,7 @@ Foam::scalar Foam::radiation::opaqueDiffusive::a
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -126,7 +120,7 @@ Foam::tmp<Foam::scalarField> Foam::radiation::opaqueDiffusive::t
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), 0.0)); return tmp<scalarField>::New(pp_.size(), 0.0);
} }
@ -134,7 +128,7 @@ Foam::scalar Foam::radiation::opaqueDiffusive::t
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -150,7 +144,7 @@ Foam::radiation::opaqueDiffusive::rSpec
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), Zero)); return tmp<scalarField>::New(pp_.size(), Zero);
} }
@ -158,7 +152,7 @@ Foam::scalar Foam::radiation::opaqueDiffusive::rSpec
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -173,7 +167,7 @@ Foam::tmp<Foam::scalarField> Foam::radiation::opaqueDiffusive::rDiff
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), Zero)); return tmp<scalarField>::New(pp_.size(), Zero);
} }
@ -181,7 +175,7 @@ Foam::scalar Foam::radiation::opaqueDiffusive::rDiff
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -200,4 +194,5 @@ Foam::label Foam::radiation::opaqueDiffusive::nBands() const
return absorptionEmission_->nBands(); return absorptionEmission_->nBands();
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -72,6 +72,7 @@ protected:
//- Reference to the polyPatch //- Reference to the polyPatch
const polyPatch& pp_; const polyPatch& pp_;
public: public:
//- Runtime type information //- Runtime type information
@ -84,113 +85,101 @@ public:
//- Destructor //- Destructor
virtual ~opaqueDiffusive(); virtual ~opaqueDiffusive() = default;
// Member Functions // Member Functions
//- Return emissivity //- Return emissivity
tmp<scalarField> e virtual tmp<scalarField> e
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return emissivity on face //- Return emissivity on face
scalar e virtual scalar e
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return absorptivity on patch //- Return absorptivity on patch
tmp<scalarField> a virtual tmp<scalarField> a
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return absorptivity on face //- Return absorptivity on face
scalar a virtual scalar a
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return transmissivity on patch //- Return transmissivity on patch
tmp<scalarField> t virtual tmp<scalarField> t
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return transmissivity on face //- Return transmissivity on face
scalar t virtual scalar t
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return specular reflectivity on patch //- Return specular reflectivity on patch
tmp<scalarField> rSpec virtual tmp<scalarField> rSpec
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return specular reflectivity on face //- Return specular reflectivity on face
scalar rSpec virtual scalar rSpec
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return diffusive reflectivity on patch //- Return diffusive reflectivity on patch
tmp<scalarField> rDiff virtual tmp<scalarField> rDiff
( (
const label bandI, const label bandI,
vectorField* incomingDirection , vectorField* incomingDirection ,
scalarField* T scalarField* T
) const; ) const;
//- Return diffusive reflectivity on face //- Return diffusive reflectivity on face
scalar rDiff virtual scalar rDiff
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Is Grey //- Is Grey
virtual bool isGrey() const; virtual bool isGrey() const;
//- Number of bands //- Number of bands
virtual label nBands() const; virtual label nBands() const;
}; };

View File

@ -62,15 +62,9 @@ Foam::radiation::opaqueReflective::opaqueReflective
( (
wallAbsorptionEmissionModel::New(absorptionDict, pp).ptr() wallAbsorptionEmissionModel::New(absorptionDict, pp).ptr()
); );
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * //
Foam::radiation::opaqueReflective::~opaqueReflective()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::scalarField> Foam::radiation::opaqueReflective::e Foam::tmp<Foam::scalarField> Foam::radiation::opaqueReflective::e
@ -88,7 +82,7 @@ Foam::scalar Foam::radiation::opaqueReflective::e
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -112,7 +106,7 @@ Foam::scalar Foam::radiation::opaqueReflective::a
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -127,7 +121,7 @@ Foam::tmp<Foam::scalarField> Foam::radiation::opaqueReflective::t
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), Zero)); return tmp<scalarField>::New(pp_.size(), Zero);
} }
@ -135,7 +129,7 @@ Foam::scalar Foam::radiation::opaqueReflective::t
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -159,7 +153,7 @@ Foam::scalar Foam::radiation::opaqueReflective::rSpec
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -183,7 +177,7 @@ Foam::scalar Foam::radiation::opaqueReflective::rDiff
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -202,4 +196,5 @@ Foam::label Foam::radiation::opaqueReflective::nBands() const
return absorptionEmission_->nBands(); return absorptionEmission_->nBands();
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -28,8 +28,8 @@ Description
Radiation boundary model for opaque reflective walls. It requires to Radiation boundary model for opaque reflective walls. It requires to
specify a wallAbsorptionEmissionModel and the reflected fraction specify a wallAbsorptionEmissionModel and the reflected fraction
in boundaryRadiationProperties file in boundaryRadiationProperties file
fd is the diffussive reflected fraction. 0 all the incoming flux is fd is the diffusive reflected fraction. 0 all the incoming flux is
specularly reflected and 1 all is diffussive reflected. fd is used specularly reflected and 1 all is diffusive reflected. fd is used
in the calculation of the specular reflection (rSpec) and the in the calculation of the specular reflection (rSpec) and the
diffusive reflection (rDiff). Absorptivity and emissivity are diffusive reflection (rDiff). Absorptivity and emissivity are
independent of fd. independent of fd.
@ -95,113 +95,101 @@ public:
//- Destructor //- Destructor
virtual ~opaqueReflective(); virtual ~opaqueReflective() = default;
// Member Functions // Member Functions
//- Return emissivity //- Return emissivity
tmp<scalarField> e virtual tmp<scalarField> e
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return emissivity on face //- Return emissivity on face
scalar e virtual scalar e
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return absorptivity on patch //- Return absorptivity on patch
tmp<scalarField> a virtual tmp<scalarField> a
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return absorptivity on face //- Return absorptivity on face
scalar a virtual scalar a
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return transmissivity on patch //- Return transmissivity on patch
tmp<scalarField> t virtual tmp<scalarField> t
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return transmissivity on face //- Return transmissivity on face
scalar t virtual scalar t
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return specular reflectivity on patch //- Return specular reflectivity on patch
tmp<scalarField> rSpec virtual tmp<scalarField> rSpec
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return specular reflectivity on face //- Return specular reflectivity on face
scalar rSpec virtual scalar rSpec
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return diffusive reflectivity on patch //- Return diffusive reflectivity on patch
tmp<scalarField> rDiff virtual tmp<scalarField> rDiff
( (
const label bandI, const label bandI,
vectorField* incomingDirection , vectorField* incomingDirection ,
scalarField* T scalarField* T
) const; ) const;
//- Return diffusive reflectivity on face //- Return diffusive reflectivity on face
scalar rDiff virtual scalar rDiff
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Is Grey //- Is Grey
virtual bool isGrey() const; virtual bool isGrey() const;
//- Number of bands //- Number of bands
virtual label nBands() const; virtual label nBands() const;
}; };

View File

@ -65,11 +65,6 @@ Foam::radiation::transparent::transparent
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * //
Foam::radiation::transparent::~transparent()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::scalarField> Foam::radiation::transparent::e Foam::tmp<Foam::scalarField> Foam::radiation::transparent::e
@ -87,7 +82,7 @@ Foam::scalar Foam::radiation::transparent::e
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -111,7 +106,7 @@ Foam::scalar Foam::radiation::transparent::a
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -126,7 +121,7 @@ Foam::tmp<Foam::scalarField> Foam::radiation::transparent::t
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), 1.0)); return tmp<scalarField>::New(pp_.size(), 1.0);
} }
@ -134,7 +129,7 @@ Foam::scalar Foam::radiation::transparent::t
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -150,7 +145,7 @@ Foam::radiation::transparent::rSpec
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), Zero)); return tmp<scalarField>::New(pp_.size(), Zero);
} }
@ -158,7 +153,7 @@ Foam::scalar Foam::radiation::transparent::rSpec
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -174,7 +169,7 @@ Foam::radiation::transparent::rDiff
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), Zero)); return tmp<scalarField>::New(pp_.size(), Zero);
} }
@ -182,7 +177,7 @@ Foam::scalar Foam::radiation::transparent::rDiff
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const ) const
{ {
@ -201,4 +196,5 @@ Foam::label Foam::radiation::transparent::nBands() const
return absorptionEmission_->nBands(); return absorptionEmission_->nBands();
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -72,6 +72,7 @@ protected:
//- Reference to the polyPatch //- Reference to the polyPatch
const polyPatch& pp_; const polyPatch& pp_;
public: public:
//- Runtime type information //- Runtime type information
@ -84,113 +85,101 @@ public:
//- Destructor //- Destructor
virtual ~transparent(); virtual ~transparent() = default;
// Member Functions // Member Functions
//- Return emissivity //- Return emissivity
tmp<scalarField> e virtual tmp<scalarField> e
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return emissivity on face //- Return emissivity on face
scalar e virtual scalar e
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return absorptivity on patch //- Return absorptivity on patch
tmp<scalarField> a virtual tmp<scalarField> a
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return absorptivity on face //- Return absorptivity on face
scalar a virtual scalar a
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return transmissivity on patch //- Return transmissivity on patch
tmp<scalarField> t virtual tmp<scalarField> t
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return transmissivity on face //- Return transmissivity on face
scalar t virtual scalar t
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return specular reflectivity on patch //- Return specular reflectivity on patch
tmp<scalarField> rSpec virtual tmp<scalarField> rSpec
( (
const label bandI, const label bandI,
vectorField* incomingDirection, vectorField* incomingDirection,
scalarField* T scalarField* T
) const; ) const;
//- Return specular reflectivity on face //- Return specular reflectivity on face
scalar rSpec virtual scalar rSpec
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Return diffusive reflectivity on patch //- Return diffusive reflectivity on patch
tmp<scalarField> rDiff virtual tmp<scalarField> rDiff
( (
const label bandI, const label bandI,
vectorField* incomingDirection , vectorField* incomingDirection ,
scalarField* T scalarField* T
) const; ) const;
//- Return diffusive reflectivity on face //- Return diffusive reflectivity on face
scalar rDiff virtual scalar rDiff
( (
const label faceI, const label faceI,
const label bandI, const label bandI,
const vector dir, const vector& dir,
const scalar T const scalar T
) const; ) const;
//- Is Grey //- Is Grey
virtual bool isGrey() const; virtual bool isGrey() const;
//- Number of bands //- Number of bands
virtual label nBands() const; virtual label nBands() const;
}; };

View File

@ -66,7 +66,7 @@ Foam::solarCalculator::sunLoadModelTypeNames_
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::solarCalculator::calculateBetaTetha() void Foam::solarCalculator::calculateBetaTheta()
{ {
scalar runTime = 0.0; scalar runTime = 0.0;
switch (sunDirectionModel_) switch (sunDirectionModel_)
@ -104,20 +104,20 @@ void Foam::solarCalculator::calculateBetaTetha()
scalar deltaRad = degToRad(delta); scalar deltaRad = degToRad(delta);
beta_ = max(asin(cos(L)*cos(deltaRad)*cos(H) + sin(L)*sin(deltaRad)), 1e-3); beta_ = max(asin(cos(L)*cos(deltaRad)*cos(H) + sin(L)*sin(deltaRad)), 1e-3);
tetha_ = acos((sin(beta_)*sin(L) - sin(deltaRad))/(cos(beta_)*cos(L))); theta_ = acos((sin(beta_)*sin(L) - sin(deltaRad))/(cos(beta_)*cos(L)));
// theta is the angle between the SOUTH axis and the Sun // theta is the angle between the SOUTH axis and the Sun
// If the hour angle is lower than zero (morning) the Sun is positioned // If the hour angle is lower than zero (morning) the Sun is positioned
// on the East side. // on the East side.
if (H < 0) if (H < 0)
{ {
tetha_ += 2*(constant::mathematical::pi - tetha_); theta_ += 2*(constant::mathematical::pi - theta_);
} }
if (debug) if (debug)
{ {
Info << tab << "altitude : " << radToDeg(beta_) << endl; Info << tab << "altitude : " << radToDeg(beta_) << endl;
Info << tab << "azimuth : " << radToDeg(tetha_) << endl; Info << tab << "azimuth : " << radToDeg(theta_) << endl;
} }
} }
@ -134,8 +134,8 @@ void Foam::solarCalculator::calculateSunDirection()
// Assuming 'z' vertical, 'y' North and 'x' East // Assuming 'z' vertical, 'y' North and 'x' East
direction_.z() = -sin(beta_); direction_.z() = -sin(beta_);
direction_.y() = cos(beta_)*cos(tetha_); // South axis direction_.y() = cos(beta_)*cos(theta_); // South axis
direction_.x() = cos(beta_)*sin(tetha_); // West axis direction_.x() = cos(beta_)*sin(theta_); // West axis
direction_.normalise(); direction_.normalise();
@ -166,7 +166,7 @@ void Foam::solarCalculator::init()
} }
else else
{ {
calculateBetaTetha(); calculateBetaTheta();
calculateSunDirection(); calculateSunDirection();
} }
@ -187,7 +187,7 @@ void Foam::solarCalculator::init()
sunTrackingUpdateInterval_ sunTrackingUpdateInterval_
); );
calculateBetaTetha(); calculateBetaTheta();
calculateSunDirection(); calculateSunDirection();
break; break;
} }
@ -214,7 +214,7 @@ void Foam::solarCalculator::init()
if (!dict_.readIfPresent("beta", beta_)) if (!dict_.readIfPresent("beta", beta_))
{ {
calculateBetaTetha(); calculateBetaTheta();
} }
directSolarRad_ = directSolarRad_ =
@ -254,7 +254,7 @@ Foam::solarCalculator::solarCalculator
A_(0.0), A_(0.0),
B_(0.0), B_(0.0),
beta_(0.0), beta_(0.0),
tetha_(0.0), theta_(0.0),
skyCloudCoverFraction_(0.0), skyCloudCoverFraction_(0.0),
Setrn_(0.0), Setrn_(0.0),
SunPrime_(0.0), SunPrime_(0.0),
@ -270,12 +270,6 @@ Foam::solarCalculator::solarCalculator
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solarCalculator::~solarCalculator()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::solarCalculator::correctSunDirection() void Foam::solarCalculator::correctSunDirection()
@ -288,7 +282,7 @@ void Foam::solarCalculator::correctSunDirection()
} }
case mSunDirTracking: case mSunDirTracking:
{ {
calculateBetaTetha(); calculateBetaTheta();
calculateSunDirection(); calculateSunDirection();
directSolarRad_ = A_/exp(B_/sin(max(beta_, ROOTVSMALL))); directSolarRad_ = A_/exp(B_/sin(max(beta_, ROOTVSMALL)));
break; break;

View File

@ -131,6 +131,7 @@ protected:
//- Sun load models //- Sun load models
static const Enum<sunLModel> sunLoadModelTypeNames_; static const Enum<sunLModel> sunLoadModelTypeNames_;
private: private:
// Private data // Private data
@ -158,7 +159,7 @@ private:
scalar A_; scalar A_;
scalar B_; scalar B_;
scalar beta_; scalar beta_;
scalar tetha_; scalar theta_;
//- Sky cloud cover fraction [0-1] //- Sky cloud cover fraction [0-1]
scalar skyCloudCoverFraction_; scalar skyCloudCoverFraction_;
@ -206,8 +207,8 @@ private:
//- Init //- Init
void init(); void init();
//- Calculate beta and tetha angles //- Calculate beta and theta angles
void calculateBetaTetha(); void calculateBetaTheta();
//- Calculate Sun direction //- Calculate Sun direction
void calculateSunDirection(); void calculateSunDirection();
@ -226,14 +227,14 @@ public:
//- Destructor //- Destructor
~solarCalculator(); ~solarCalculator() = default;
// Member Functions // Member Functions
// Access // Access
//- const acess to direction //- const access to direction
const vector& direction() const const vector& direction() const
{ {
return direction_; return direction_;
@ -275,10 +276,10 @@ public:
return beta_; return beta_;
} }
//- Return tetha //- Return theta
scalar tetha() scalar theta()
{ {
return tetha_; return theta_;
} }
//- Return Sun direction model //- Return Sun direction model

View File

@ -59,12 +59,6 @@ Foam::radiation::constantAbsorption::constantAbsorption
{} {}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::constantAbsorption::~constantAbsorption()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::a Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::a
@ -89,6 +83,7 @@ Foam::scalar Foam::radiation::constantAbsorption::a
return a_; return a_;
} }
Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::e Foam::tmp<Foam::scalarField> Foam::radiation::constantAbsorption::e
( (
const label bandI, const label bandI,

View File

@ -81,7 +81,7 @@ public:
//- Destructor //- Destructor
virtual ~constantAbsorption(); virtual ~constantAbsorption() = default;
// Member Functions // Member Functions
@ -120,14 +120,12 @@ public:
const scalar T = 0 const scalar T = 0
) const; ) const;
//- Is Grey //- Is Grey
inline bool isGrey() const inline bool isGrey() const
{ {
return true; return true;
} }
//- Number of bands //- Number of bands
inline label nBands() const inline label nBands() const
{ {

View File

@ -58,12 +58,6 @@ Foam::radiation::constantTransmissivity::constantTransmissivity
{} {}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::constantTransmissivity::~constantTransmissivity()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::scalarField> Foam::tmp<Foam::scalarField>
@ -74,7 +68,7 @@ Foam::radiation::constantTransmissivity::t
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), tau_)); return tmp<scalarField>::New(pp_.size(), tau_);
} }
@ -89,4 +83,5 @@ Foam::scalar Foam::radiation::constantTransmissivity::t
return tau_; return tau_;
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -78,7 +78,7 @@ public:
//- Destructor //- Destructor
virtual ~constantTransmissivity(); virtual ~constantTransmissivity() = default;
// Member Functions // Member Functions
@ -91,8 +91,7 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const; ) const;
//- Return transmissivity on facw
//- Return tranmissivity on facw
scalar t scalar t
( (
const label faceI, const label faceI,
@ -101,14 +100,12 @@ public:
const scalar T = 0 const scalar T = 0
) const; ) const;
//- Is Grey //- Is Grey
inline bool isGrey() const inline bool isGrey() const
{ {
return true; return true;
} }
//- Number of bands //- Number of bands
inline label nBands() const inline label nBands() const
{ {

View File

@ -62,12 +62,6 @@ Foam::radiation::multiBandTransmissivity::multiBandTransmissivity
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::multiBandTransmissivity::~multiBandTransmissivity()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::scalarField> Foam::tmp<Foam::scalarField>
@ -78,7 +72,7 @@ Foam::radiation::multiBandTransmissivity::t
scalarField* T scalarField* T
) const ) const
{ {
return tmp<scalarField>(new scalarField(pp_.size(), tauCoeffs_[bandI])); return tmp<scalarField>::New(pp_.size(), tauCoeffs_[bandI]);
} }
@ -94,5 +88,4 @@ Foam::scalar Foam::radiation::multiBandTransmissivity::t
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -105,14 +105,14 @@ public:
//- Destructor //- Destructor
virtual ~multiBandTransmissivity(); virtual ~multiBandTransmissivity() = default;
// Member Functions // Member Functions
// Access // Access
//- Return tranmissivity //- Return transmissivity
tmp<scalarField> t tmp<scalarField> t
( (
const label bandI = 0, const label bandI = 0,
@ -120,8 +120,7 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const; ) const;
//- Return transmissivity on face
//- Return tranmissivity on face
scalar t scalar t
( (
const label faceI, const label faceI,
@ -130,7 +129,6 @@ public:
const scalar T = 0 const scalar T = 0
) const; ) const;
//- Is Grey //- Is Grey
inline bool isGrey() const inline bool isGrey() const
{ {
@ -142,7 +140,6 @@ public:
{ {
return nBands_; return nBands_;
} }
}; };

View File

@ -50,10 +50,4 @@ Foam::radiation::wallTransmissivityModel::wallTransmissivityModel
{} {}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * //
Foam::radiation::wallTransmissivityModel::~wallTransmissivityModel()
{}
// ************************************************************************* // // ************************************************************************* //

View File

@ -58,6 +58,7 @@ protected:
//- Reference to the polyPatch //- Reference to the polyPatch
const polyPatch& pp_; const polyPatch& pp_;
public: public:
//- Runtime type information //- Runtime type information
@ -94,12 +95,12 @@ public:
//- Destructor //- Destructor
virtual ~wallTransmissivityModel(); virtual ~wallTransmissivityModel() = default;
// Member Functions // Member Functions
//- Return tranmissivity //- Return transmissivity
virtual tmp<scalarField> t virtual tmp<scalarField> t
( (
const label bandI = 0, const label bandI = 0,
@ -107,8 +108,7 @@ public:
scalarField* T = nullptr scalarField* T = nullptr
) const = 0; ) const = 0;
//- Return transmissivity on face
//- Return tranmissivity on face
virtual scalar t virtual scalar t
( (
const label faceI, const label faceI,
@ -117,13 +117,11 @@ public:
const scalar T = 0 const scalar T = 0
) const = 0; ) const = 0;
//- Is Grey //- Is Grey
virtual bool isGrey() const = 0; virtual bool isGrey() const = 0;
//- Number of bands //- Number of bands
virtual label nBands() const = 0; virtual label nBands() const = 0;
}; };

View File

@ -37,7 +37,7 @@ wallTransmissivityModel::New
{ {
const word modelType(dict.get<word>("wallTransmissivityModel")); const word modelType(dict.get<word>("wallTransmissivityModel"));
auto cstrIter = dictionaryConstructorTablePtr_->find(modelType); auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType);
if (!cstrIter.found()) if (!cstrIter.found())
{ {