From 64c9989d76e69a690778ccd39717cb0a9f011127 Mon Sep 17 00:00:00 2001 From: sergio <s.ferraris@opencfd.co.uk> Date: Mon, 6 Jun 2011 17:45:06 +0100 Subject: [PATCH] BUG: mapDistribute on radiation BC and changes on reactingParcelFilPyrolysisFoam --- .../Make/options | 2 +- .../reactingParcelFilmPyrolysisFoam/YhsEqn.H | 3 +- .../reactingParcelFilmPyrolysisFoam.C | 9 ++- ...iffusiveRadiationMixedFvPatchScalarField.C | 7 ++- .../radiationCoupledBase.C | 14 +++-- .../radiationCoupledBase.H | 2 +- ...iffusiveRadiationMixedFvPatchScalarField.C | 6 +- ...eratureRadCoupledMixedFvPatchScalarField.C | 11 ++-- .../constant/polyMesh/boundary | 58 ------------------- 9 files changed, 31 insertions(+), 81 deletions(-) delete mode 100644 tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/polyMesh/boundary diff --git a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/Make/options index 7782cc45ccb..495defbeec4 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/Make/options +++ b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/Make/options @@ -9,7 +9,7 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basicSolidThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidChemistryModel/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/combustionModels/lnInclude \ + -I$(LIB_SRC)/combustionModels/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/properties/solidProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/properties/liquidProperties/lnInclude \ diff --git a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/YhsEqn.H b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/YhsEqn.H index 7606d9ce727..f985a650b9b 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/YhsEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/YhsEqn.H @@ -9,6 +9,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection ) ); { + radiation->correct(); combustion->correct(); dQ = combustion->dQ(); label inertIndex = -1; @@ -65,7 +66,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection thermo.correct(); - radiation->correct(); + //radiation->correct(); Info<< "min/max(T) = " << min(T).value() << ", " << max(T).value() << endl; } diff --git a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/reactingParcelFilmPyrolysisFoam.C b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/reactingParcelFilmPyrolysisFoam.C index ac029bea864..178ceadcd62 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/reactingParcelFilmPyrolysisFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFilmPyrolysisFoam/reactingParcelFilmPyrolysisFoam.C @@ -30,6 +30,7 @@ Description \*---------------------------------------------------------------------------*/ +#include "mapDistribute.H" #include "fvCFD.H" #include "turbulenceModel.H" #include "basicReactingCloud.H" @@ -54,9 +55,9 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" #include "createClouds.H" - #include "createRadiationModel.H" #include "createSurfaceFilmModel.H" #include "createPyrolysisModel.H" + #include "createRadiationModel.H" #include "initContinuityErrs.H" #include "readTimeControls.H" #include "compressibleCourantNo.H" @@ -111,10 +112,8 @@ int main(int argc, char *argv[]) rho = thermo.rho(); } - else - { - runTime.write(); - } + + runTime.write(); Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" diff --git a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C index e231144b920..90727e381bd 100644 --- a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C +++ b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveRadiation/greyDiffusiveRadiationMixedFvPatchScalarField.C @@ -189,6 +189,8 @@ updateCoeffs() ray.Qr().boundaryField()[patchI] += Iw*(n & ray.dAve()); + scalarList temissivity = emissivity(); + forAll(Iw, faceI) { scalar Ir = 0.0; @@ -217,8 +219,8 @@ updateCoeffs() valueFraction()[faceI] = 1.0; refValue()[faceI] = ( - Ir*(scalar(1.0) - emissivity()()[faceI]) - + emissivity()()[faceI]*physicoChemical::sigma.value() + Ir*(scalar(1.0) - temissivity[faceI]) + + temissivity[faceI]*physicoChemical::sigma.value() * pow4(Tp[faceI]) )/pi; @@ -238,7 +240,6 @@ updateCoeffs() Iw[faceI]*(n[faceI] & ray.dAve()); } } - mixedFvPatchScalarField::updateCoeffs(); } diff --git a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C index f8d034ca349..580342d92a5 100644 --- a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C +++ b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.C @@ -127,7 +127,7 @@ Foam::radiationCoupledBase::radiationCoupledBase // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::scalarField> Foam::radiationCoupledBase::emissivity() const +Foam::scalarField Foam::radiationCoupledBase::emissivity() const { switch (method_) { @@ -142,6 +142,9 @@ Foam::tmp<Foam::scalarField> Foam::radiationCoupledBase::emissivity() const const polyMesh& nbrMesh = mpp.sampleMesh(); + // Force recalculation of mapping and schedule + const mapDistribute& distMap = mpp.map(); + const fvPatch& nbrPatch = refCast<const fvMesh> ( nbrMesh @@ -160,12 +163,11 @@ Foam::tmp<Foam::scalarField> Foam::radiationCoupledBase::emissivity() const ) ); - scalarField& emissivity = temissivity(); - + scalarField emissivity(temissivity); // Use direct map mapping to exchange data - mpp.map().distribute(emissivity); - - return temissivity; + distMap.distribute(emissivity); + //Pout << emissivity << endl; + return emissivity; } else { diff --git a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.H b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.H index 405d0f75a54..0b9fe86c74a 100644 --- a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.H +++ b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/radiationCoupledBase/radiationCoupledBase.H @@ -114,7 +114,7 @@ public: //- Calculate corresponding emissivity field - tmp<scalarField> emissivity() const; + scalarField emissivity() const; //- Write void write(Ostream&) const; diff --git a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C index 45ab196b5c0..c985ea5e3a7 100644 --- a/src/thermophysicalModels/radiationModels/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C +++ b/src/thermophysicalModels/radiationModels/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C @@ -189,6 +189,8 @@ updateCoeffs() dom.blackBody().bLambda(lambdaId).boundaryField()[patchI] ); + scalarList temissivity = emissivity(); + forAll(Iw, faceI) { scalar Ir = 0.0; @@ -215,8 +217,8 @@ updateCoeffs() valueFraction()[faceI] = 1.0; refValue()[faceI] = ( - Ir*(1.0 - emissivity()()[faceI]) - + emissivity()()[faceI]*Eb[faceI] + Ir*(1.0 - temissivity[faceI]) + + temissivity[faceI]*Eb[faceI] )/pi; } else diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C index 262b9da61f0..b5f81301b59 100644 --- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C @@ -158,6 +158,9 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs() const fvPatch& nbrPatch = refCast<const fvMesh>(nbrMesh).boundary()[samplePatchI]; + // Force recalculation of mapping and schedule + const mapDistribute& distMap = mpp.map(); + scalarField Tc(patchInternalField()); scalarField& Tp = *this; @@ -170,13 +173,13 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs() // Swap to obtain full local values of neighbour internal field scalarField TcNbr(nbrField.patchInternalField()); + distMap.distribute(TcNbr); - mpp.map().distribute(TcNbr); // Swap to obtain full local values of neighbour K*delta - scalarField KDeltaNbr(nbrField.K(TcNbr)*nbrPatch.deltaCoeffs()); + scalarField KDeltaNbr(nbrField.K(nbrField)*nbrPatch.deltaCoeffs()); + distMap.distribute(KDeltaNbr); - mpp.map().distribute(KDeltaNbr); scalarField KDelta(K(*this)*patch().deltaCoeffs()); @@ -190,7 +193,7 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs() if (QrNbrName_ != "none") { QrNbr = nbrPatch.lookupPatchField<volScalarField, scalar>(QrNbrName_); - mpp.map().distribute(QrNbr); + distMap.distribute(QrNbr); } scalarField alpha(KDeltaNbr - (Qr + QrNbr)/Tp); diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/polyMesh/boundary b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/polyMesh/boundary deleted file mode 100644 index 39c75e0d212..00000000000 --- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/polyMesh/boundary +++ /dev/null @@ -1,58 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.com | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class polyBoundaryMesh; - location "constant/polyMesh"; - object boundary; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -6 -( - maxY - { - type wall; - nFaces 300; - startFace 8300; - } - minX - { - type patch; - nFaces 100; - startFace 8600; - } - maxX - { - type patch; - nFaces 100; - startFace 8700; - } - minY - { - type wall; - nFaces 300; - startFace 8800; - } - minZ - { - type wall; - nFaces 300; - startFace 9100; - } - maxZ - { - type wall; - nFaces 300; - startFace 9400; - } -) - -// ************************************************************************* // -- GitLab