BUG: mapDistribute on radiation BC and changes on
reactingParcelFilPyrolysisFoam
This commit is contained in:
parent
34080f13e3
commit
64c9989d76
@ -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 \
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -114,7 +114,7 @@ public:
|
||||
|
||||
|
||||
//- Calculate corresponding emissivity field
|
||||
tmp<scalarField> emissivity() const;
|
||||
scalarField emissivity() const;
|
||||
|
||||
//- Write
|
||||
void write(Ostream&) const;
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
Loading…
Reference in New Issue
Block a user