Commit b99817d9 authored by Henry Weller's avatar Henry Weller
Browse files

Rationalized heat release rate functions

Combined 'dQ()' and 'Sh()' into 'Qdot()' which returns the heat-release rate in
the normal units [kg/m/s3] and used as the heat release rate source term in
the energy equations, to set the field 'Qdot' in several combustion solvers
and for the evaluation of the local time-step when running LTS.
parent 8b5516ab
runTime.write();
Info<< "Sh = " << Sh
Info<< "Qdot = " << Qdot
<< ", T = " << thermo.T()[0]
<< ", p = " << thermo.p()[0]
<< ", " << Y[0].name() << " = " << Y[0][0]
......@@ -8,4 +8,3 @@
post<< runTime.value() << token::TAB << thermo.T()[0] << token::TAB
<< thermo.p()[0] << endl;
dtChem = chemistry.solve(runTime.deltaT().value());
scalar Sh = chemistry.Sh()()[0]/rho[0];
integratedHeat += Sh*runTime.deltaT().value();
dtChem = chemistry.solve(runTime.deltaT().value());
scalar Qdot = chemistry.Qdot()()[0]/rho[0];
integratedHeat += Qdot*runTime.deltaT().value();
......@@ -11,7 +11,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
{
radiation->correct();
combustion->correct();
dQ = combustion->dQ();
Qdot = combustion->Qdot();
volScalarField Yt(0.0*Y[0]);
forAll(Y, i)
......@@ -66,7 +66,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
)
- fvm::laplacian(turbulence->alphaEff(), he)
==
combustion->Sh()
Qdot
+ radiation->Sh(thermo)
+ parcels.Sh(he)
+ surfaceFilm.Sh()
......
......@@ -131,18 +131,18 @@ Switch solvePyrolysisRegion
additionalControlsDict.lookupOrDefault<bool>("solvePyrolysisRegion", true)
);
volScalarField dQ
volScalarField Qdot
(
IOobject
(
"dQ",
"Qdot",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0)
);
......
......@@ -17,7 +17,7 @@
)
- fvm::laplacian(turbulence->alphaEff(), he)
==
reaction->Sh()
Qdot
+ fvOptions(rho, he)
);
......
......@@ -11,7 +11,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
{
reaction->correct();
dQ = reaction->dQ();
Qdot = reaction->Qdot();
volScalarField Yt(0.0*Y[0]);
forAll(Y, i)
......
......@@ -117,18 +117,18 @@ forAll(Y, i)
}
fields.add(thermo.he());
volScalarField dQ
volScalarField Qdot
(
IOobject
(
"dQ",
"Qdot",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0)
);
#include "createMRF.H"
......@@ -117,18 +117,18 @@ forAll(Y, i)
}
fields.add(thermo.he());
volScalarField dQ
volScalarField Qdot
(
IOobject
(
"dQ",
"Qdot",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0)
);
#include "createMRF.H"
......@@ -96,18 +96,18 @@ forAll(Y, i)
}
fields.add(thermo.he());
volScalarField dQ
volScalarField Qdot
(
IOobject
(
"dQ",
"Qdot",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0)
);
#include "createMRF.H"
......@@ -77,7 +77,7 @@ License
{
volScalarField::Internal rDeltaTT
(
mag(reaction->Sh())/(alphaTemp*rho*thermo.Cp()*T)
mag(Qdot)/(alphaTemp*rho*thermo.Cp()*T)
);
Info<< " Temperature = "
......
......@@ -18,7 +18,7 @@
- fvm::laplacian(turbulence->alphaEff(), he)
==
rho*(U&g)
+ combustion->Sh()
+ Qdot
+ coalParcels.Sh(he)
+ limestoneParcels.Sh(he)
+ radiation->Sh(thermo)
......
......@@ -12,7 +12,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
{
combustion->correct();
dQ = combustion->dQ();
Qdot = combustion->Qdot();
volScalarField Yt(0.0*Y[0]);
forAll(Y, i)
......
......@@ -131,18 +131,18 @@ volScalarField dpdt
Info<< "Creating field kinetic energy K\n" << endl;
volScalarField K("K", 0.5*magSqr(U));
volScalarField dQ
volScalarField Qdot
(
IOobject
(
"dQ",
"Qdot",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0)
);
#include "createMRF.H"
......
......@@ -80,7 +80,7 @@ License
(
(coalParcels.hsTrans() + limestoneParcels.hsTrans())
/(mesh.V()*runTime.deltaT())
+ combustion->Sh()()
+ Qdot
)
/(
alphaTemp
......
......@@ -21,7 +21,7 @@
+ parcels.Sh(he)
+ surfaceFilm.Sh()
+ radiation->Sh(thermo)
+ combustion->Sh()
+ Qdot
+ fvOptions(rho, he)
);
......
......@@ -12,7 +12,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
{
combustion->correct();
dQ = combustion->dQ();
Qdot = combustion->Qdot();
volScalarField Yt(0.0*Y[0]);
forAll(Y, i)
......
......@@ -134,18 +134,18 @@ Switch solvePrimaryRegion
additionalControlsDict.lookup("solvePrimaryRegion")
);
volScalarField dQ
volScalarField Qdot
(
IOobject
(
"dQ",
"Qdot",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0)
);
#include "createMRF.H"
......
......@@ -20,7 +20,7 @@
rho*(U&g)
+ parcels.Sh(he)
+ radiation->Sh(thermo)
+ combustion->Sh()
+ Qdot
+ fvOptions(rho, he)
);
......
......@@ -11,7 +11,7 @@ tmp<fv::convectionScheme<scalar>> mvConvection
{
combustion->correct();
dQ = combustion->dQ();
Qdot = combustion->Qdot();
volScalarField Yt(0.0*Y[0]);
forAll(Y, i)
......
......@@ -121,18 +121,18 @@ forAll(Y, i)
}
fields.add(thermo.he());
volScalarField dQ
volScalarField Qdot
(
IOobject
(
"dQ",
"Qdot",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0)
);
#include "createMRF.H"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment