Diffusion number: Corrected in chtMultiRegionFoam and pyrolysisModels::reactingOneDim

Resolves bug-report https://bugs.openfoam.org/view.php?id=2512
This commit is contained in:
Henry Weller
2017-03-22 17:13:53 +00:00
parent 0be6269add
commit ad65ac255a
2 changed files with 17 additions and 27 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -24,7 +24,9 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "solidRegionDiffNo.H" #include "solidRegionDiffNo.H"
#include "fvc.H" #include "surfaceInterpolate.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Foam::scalar Foam::solidRegionDiffNo Foam::scalar Foam::solidRegionDiffNo
( (
@ -34,21 +36,16 @@ Foam::scalar Foam::solidRegionDiffNo
const volScalarField& kappa const volScalarField& kappa
) )
{ {
scalar DiNum = 0.0;
scalar meanDiNum = 0.0;
//- Take care: can have fluid domains with 0 cells so do not test for
// zero internal faces.
surfaceScalarField kapparhoCpbyDelta surfaceScalarField kapparhoCpbyDelta
( (
mesh.surfaceInterpolation::deltaCoeffs() sqr(mesh.surfaceInterpolation::deltaCoeffs())
*fvc::interpolate(kappa) *fvc::interpolate(kappa)
/fvc::interpolate(Cprho) /fvc::interpolate(Cprho)
); );
DiNum = max(kapparhoCpbyDelta).value()*runTime.deltaT().value(); const scalar DiNum = max(kapparhoCpbyDelta).value()*runTime.deltaTValue();
const scalar meanDiNum =
meanDiNum = (average(kapparhoCpbyDelta)).value()*runTime.deltaT().value(); average(kapparhoCpbyDelta).value()*runTime.deltaTValue();
Info<< "Region: " << mesh.name() << " Diffusion Number mean: " << meanDiNum Info<< "Region: " << mesh.name() << " Diffusion Number mean: " << meanDiNum
<< " max: " << DiNum << endl; << " max: " << DiNum << endl;

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -25,13 +25,11 @@ License
#include "reactingOneDim.H" #include "reactingOneDim.H"
#include "addToRunTimeSelectionTable.H" #include "addToRunTimeSelectionTable.H"
#include "surfaceInterpolate.H"
#include "fvm.H" #include "fvm.H"
#include "fvcDiv.H" #include "fvcDiv.H"
#include "fvcVolumeIntegrate.H" #include "fvcVolumeIntegrate.H"
#include "fvMatrices.H"
#include "absorptionEmissionModel.H"
#include "fvcLaplacian.H" #include "fvcLaplacian.H"
#include "absorptionEmissionModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -63,7 +61,6 @@ void reactingOneDim::readReactingOneDimControls()
coeffs().lookup("QrHSource") >> QrHSource_; coeffs().lookup("QrHSource") >> QrHSource_;
useChemistrySolvers_ = useChemistrySolvers_ =
coeffs().lookupOrDefault<bool>("useChemistrySolvers", true); coeffs().lookupOrDefault<bool>("useChemistrySolvers", true);
} }
@ -251,9 +248,7 @@ void reactingOneDim::solveContinuity()
fvScalarMatrix rhoEqn fvScalarMatrix rhoEqn
( (
fvm::ddt(rho_) fvm::ddt(rho_) == -solidChemistry_->RRg()
==
- solidChemistry_->RRg()
); );
if (regionMesh().moving()) if (regionMesh().moving())
@ -287,9 +282,7 @@ void reactingOneDim::solveSpeciesMass()
fvScalarMatrix YiEqn fvScalarMatrix YiEqn
( (
fvm::ddt(rho_, Yi) fvm::ddt(rho_, Yi) == solidChemistry_->RRs(i)
==
solidChemistry_->RRs(i)
); );
if (regionMesh().moving()) if (regionMesh().moving())
@ -624,7 +617,7 @@ scalar reactingOneDim::solidRegionDiffNo() const
{ {
surfaceScalarField KrhoCpbyDelta surfaceScalarField KrhoCpbyDelta
( (
regionMesh().surfaceInterpolation::deltaCoeffs() sqr(regionMesh().surfaceInterpolation::deltaCoeffs())
*fvc::interpolate(kappa()) *fvc::interpolate(kappa())
/fvc::interpolate(Cp()*rho_) /fvc::interpolate(Cp()*rho_)
); );