phi calculation due to turbulence.phi() returning volume flux

This commit is contained in:
ignis 2018-02-03 11:29:40 +09:00
parent bf8ee6446b
commit d046df2fae
4 changed files with 35 additions and 14 deletions

View file

@ -30,6 +30,7 @@ EXE_LIBS = \
-lchemistryModel \ -lchemistryModel \
-lcombustionModels \ -lcombustionModels \
-lradiationModels \ -lradiationModels \
-lradiationSootModels \
-llagrangian \ -llagrangian \
-llagrangianIntermediate \ -llagrangianIntermediate \
-llagrangianTurbulence \ -llagrangianTurbulence \

View file

@ -351,16 +351,27 @@ void Foam::radiation::MossBrookesSoot::correct()
calcSource(); calcSource();
const volScalarField rho_ = thermo_.rho(); const volScalarField &rho_ = thermo_.rho();
const volScalarField &nut_ = turbulence().nut(); const volVectorField &U_ = turbulence().U();
const surfaceScalarField phi_ (turbulence().phi()); volScalarField Dsoot (turbulence().mut()/PrtSoot);
const surfaceScalarField phi_
(
IOobject
(
"phiSoot",
mesh().time().timeName(),
mesh()
),
linearInterpolate(rho_*U_) & mesh().Sf()
);
fvScalarMatrix SootEqn fvScalarMatrix SootEqn
( (
fvm::div(phi_, soot_) fvm::div(phi_, soot_)
- fvm::laplacian((rho_*nut_/PrtSoot), soot_) - fvm::laplacian(Dsoot, soot_)
== ==
Snet_ Snet_
); );
@ -372,7 +383,7 @@ void Foam::radiation::MossBrookesSoot::correct()
fvScalarMatrix NucConcEqn fvScalarMatrix NucConcEqn
( (
fvm::div(phi_, NucConc_) fvm::div(phi_, NucConc_)
- fvm::laplacian((rho_*nut_/PrtSoot), NucConc_) - fvm::laplacian(Dsoot, NucConc_)
== ==
NSnet_ NSnet_
); );
@ -393,9 +404,9 @@ void Foam::radiation::MossBrookesSoot::correct()
void Foam::radiation::MossBrookesSoot::calcSource() void Foam::radiation::MossBrookesSoot::calcSource()
{ {
const volScalarField rho_ = thermo_.rho(); const volScalarField &rho_ = thermo_.rho();
const volScalarField T_ = thermo_.T(); const volScalarField &T_ = thermo_.T();
const volScalarField p_ = thermo_.p(); const volScalarField &p_ = thermo_.p();
const scalar precI = mixture_.species()[coeffsDict_.lookup("Precursor")]; const scalar precI = mixture_.species()[coeffsDict_.lookup("Precursor")];
const scalar growI = mixture_.species()[coeffsDict_.lookup("SurfaceGrowSpecie")]; const scalar growI = mixture_.species()[coeffsDict_.lookup("SurfaceGrowSpecie")];

View file

@ -153,15 +153,15 @@ class MossBrookesSoot
//- Soot particle mean diameter //- Soot particle mean diameter
volScalarField sootMeanDiameter_; volScalarField sootMeanDiameter_;
//- soot number density normalization factor
const dimensionedScalar Nnorm;
//- Soot turbulent Prandtl number //- Soot turbulent Prandtl number
scalar PrtSoot; scalar PrtSoot;
//- Density of soot particle //- Density of soot particle
scalar rhoSoot; scalar rhoSoot;
//- soot number density normalization factor
const dimensionedScalar Nnorm;
//- Model constant for soot inception rate //- Model constant for soot inception rate
scalar Calpha; scalar Calpha;

View file

@ -271,15 +271,24 @@ void Foam::radiation::khanGreeveSoot::correct()
const volScalarField &rho_ = thermo_.rho(); const volScalarField &rho_ = thermo_.rho();
const volScalarField &nut_ = turbulence().nut(); const volVectorField &U_ = turbulence().U();
const surfaceScalarField phi_ (turbulence().phi()); const surfaceScalarField phi_
(
IOobject
(
"phiSoot",
mesh().time().timeName(),
mesh()
),
linearInterpolate(rho_*U_) & mesh().Sf()
);
fvScalarMatrix SootEqn fvScalarMatrix SootEqn
( (
fvm::ddt(rho_, soot_) fvm::ddt(rho_, soot_)
+ fvm::div(phi_, soot_) + fvm::div(phi_, soot_)
- fvm::laplacian((rho_*nut_/PrtSoot), soot_) - fvm::laplacian((turbulence().mut()/PrtSoot), soot_)
== ==
Snet_ Snet_
); );