From 9f8b5bb693d926738504400a59b77269eb6b80b1 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Fri, 4 Jun 2010 15:33:00 +0100 Subject: [PATCH] ENH: P1 model : added radiative flux Qr. --- ...iffusiveRadiationMixedFvPatchScalarField.C | 2 +- ...iffusiveRadiationMixedFvPatchScalarField.C | 2 +- .../radiation/radiationModel/P1/P1.C | 20 +++++++++++++++++++ .../radiation/radiationModel/P1/P1.H | 3 +++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C index 6bec827a509..8f4e9b87259 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C @@ -172,7 +172,7 @@ updateCoeffs() radiativeIntensityRay& ray = const_cast<radiativeIntensityRay&>(dom.IRay(rayId)); - ray.Qr().boundaryField()[patchI] += Iw*(-n & ray.dAve()); + ray.Qr().boundaryField()[patchI] += Iw*(n & ray.dAve()); forAll(Iw, faceI) { diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C index 6dfffad991b..d97689cb21e 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C @@ -167,7 +167,7 @@ updateCoeffs() radiativeIntensityRay& ray = const_cast<radiativeIntensityRay&>(dom.IRay(rayId)); - ray.Qr().boundaryField()[patchI] += Iw*(-n & ray.dAve()); + ray.Qr().boundaryField()[patchI] += Iw*(n & ray.dAve()); const scalarField Eb = dom.blackBody().bLambda(lambdaId).boundaryField()[patchI]; diff --git a/src/thermophysicalModels/radiation/radiationModel/P1/P1.C b/src/thermophysicalModels/radiation/radiationModel/P1/P1.C index b9fc90f74c0..74cf2165360 100644 --- a/src/thermophysicalModels/radiation/radiationModel/P1/P1.C +++ b/src/thermophysicalModels/radiation/radiationModel/P1/P1.C @@ -68,6 +68,19 @@ Foam::radiation::P1::P1(const volScalarField& T) ), mesh_ ), + Qr_ + ( + IOobject + ( + "Qr", + mesh_.time().timeName(), + mesh_, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh_, + dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0) + ), a_ ( IOobject @@ -162,6 +175,13 @@ void Foam::radiation::P1::calculate() == - 4.0*(e_*physicoChemical::sigma*pow4(T_) + E_) ); + + // Calculate radiative heat flux on boundaries. + forAll(mesh_.boundaryMesh(), patchI) + { + Qr_.boundaryField()[patchI] = + -gamma.boundaryField()[patchI]*G_.boundaryField()[patchI].snGrad(); + } } diff --git a/src/thermophysicalModels/radiation/radiationModel/P1/P1.H b/src/thermophysicalModels/radiation/radiationModel/P1/P1.H index 5300d3718ce..7c03d5313e0 100644 --- a/src/thermophysicalModels/radiation/radiationModel/P1/P1.H +++ b/src/thermophysicalModels/radiation/radiationModel/P1/P1.H @@ -63,6 +63,9 @@ class P1 //- Incident radiation / [W/m2] volScalarField G_; + //- Total radiative heat flux [W/m2] + volScalarField Qr_; + //- Absorption coefficient volScalarField a_; -- GitLab