Compare commits
20 commits
ionicWind
...
postSootFo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
852ca184ee | ||
|
|
d046df2fae | ||
|
|
bf8ee6446b | ||
|
|
f752bb2a50 | ||
|
|
09c95558db | ||
|
|
89a6b85dd0 | ||
|
|
0155280f82 | ||
|
|
6d0a9f71be | ||
|
|
812181881f | ||
|
|
c24a69be11 | ||
|
|
193100b7ef | ||
|
|
7884c49a4d | ||
|
|
620b23cf01 | ||
|
|
af8e3468f5 | ||
|
|
5a1d0fde23 | ||
|
|
c76dcbac9f | ||
|
|
ff2bbf9c44 | ||
|
|
a8044e1f53 | ||
|
|
9626afd9f8 | ||
|
|
f71910a276 |
325 changed files with 1590026 additions and 418 deletions
|
|
@ -1,23 +1,9 @@
|
|||
before_script:
|
||||
- "[[ -d ../ThirdParty-4.x ]] || git clone https://github.com/OpenFOAM/ThirdParty-4.x.git ../ThirdParty-4.x"
|
||||
- source etc/bashrc
|
||||
- rm -rf platforms
|
||||
- wclean all
|
||||
|
||||
allmake:
|
||||
image: park0d/of4builder
|
||||
tags:
|
||||
- openfoam4
|
||||
before_script:
|
||||
- "[[ -d ../ThirdParty-4.x ]] || git clone https://github.com/OpenFOAM/ThirdParty-4.x.git ../ThirdParty-4.x"
|
||||
- source etc/bashrc
|
||||
- rm -rf platforms
|
||||
- wclean all
|
||||
script:
|
||||
- ./Allwmake -j
|
||||
artifacts:
|
||||
paths:
|
||||
- ./
|
||||
|
||||
cantera:
|
||||
image: park0d/of4builder
|
||||
tags:
|
||||
- openfoam4
|
||||
script:
|
||||
- whereis libcantera
|
||||
|
||||
|
||||
|
|
|
|||
3
applications/solvers/combustion/postSootFoam/Make/files
Normal file
3
applications/solvers/combustion/postSootFoam/Make/files
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
postSootFoam.C
|
||||
|
||||
EXE = $(FOAM_APPBIN)/postSootFoam
|
||||
55
applications/solvers/combustion/postSootFoam/Make/options
Normal file
55
applications/solvers/combustion/postSootFoam/Make/options
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
||||
-I$(LIB_SRC)/lagrangian/coalCombustion/lnInclude \
|
||||
-I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
-I$(LIB_SRC)/transportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/properties/liquidProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/properties/liquidMixtureProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/properties/solidProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
|
||||
-I$(LIB_SRC)/ODE/lnInclude \
|
||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||
-I$(LIB_SRC)/properties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
|
||||
-I$(LIB_SRC)/combustionModels/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
-lchemistryModel \
|
||||
-lcombustionModels \
|
||||
-lradiationModels \
|
||||
-lradiationSootModels \
|
||||
-llagrangian \
|
||||
-llagrangianIntermediate \
|
||||
-llagrangianTurbulence \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lreactionThermophysicalModels \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lturbulenceModels \
|
||||
-lcompressibleTurbulenceModels \
|
||||
-lcompressibleTransportModels \
|
||||
-lliquidProperties \
|
||||
-lliquidMixtureProperties \
|
||||
-lsolidProperties \
|
||||
-lsolidMixtureProperties \
|
||||
-lthermophysicalFunctions \
|
||||
-lSLGThermo \
|
||||
-lODE \
|
||||
-lregionModels \
|
||||
-lsurfaceFilmModels \
|
||||
-lfvOptions
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
Info<< "\nConstructing reacting cloud" << endl;
|
||||
basicReactingMultiphaseCloud parcels
|
||||
(
|
||||
"reactingCloud1",
|
||||
rho,
|
||||
U,
|
||||
g,
|
||||
slgThermo
|
||||
);
|
||||
|
|
@ -0,0 +1 @@
|
|||
const volScalarField& psi = thermo.psi();
|
||||
142
applications/solvers/combustion/postSootFoam/createFields.H
Normal file
142
applications/solvers/combustion/postSootFoam/createFields.H
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
Info<< "\nCreating thermophysical model for Fluid mesh\n" << endl;
|
||||
#include "readGravitationalAcceleration.H"
|
||||
|
||||
autoPtr<combustionModels::rhoCombustionModel> combustion
|
||||
(
|
||||
combustionModels::rhoCombustionModel::New(mesh)
|
||||
);
|
||||
|
||||
rhoReactionThermo& thermo = combustion->thermo();
|
||||
thermo.validate(args.executable(), "ha");
|
||||
SLGThermo slgThermo(mesh, thermo);
|
||||
basicSpecieMixture& composition = thermo.composition();
|
||||
PtrList<volScalarField>& Y = composition.Y();
|
||||
|
||||
word inertSpecie(thermo.lookup("inertSpecie"));
|
||||
|
||||
volScalarField rho
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"rho",
|
||||
runTime.timeName(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
thermo.rho()
|
||||
);
|
||||
|
||||
Info<< "Reading field U\n" << endl;
|
||||
volVectorField U
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"U",
|
||||
runTime.timeName(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh
|
||||
);
|
||||
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
|
||||
#include "compressibleCreatePhi.H"
|
||||
dimensionedScalar rhoMax
|
||||
(
|
||||
dimensionedScalar::lookupOrDefault
|
||||
(
|
||||
"rhoMax",
|
||||
simple.dict(),
|
||||
dimDensity,
|
||||
GREAT
|
||||
)
|
||||
);
|
||||
|
||||
dimensionedScalar rhoMin
|
||||
(
|
||||
dimensionedScalar::lookupOrDefault
|
||||
(
|
||||
"rhoMin",
|
||||
simple.dict(),
|
||||
dimDensity,
|
||||
0
|
||||
)
|
||||
);
|
||||
|
||||
Info << "Creating turbulence model.\n" << nl;
|
||||
autoPtr<compressible::turbulenceModel> turbulence
|
||||
(
|
||||
compressible::turbulenceModel::New
|
||||
(
|
||||
rho,
|
||||
U,
|
||||
phi,
|
||||
thermo
|
||||
)
|
||||
);
|
||||
|
||||
// Set the turbulence into the reaction model
|
||||
combustion->setTurbulence(turbulence());
|
||||
|
||||
Info<< "Creating field dpdt\n" << endl;
|
||||
volScalarField dpdt
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"dpdt",
|
||||
runTime.timeName(),
|
||||
mesh
|
||||
),
|
||||
mesh,
|
||||
dimensionedScalar("dpdt", p.dimensions()/dimTime, 0)
|
||||
);
|
||||
|
||||
Info<< "Creating field kinetic energy K\n" << endl;
|
||||
volScalarField K("K", 0.5*magSqr(U));
|
||||
|
||||
multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
|
||||
|
||||
forAll(Y, i)
|
||||
{
|
||||
fields.add(Y[i]);
|
||||
}
|
||||
fields.add(thermo.he());
|
||||
|
||||
/*
|
||||
volScalarField Hha //absolute Enthalpy
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Hha",
|
||||
runTime.timeName(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh,
|
||||
dimensionedScalar("Hha", dimEnergy, 0.0)
|
||||
);
|
||||
volScalarField Hla //absolute Enthalpy
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Hla",
|
||||
runTime.timeName(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh,
|
||||
dimensionedScalar("Hla", dimEnergy, 0.0)
|
||||
);
|
||||
*/
|
||||
|
||||
#include "createRadiationModel.H"
|
||||
|
||||
#include "createMRF.H"
|
||||
#include "createClouds.H"
|
||||
|
||||
78
applications/solvers/combustion/postSootFoam/postSootFoam.C
Normal file
78
applications/solvers/combustion/postSootFoam/postSootFoam.C
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Application
|
||||
simpleReactingParcelFoam
|
||||
|
||||
Description
|
||||
Steady state solver for compressible, turbulent flow with reacting,
|
||||
multiphase particle clouds and optional sources/constraints.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "turbulentFluidThermoModel.H"
|
||||
#include "basicReactingMultiphaseCloud.H"
|
||||
#include "rhoCombustionModel.H"
|
||||
#include "radiationModel.H"
|
||||
#include "fvOptions.H"
|
||||
#include "SLGThermo.H"
|
||||
#include "simpleControl.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
||||
#include "setRootCase.H"
|
||||
#include "createTime.H"
|
||||
#include "createMesh.H"
|
||||
|
||||
#include "createControl.H"
|
||||
#include "createFields.H"
|
||||
#include "createFieldRefs.H"
|
||||
|
||||
turbulence->validate();
|
||||
|
||||
Info<< "\nStarting time loop\n" << endl;
|
||||
|
||||
while (simple.loop())
|
||||
{
|
||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||
|
||||
radiation->correct();
|
||||
|
||||
runTime.write();
|
||||
|
||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
}
|
||||
|
||||
Info<< "End\n" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
@ -64,6 +64,7 @@ wmake $targetType randomProcesses
|
|||
transportModels/Allwmake $targetType $*
|
||||
thermophysicalModels/Allwmake $targetType $*
|
||||
TurbulenceModels/Allwmake $targetType $*
|
||||
wmake $targetType thermophysicalModels/radiationSootModel
|
||||
wmake $targetType combustionModels
|
||||
regionModels/Allwmake $targetType $*
|
||||
lagrangian/Allwmake $targetType $*
|
||||
|
|
|
|||
|
|
@ -111,6 +111,23 @@ namespace Foam
|
|||
rhoChemistryModel,
|
||||
icoPoly8EThermoPhysics
|
||||
);
|
||||
|
||||
// Chemistry moldels based on absoluteEnthalpy
|
||||
makeChemistryModel
|
||||
(
|
||||
chemistryModel,
|
||||
rhoChemistryModel,
|
||||
gasHaThermoPhysics
|
||||
);
|
||||
|
||||
// Chemistry moldels based on absoluteInternalEnergy
|
||||
makeChemistryModel
|
||||
(
|
||||
chemistryModel,
|
||||
rhoChemistryModel,
|
||||
gasEaThermoPhysics
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
|
|||
|
|
@ -88,6 +88,12 @@ namespace Foam
|
|||
incompressibleGasEThermoPhysics
|
||||
);
|
||||
makeChemistrySolverTypes(rhoChemistryModel, icoPoly8EThermoPhysics);
|
||||
|
||||
// Chemistry solvers based on absoluteEnthalpy
|
||||
makeChemistrySolverTypes(rhoChemistryModel, gasHaThermoPhysics);
|
||||
|
||||
// Chemistry solvers based on absoluteInternalEnergy
|
||||
makeChemistrySolverTypes(rhoChemistryModel, gasEaThermoPhysics);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ EXE_INC = \
|
|||
-I$(LIB_SRC)/thermophysicalModels/properties/solidProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ License
|
|||
#include "fvmSup.H"
|
||||
#include "absorptionEmissionModel.H"
|
||||
#include "scatterModel.H"
|
||||
#include "sootModel.H"
|
||||
#include "constants.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
|
|
@ -88,6 +89,19 @@ Foam::radiation::P1::P1(const volScalarField& T)
|
|||
mesh_,
|
||||
dimensionedScalar("a", dimless/dimLength, 0.0)
|
||||
),
|
||||
aSoot_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSoot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("aSoot", dimless/dimLength, 0.0)
|
||||
),
|
||||
e_
|
||||
(
|
||||
IOobject
|
||||
|
|
@ -158,6 +172,19 @@ Foam::radiation::P1::P1(const dictionary& dict, const volScalarField& T)
|
|||
mesh_,
|
||||
dimensionedScalar("a", dimless/dimLength, 0.0)
|
||||
),
|
||||
aSoot_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSoot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("aSoot", dimless/dimLength, 0.0)
|
||||
),
|
||||
e_
|
||||
(
|
||||
IOobject
|
||||
|
|
@ -212,9 +239,26 @@ bool Foam::radiation::P1::read()
|
|||
|
||||
void Foam::radiation::P1::calculate()
|
||||
{
|
||||
a_ = absorptionEmission_->a();
|
||||
e_ = absorptionEmission_->e();
|
||||
a_ = absorptionEmission_->a() + soot_->a();
|
||||
aSoot_ = soot_->a();
|
||||
e_ = absorptionEmission_->e() + soot_->e();
|
||||
E_ = absorptionEmission_->E();
|
||||
|
||||
scalar sootradiationChecker = 0.0;
|
||||
|
||||
forAll(aSoot_, celli)
|
||||
{
|
||||
if (aSoot_[celli] != 0.0)
|
||||
{
|
||||
sootradiationChecker = 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
if (sootradiationChecker == 0.0)
|
||||
{
|
||||
Info<<"soot radiation effects are unsuccessfully considered!"<<endl;
|
||||
}
|
||||
|
||||
const volScalarField sigmaEff(scatter_->sigmaEff());
|
||||
|
||||
const dimensionedScalar a0 ("a0", a_.dimensions(), ROOTVSMALL);
|
||||
|
|
@ -272,7 +316,7 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::P1::Rp() const
|
|||
IOobject::NO_WRITE,
|
||||
false
|
||||
),
|
||||
4.0*absorptionEmission_->eCont()*physicoChemical::sigma
|
||||
4.0*(absorptionEmission_->eCont()+soot_->e())*physicoChemical::sigma
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
@ -286,7 +330,7 @@ Foam::radiation::P1::Ru() const
|
|||
const DimensionedField<scalar, volMesh> E =
|
||||
absorptionEmission_->ECont()()();
|
||||
const DimensionedField<scalar, volMesh> a =
|
||||
absorptionEmission_->aCont()()();
|
||||
absorptionEmission_->aCont()()()+soot_->a()()();
|
||||
|
||||
return a*G - E;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,6 +70,8 @@ class P1
|
|||
//- Absorption coefficient
|
||||
volScalarField a_;
|
||||
|
||||
volScalarField aSoot_;
|
||||
|
||||
//- Emission coefficient
|
||||
volScalarField e_;
|
||||
|
||||
|
|
|
|||
|
|
@ -167,6 +167,46 @@ void Foam::radiation::fvDOM::initialise()
|
|||
|
||||
|
||||
// Construct absorption field for each wavelength
|
||||
forAll(agasLambda_, lambdaI)
|
||||
{
|
||||
agasLambda_.set
|
||||
(
|
||||
lambdaI,
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"agasLambda_" + Foam::name(lambdaI) ,
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
agas_
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
forAll(aSootLambda_, lambdaI)
|
||||
{
|
||||
aSootLambda_.set
|
||||
(
|
||||
lambdaI,
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSootLambda_" + Foam::name(lambdaI) ,
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
aSoot_
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
forAll(aLambda_, lambdaI)
|
||||
{
|
||||
aLambda_.set
|
||||
|
|
@ -187,6 +227,7 @@ void Foam::radiation::fvDOM::initialise()
|
|||
);
|
||||
}
|
||||
|
||||
|
||||
Info<< "fvDOM : Allocated " << IRay_.size()
|
||||
<< " rays with average orientation:" << nl;
|
||||
|
||||
|
|
@ -286,6 +327,32 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T)
|
|||
mesh_,
|
||||
dimensionedScalar("Qin", dimMass/pow3(dimTime), 0.0)
|
||||
),
|
||||
agas_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"agas",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("agas", dimless/dimLength, 0.0)
|
||||
),
|
||||
aSoot_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSoot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("aSoot", dimless/dimLength, 0.0)
|
||||
),
|
||||
a_
|
||||
(
|
||||
IOobject
|
||||
|
|
@ -303,6 +370,8 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T)
|
|||
nPhi_(readLabel(coeffs_.lookup("nPhi"))),
|
||||
nRay_(0),
|
||||
nLambda_(absorptionEmission_->nBands()),
|
||||
agasLambda_(nLambda_),
|
||||
aSootLambda_(nLambda_),
|
||||
aLambda_(nLambda_),
|
||||
blackBody_(nLambda_, T),
|
||||
IRay_(0),
|
||||
|
|
@ -375,6 +444,32 @@ Foam::radiation::fvDOM::fvDOM
|
|||
mesh_,
|
||||
dimensionedScalar("Qin", dimMass/pow3(dimTime), 0.0)
|
||||
),
|
||||
agas_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"agas",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("agas", dimless/dimLength, 0.0)
|
||||
),
|
||||
aSoot_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSoot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("aSoot", dimless/dimLength, 0.0)
|
||||
),
|
||||
a_
|
||||
(
|
||||
IOobject
|
||||
|
|
@ -392,6 +487,8 @@ Foam::radiation::fvDOM::fvDOM
|
|||
nPhi_(readLabel(coeffs_.lookup("nPhi"))),
|
||||
nRay_(0),
|
||||
nLambda_(absorptionEmission_->nBands()),
|
||||
agasLambda_(nLambda_),
|
||||
aSootLambda_(nLambda_),
|
||||
aLambda_(nLambda_),
|
||||
blackBody_(nLambda_, T),
|
||||
IRay_(0),
|
||||
|
|
@ -432,7 +529,17 @@ bool Foam::radiation::fvDOM::read()
|
|||
|
||||
void Foam::radiation::fvDOM::calculate()
|
||||
{
|
||||
absorptionEmission_->correct(a_, aLambda_);
|
||||
absorptionEmission_->correct(agas_, agasLambda_);
|
||||
|
||||
soot_->correct(aSoot_, aSootLambda_);
|
||||
|
||||
// aLambda_ = agasLambda_ + aSootLambda_;
|
||||
|
||||
forAll(aLambda_, celli)
|
||||
{
|
||||
a_[celli] = agas_[celli] + aSoot_[celli];
|
||||
aLambda_[celli] = agasLambda_[celli] + aSootLambda_[celli];
|
||||
}
|
||||
|
||||
updateBlackBodyEmission();
|
||||
|
||||
|
|
@ -483,7 +590,7 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::fvDOM::Rp() const
|
|||
false
|
||||
),
|
||||
// Only include continuous phase emission
|
||||
4*absorptionEmission_->aCont()*physicoChemical::sigma
|
||||
4*(absorptionEmission_->aCont() + soot_->a())*physicoChemical::sigma
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
@ -501,7 +608,7 @@ Foam::radiation::fvDOM::Ru() const
|
|||
|
||||
// Only include continuous phase absorption
|
||||
const DimensionedField<scalar, volMesh> a =
|
||||
absorptionEmission_->aCont()()();
|
||||
absorptionEmission_->aCont()()() + soot_->a()()();
|
||||
|
||||
return a*G - E;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,6 +101,10 @@ class fvDOM
|
|||
volScalarField Qin_;
|
||||
|
||||
//- Total absorption coefficient [1/m]
|
||||
volScalarField agas_;
|
||||
|
||||
volScalarField aSoot_;
|
||||
|
||||
volScalarField a_;
|
||||
|
||||
//- Number of solid angles in theta
|
||||
|
|
@ -116,6 +120,10 @@ class fvDOM
|
|||
label nLambda_;
|
||||
|
||||
//- Wavelength total absorption coefficient [1/m]
|
||||
PtrList<volScalarField> agasLambda_;
|
||||
|
||||
PtrList<volScalarField> aSootLambda_;
|
||||
|
||||
PtrList<volScalarField> aLambda_;
|
||||
|
||||
//- Black body
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ SourceFiles
|
|||
|
||||
#include "absorptionEmissionModel.H"
|
||||
#include "blackBodyEmission.H"
|
||||
#include "sootModel.H"
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
|
|
|||
|
|
@ -0,0 +1,487 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "MossBrookesSoot.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "fvm.H"
|
||||
#include "basicSpecieMixture.H"
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace radiation
|
||||
{
|
||||
defineTypeNameAndDebug(MossBrookesSoot, 0);
|
||||
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
sootModel,
|
||||
MossBrookesSoot,
|
||||
dictionary
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const Foam::basicSpecieMixture&
|
||||
Foam::radiation::MossBrookesSoot::checkThermo
|
||||
(
|
||||
const fluidThermo& thermo
|
||||
)
|
||||
{
|
||||
if (isA<basicSpecieMixture>(thermo))
|
||||
{
|
||||
return dynamic_cast<const basicSpecieMixture& >
|
||||
(
|
||||
thermo
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Inconsistent thermo package for " << thermo.type()
|
||||
<< "Please select a thermo package based on "
|
||||
<< "basicSpecieMixture" << exit(FatalError);
|
||||
|
||||
return dynamic_cast<const basicSpecieMixture& >
|
||||
(
|
||||
thermo
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::radiation::MossBrookesSoot::MossBrookesSoot
|
||||
(
|
||||
const dictionary& dict,
|
||||
const fvMesh& mesh,
|
||||
const word& modelType
|
||||
)
|
||||
:
|
||||
sootModel(dict, mesh, modelType),
|
||||
soot_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"soot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
sootVF_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"sootVF",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
NucConc_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NucConc",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
NumDen_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NumDen",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
coeffsDict_(dict.subOrEmptyDict(modelType + "Coeffs")),
|
||||
thermo_(mesh.lookupObject<fluidThermo>(basicThermo::dictName)),
|
||||
mixture_(checkThermo(thermo_)),
|
||||
turbulence_(mesh.lookupObject<compressibleTurbulenceModel>(turbulenceModel::propertiesName)),
|
||||
Snet_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Snet",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Snet", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Snuc_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Snuc",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Snuc", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Smassgrow_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Smassgrow",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Smassgrow", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Soxid_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Soxid",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Soxid", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
NSnuc_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NSnuc",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("NSnuc", dimless/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
NSagg_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NSagg",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("NSagg", dimless/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
NSnet_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NSnet",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("NSnet", dimless/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
aggParam_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"ParameterAgg",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("ParameterAgg", dimless, 0.0)
|
||||
),
|
||||
Sf_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Sf",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Sf", dimless, 0.0)
|
||||
),
|
||||
sootMeanDiameter_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"SootMeanDiameter",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("SootMeanDiameter", dimLength, 0.0)
|
||||
),
|
||||
PrtSoot(readScalar(coeffsDict_.lookup("TurbulentPrandtlNumberSoot"))),
|
||||
rhoSoot(readScalar(coeffsDict_.lookup("SootDensity"))),
|
||||
Calpha(readScalar(coeffsDict_.lookup("Calpha"))),
|
||||
Mp(readScalar(coeffsDict_.lookup("Mp"))),
|
||||
Cgamma(readScalar(coeffsDict_.lookup("Cgamma"))),
|
||||
Coxid(readScalar(coeffsDict_.lookup("Coxid"))),
|
||||
Cw(readScalar(coeffsDict_.lookup("Cw"))),
|
||||
etaColl(readScalar(coeffsDict_.lookup("etaColl"))),
|
||||
Talpha(readScalar(coeffsDict_.lookup("Talpha"))),
|
||||
Tgamma(readScalar(coeffsDict_.lookup("Tgamma"))),
|
||||
Navog(readScalar(coeffsDict_.lookup("AvogadroNumber"))),
|
||||
Cbeta(readScalar(coeffsDict_.lookup("Cbeta"))),
|
||||
Boltzmann(readScalar(coeffsDict_.lookup("BoltzmannConst"))),
|
||||
radiationActive_(readBool(coeffsDict_.lookup("Radiationeffect"))),
|
||||
cliqueNuc(readScalar(coeffsDict_.lookup("NucExpCorrectConstant"))),
|
||||
cliqueMassGrow(readScalar(coeffsDict_.lookup("MassGrowCorrectConstant")))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::radiation::MossBrookesSoot::~MossBrookesSoot()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::MossBrookesSoot::a(const label bandI) const
|
||||
{
|
||||
|
||||
const volScalarField T_ = thermo_.T();
|
||||
|
||||
tmp<volScalarField> tas
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSoot" + name(bandI),
|
||||
mesh().time().timeName(),
|
||||
mesh(),
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh(),
|
||||
dimensionedScalar("as", dimless/dimLength, 0.0),
|
||||
extrapolatedCalculatedFvPatchVectorField::typeName
|
||||
)
|
||||
);
|
||||
|
||||
scalarField& as = tas.ref().primitiveFieldRef();
|
||||
|
||||
forAll(as, celli)
|
||||
{
|
||||
if (radiationActive_ == true)
|
||||
{
|
||||
as[celli] = (1232.4)*(1800.0)*soot_[celli]*(1.0+(4.8e-4)*(T_[celli]-2000.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
as[celli] = 0.0;
|
||||
}
|
||||
}
|
||||
tas.ref().correctBoundaryConditions();
|
||||
return tas;
|
||||
}
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::MossBrookesSoot::e(const label bandI) const
|
||||
{
|
||||
|
||||
return a(bandI);
|
||||
}
|
||||
|
||||
void Foam::radiation::MossBrookesSoot::correct()
|
||||
{
|
||||
|
||||
calcSource();
|
||||
|
||||
const volScalarField rho_ = thermo_.rho();
|
||||
|
||||
const volScalarField &nut_ = turbulence().nut();
|
||||
|
||||
const surfaceScalarField phi_ (turbulence().phi());
|
||||
|
||||
fvScalarMatrix SootEqn
|
||||
(
|
||||
fvm::div(phi_, soot_)
|
||||
- fvm::laplacian((rho_*nut_/PrtSoot), soot_)
|
||||
==
|
||||
Snet_
|
||||
);
|
||||
|
||||
SootEqn.relax();
|
||||
|
||||
SootEqn.solve();
|
||||
|
||||
fvScalarMatrix NucConcEqn
|
||||
(
|
||||
fvm::div(phi_, NucConc_)
|
||||
- fvm::laplacian((rho_*nut_/PrtSoot), NucConc_)
|
||||
==
|
||||
NSnet_
|
||||
);
|
||||
|
||||
NucConcEqn.relax();
|
||||
|
||||
NucConcEqn.solve();
|
||||
|
||||
scalar minusindicator1 = 0.0;
|
||||
scalar minusindicator2 = 0.0;
|
||||
|
||||
forAll(rho_, celli)
|
||||
{
|
||||
if (soot_[celli] < 0.0) {
|
||||
soot_[celli] = 0.0;
|
||||
minusindicator1 = 1.0;
|
||||
}
|
||||
if (NucConc_[celli] < 0.0) {
|
||||
NucConc_[celli] =0.0;
|
||||
minusindicator2 = 1.0;
|
||||
}
|
||||
|
||||
NumDen_[celli] = rho_[celli]*(NucConc_[celli]*1e+15);
|
||||
|
||||
sootVF_[celli] = soot_[celli]*rho_[celli]/rhoSoot;
|
||||
|
||||
}
|
||||
if (minusindicator1 == 1.0 and minusindicator2 == 0.0) {
|
||||
Info<< "Minus soot value! corrected to zero" <<endl;
|
||||
}
|
||||
else if (minusindicator1 == 0.0 and minusindicator2 ==1.0) {
|
||||
Info<< "Minus NucConc value! corrected to zero" <<endl;
|
||||
}
|
||||
else if (minusindicator1 == 1.0 and minusindicator2 == 1.0) {
|
||||
Info<< "Minus soot and NucConc value! corrected to zero" << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Foam::radiation::MossBrookesSoot::calcSource()
|
||||
{
|
||||
const volScalarField rho_ = thermo_.rho();
|
||||
const volScalarField T_ = thermo_.T();
|
||||
const volScalarField p_ = thermo_.p();
|
||||
|
||||
const scalar precI = mixture_.species()[coeffsDict_.lookup("Precursor")];
|
||||
const scalar growI = mixture_.species()[coeffsDict_.lookup("SurfaceGrowSpecie")];
|
||||
const scalar oxidI = mixture_.species()[coeffsDict_.lookup("SootOxidizerSpecie")];
|
||||
|
||||
const volScalarField &Yprec_ = mixture_.Y(precI);
|
||||
const volScalarField &Ygrow_ = mixture_.Y(growI);
|
||||
const volScalarField &Yoxid_ = mixture_.Y(oxidI);
|
||||
|
||||
const volScalarField XPrec_(mixture_.W()*Yprec_/mixture_.W(precI));
|
||||
const volScalarField XSgs_ (mixture_.W()*Ygrow_/mixture_.W(growI));
|
||||
const volScalarField XOxid_(mixture_.W()*Yoxid_/mixture_.W(oxidI));
|
||||
|
||||
forAll(rho_, celli)
|
||||
{
|
||||
const scalar XPreci = XPrec_[celli];
|
||||
const scalar XSgsi = XSgs_[celli];
|
||||
const scalar XOxidi = XOxid_[celli];
|
||||
const scalar Ti = T_[celli];
|
||||
const scalar pi = p_[celli];
|
||||
const scalar rhoi = rho_[celli];
|
||||
const scalar sooti = soot_[celli];
|
||||
const scalar NumDeni = NumDen_[celli];
|
||||
|
||||
const scalar MolarConcPreci = (XPreci*pi)/(8314.5*Ti);
|
||||
const scalar MolarConcSgsi = (XSgsi*pi)/(8314.5*Ti);
|
||||
const scalar MolarConcOxidi = (XOxidi*pi)/(8314.5*Ti);
|
||||
|
||||
scalar SootMeanDiameteri = 0.0;
|
||||
|
||||
if (NumDeni == 0.0) {
|
||||
sootMeanDiameter_[celli] = 0.0;
|
||||
Sf_[celli] = 0.0;
|
||||
}
|
||||
else {
|
||||
const scalar parameter = (6.0/3.1416)*(rhoi/rhoSoot)*(sooti/NumDeni);
|
||||
sootMeanDiameter_[celli] = pow(parameter,0.33333);
|
||||
SootMeanDiameteri = sootMeanDiameter_[celli];
|
||||
Sf_[celli] = (3.1416)*pow(SootMeanDiameteri,2.0)*NumDeni;
|
||||
}
|
||||
|
||||
Snuc_[celli] = Mp*Calpha*exp(-cliqueNuc*Talpha/Ti)*MolarConcPreci;
|
||||
|
||||
Smassgrow_[celli] = Cgamma*MolarConcSgsi*exp(-cliqueMassGrow*Tgamma/Ti)*Sf_[celli];
|
||||
|
||||
Soxid_[celli] = Coxid*Cw*etaColl*MolarConcOxidi*pow(Ti,0.5)*Sf_[celli];
|
||||
|
||||
Snet_[celli] = Snuc_[celli] + Smassgrow_[celli] - Soxid_[celli];
|
||||
|
||||
NSnuc_[celli] = (Calpha*Navog*MolarConcPreci*exp(-cliqueNuc*Talpha/Ti))*(1e-15);
|
||||
|
||||
aggParam_[celli] = 24.0*Boltzmann*Ti/rhoSoot;
|
||||
|
||||
NSagg_[celli] = (Cbeta*pow((aggParam_[celli]),0.5)*pow(SootMeanDiameteri,0.5)*pow(NumDeni,2.0))*(1e-15);
|
||||
|
||||
NSnet_[celli] = NSnuc_[celli] - NSagg_[celli];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const Foam::compressibleTurbulenceModel&
|
||||
Foam::radiation::MossBrookesSoot::turbulence() const
|
||||
{
|
||||
return turbulence_;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
|
@ -0,0 +1,283 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::radiation::MossBrookesSoot
|
||||
|
||||
Description
|
||||
This soot model solves two transport equation for soot mass fraction
|
||||
and soot normalized nuclei concentration.
|
||||
The detail of the model strictly follows Moss & Brookes model in fluent.
|
||||
|
||||
Parameter settings are available in constant/radiationProperties.
|
||||
|
||||
Setting example:
|
||||
|
||||
sootModel MossBrookesSoot<rhoChemistryModel, gasHaThermoPhysics>;
|
||||
|
||||
MossBrookesSootCoeffs
|
||||
{
|
||||
SootDensity 1800.0;
|
||||
Calpha 54.0;
|
||||
Mp 144;
|
||||
Cgamma 11700;
|
||||
Coxid 1.0;
|
||||
Cw 105.8125;
|
||||
etaColl 0.04;
|
||||
Talpha 21100.0;
|
||||
Tgamma 12100.0;
|
||||
AvogadroNumber 6.022e+26;
|
||||
Cbeta 1.0;
|
||||
BoltzmannConst 1.38e-23;
|
||||
Radiationeffect true;
|
||||
|
||||
Precursor C2H2;
|
||||
SurfaceGrowSpecie C2H2;
|
||||
SootOxidizerSpecie OH;
|
||||
}
|
||||
|
||||
SourceFiles
|
||||
MossBrookesSoot.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef MossBrookesSoot_H
|
||||
#define MossBrookesSoot_H
|
||||
|
||||
#include "sootModel.H"
|
||||
#include "HashTable.H"
|
||||
|
||||
#include "fluidThermo.H"
|
||||
#include "basicSpecieMixture.H"
|
||||
#include "turbulentFluidThermoModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
namespace radiation
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class MossBrookesSoot Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
class MossBrookesSoot
|
||||
:
|
||||
public sootModel
|
||||
|
||||
{
|
||||
|
||||
// Static functions
|
||||
|
||||
//- Check mixture in thermo
|
||||
static const basicSpecieMixture& checkThermo
|
||||
(
|
||||
const fluidThermo&
|
||||
);
|
||||
|
||||
|
||||
// Private data
|
||||
|
||||
//- Soot mass fraction
|
||||
volScalarField soot_;
|
||||
|
||||
//- Soot volume fraction
|
||||
volScalarField sootVF_;
|
||||
|
||||
//- Normalized nuclei concentration of soot
|
||||
volScalarField NucConc_;
|
||||
|
||||
//- Number density of soot
|
||||
volScalarField NumDen_;
|
||||
|
||||
//- Soot model dictionary
|
||||
dictionary coeffsDict_;
|
||||
|
||||
//- Thermo package
|
||||
const fluidThermo& thermo_;
|
||||
|
||||
//- Composition
|
||||
const basicSpecieMixture& mixture_;
|
||||
|
||||
//- Reference to the turbulence model
|
||||
const compressibleTurbulenceModel &turbulence_;
|
||||
|
||||
//- Net rate of soot generation
|
||||
volScalarField Snet_;
|
||||
|
||||
//- The rate of soot formation by nucleation
|
||||
volScalarField Snuc_;
|
||||
|
||||
//- The rate of soot formation by mass growth
|
||||
volScalarField Smassgrow_;
|
||||
|
||||
//- The rate of soot formation by soot oxidation
|
||||
volScalarField Soxid_;
|
||||
|
||||
//- The rate of soot number density formation by nucleation
|
||||
volScalarField NSnuc_;
|
||||
|
||||
//- The rate of soot number density formation by agglomeration
|
||||
volScalarField NSagg_;
|
||||
|
||||
//- Net rate of soot numbe density formation
|
||||
volScalarField NSnet_;
|
||||
|
||||
//- Parameter for Agglomeration source term
|
||||
volScalarField aggParam_;
|
||||
|
||||
//- Available surface area of soot oxidation per volume
|
||||
volScalarField Sf_;
|
||||
|
||||
//- Soot particle mean diameter
|
||||
volScalarField sootMeanDiameter_;
|
||||
|
||||
//- Soot turbulent Prandtl number
|
||||
scalar PrtSoot;
|
||||
|
||||
//- Density of soot particle
|
||||
scalar rhoSoot;
|
||||
|
||||
//- Model constant for soot inception rate
|
||||
scalar Calpha;
|
||||
|
||||
//- Mass of an incipient soot particle
|
||||
scalar Mp;
|
||||
|
||||
//- Surface growth rate scaling factor
|
||||
scalar Cgamma;
|
||||
|
||||
//- Oxidation rate scaling parameter
|
||||
scalar Coxid;
|
||||
|
||||
//- Oxidation model constant
|
||||
scalar Cw;
|
||||
|
||||
//- Collisional efficiency parameter
|
||||
scalar etaColl;
|
||||
|
||||
//- Activation temperature for soot inception
|
||||
scalar Talpha;
|
||||
|
||||
//- Activation temperature for soot growth rate
|
||||
scalar Tgamma;
|
||||
|
||||
//- Avogadro's number
|
||||
scalar Navog;
|
||||
|
||||
//- Model constant for coagulation rate
|
||||
scalar Cbeta;
|
||||
|
||||
//- Boltzmann constant
|
||||
scalar Boltzmann;
|
||||
|
||||
//- Soot radiative effect on/off flag
|
||||
bool radiationActive_;
|
||||
|
||||
//- Correction constant for Exponent in Nucleation
|
||||
scalar cliqueNuc;
|
||||
|
||||
//- Correction constant for Exponent in Soot Mass Grow
|
||||
scalar cliqueMassGrow;
|
||||
|
||||
//- Soot precursor specie name
|
||||
const word precSpecie;
|
||||
|
||||
//- Soot surface growth specie name
|
||||
const word sgsSpecie;
|
||||
|
||||
//- Soot oxidation specie name
|
||||
const word oxSpecie;
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("MossBrookesSoot");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
MossBrookesSoot
|
||||
(
|
||||
const dictionary& dict,
|
||||
const fvMesh& mesh,
|
||||
const word& modelType
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~MossBrookesSoot();
|
||||
|
||||
|
||||
// Edit
|
||||
|
||||
//- Main update/correction routine
|
||||
virtual void correct();
|
||||
|
||||
//- Calculation of the source term routine
|
||||
virtual void calcSource();
|
||||
|
||||
|
||||
// Access
|
||||
|
||||
//- Return Ysoot
|
||||
const volScalarField& soot() const
|
||||
{
|
||||
return soot_;
|
||||
}
|
||||
|
||||
//- Return access to turbulence
|
||||
const compressibleTurbulenceModel& turbulence() const;
|
||||
|
||||
// Soot absorption coefficient
|
||||
|
||||
//- Soot absorption coefficient (net)
|
||||
virtual tmp<volScalarField> a(const label bandI = 0) const;
|
||||
|
||||
// Soot emission coefficient
|
||||
|
||||
//- Soot emission coefficient (net)
|
||||
virtual tmp<volScalarField> e(const label bandI = 0) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
} // End namespace radiation
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
@ -0,0 +1,374 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "khanGreeveSoot.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "fvm.H"
|
||||
#include "basicSpecieMixture.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace radiation
|
||||
{
|
||||
defineTypeNameAndDebug(khanGreeveSoot, 0);
|
||||
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
sootModel,
|
||||
khanGreeveSoot,
|
||||
dictionary
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const Foam::basicSpecieMixture&
|
||||
Foam::radiation::khanGreeveSoot::checkThermo
|
||||
(
|
||||
const fluidThermo& thermo
|
||||
)
|
||||
{
|
||||
if (isA<basicSpecieMixture>(thermo))
|
||||
{
|
||||
return dynamic_cast<const basicSpecieMixture& >
|
||||
(
|
||||
thermo
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Inconsistent thermo package for " << thermo.type()
|
||||
<< "Please select a thermo package based on "
|
||||
<< "basicSpecieMixture" << exit(FatalError);
|
||||
|
||||
return dynamic_cast<const basicSpecieMixture& >
|
||||
(
|
||||
thermo
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::radiation::khanGreeveSoot::khanGreeveSoot
|
||||
|
||||
(
|
||||
const dictionary& dict,
|
||||
const fvMesh& mesh,
|
||||
const word& modelType
|
||||
)
|
||||
:
|
||||
sootModel(dict, mesh, modelType),
|
||||
soot_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"soot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
sootVF_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"sootVF",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
coeffsDict_(dict.subOrEmptyDict(modelType + "Coeffs")),
|
||||
thermo_(mesh.lookupObject<fluidThermo>(basicThermo::dictName)),
|
||||
mixture_(checkThermo(thermo_)),
|
||||
turbulence_(mesh.lookupObject<compressibleTurbulenceModel>(turbulenceModel::propertiesName)),
|
||||
Snet_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Snet",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Snet", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Sform_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Sform",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Sform", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Scomb_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Scomb",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Scomb", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
S1_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"S1",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("S1", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
S2_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"S2",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("S2", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
PrtSoot(readScalar(coeffsDict_.lookup("TurbulentPrandtlNumberSoot"))),
|
||||
rhoSoot(readScalar(coeffsDict_.lookup("SootDensity"))),
|
||||
Cs_(readScalar(coeffsDict_.lookup("Cs"))),
|
||||
r_(readScalar(coeffsDict_.lookup("r"))),
|
||||
Ta_(readScalar(coeffsDict_.lookup("ActivationTemperature"))),
|
||||
A_(readScalar(coeffsDict_.lookup("A"))),
|
||||
nuFuel_(readScalar(coeffsDict_.lookup("nufuel"))),
|
||||
nuSoot_(readScalar(coeffsDict_.lookup("nusoot"))),
|
||||
eqv_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"eqv",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("eqv", dimless, 0.0)
|
||||
),
|
||||
eqvMax(readScalar(coeffsDict_.lookup("EquivalenceRatioMax"))),
|
||||
eqvMin(readScalar(coeffsDict_.lookup("EquivalenceRatioMin"))),
|
||||
radiationActive_(readBool(coeffsDict_.lookup("Radiationeffect")))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::radiation::khanGreeveSoot::~khanGreeveSoot()
|
||||
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::khanGreeveSoot::a(const label bandI) const
|
||||
{
|
||||
|
||||
const volScalarField T_ = thermo_.T();
|
||||
|
||||
tmp<volScalarField> tas
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSoot" + name(bandI),
|
||||
mesh().time().timeName(),
|
||||
mesh(),
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh(),
|
||||
dimensionedScalar("aSoot", dimless/dimLength, 0.0),
|
||||
extrapolatedCalculatedFvPatchVectorField::typeName
|
||||
)
|
||||
);
|
||||
|
||||
scalarField& as = tas.ref().primitiveFieldRef();
|
||||
if (radiationActive_)
|
||||
{
|
||||
forAll(as, celli)
|
||||
{
|
||||
as[celli] = (1232.4)*(1800.0)*soot_[celli]*(1.0+(4.8e-4)*(T_[celli]-2000.0));
|
||||
}
|
||||
}
|
||||
tas.ref().correctBoundaryConditions();
|
||||
|
||||
return tas;
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::khanGreeveSoot::e(const label bandI) const
|
||||
{
|
||||
|
||||
return a(bandI);
|
||||
}
|
||||
|
||||
|
||||
void Foam::radiation::khanGreeveSoot::correct()
|
||||
{
|
||||
|
||||
calcSource();
|
||||
|
||||
const volScalarField &rho_ = thermo_.rho();
|
||||
|
||||
const volScalarField &nut_ = turbulence().nut();
|
||||
|
||||
const surfaceScalarField phi_ (turbulence().phi());
|
||||
|
||||
fvScalarMatrix SootEqn
|
||||
(
|
||||
fvm::ddt(rho_, soot_)
|
||||
+ fvm::div(phi_, soot_)
|
||||
- fvm::laplacian((rho_*nut_/PrtSoot), soot_)
|
||||
==
|
||||
Snet_
|
||||
);
|
||||
|
||||
SootEqn.relax();
|
||||
|
||||
SootEqn.solve();
|
||||
|
||||
forAll(rho_, celli)
|
||||
{
|
||||
if (soot_[celli] < 1e-30){
|
||||
soot_[celli] = 0.0;
|
||||
}
|
||||
|
||||
sootVF_[celli] = soot_[celli]*rho_[celli]/rhoSoot;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Foam::radiation::khanGreeveSoot::calcSource()
|
||||
{
|
||||
const volScalarField rho_ = thermo_.rho();
|
||||
const volScalarField T_ = thermo_.T();
|
||||
const volScalarField p_ = thermo_.p();
|
||||
|
||||
const scalar oxI = mixture_.species()[coeffsDict_.lookup("Oxidizer")];
|
||||
|
||||
const scalar fuelI = mixture_.species()[coeffsDict_.lookup("Fuel")];
|
||||
|
||||
const volScalarField &Yox_ = mixture_.Y(oxI);
|
||||
|
||||
const volScalarField &Yfuel_ = mixture_.Y(fuelI);
|
||||
|
||||
const volScalarField Xfuel_(mixture_.W()*Yfuel_/mixture_.W(fuelI));
|
||||
|
||||
const volScalarField &epsilon_ = turbulence().epsilon();
|
||||
|
||||
const volScalarField &k_ = turbulence().k();
|
||||
|
||||
forAll(rho_, celli)
|
||||
{
|
||||
const scalar Yoxi = Yox_[celli];
|
||||
const scalar Yfueli = Yfuel_[celli];
|
||||
|
||||
eqv_[celli] = (Yfueli/Yoxi)*nuFuel_;
|
||||
|
||||
if (eqv_[celli] > eqvMax){
|
||||
eqv_[celli] = 0.0;
|
||||
}
|
||||
else if (eqv_[celli] < eqvMin){
|
||||
eqv_[celli] = 0.0;
|
||||
}
|
||||
|
||||
const scalar pi = p_[celli];
|
||||
const scalar Xfueli = Xfuel_[celli];
|
||||
const scalar Ti = T_[celli];
|
||||
|
||||
Sform_[celli] = Cs_*pi*Xfueli*pow(eqv_[celli],r_)*exp(-Ta_/Ti);
|
||||
|
||||
const scalar rhoi = rho_[celli];
|
||||
const scalar sooti = soot_[celli];
|
||||
const scalar epsiloni = epsilon_[celli];
|
||||
const scalar ki = k_[celli];
|
||||
|
||||
S1_[celli] = A_*rhoi*sooti*epsiloni/ki;
|
||||
|
||||
if (sooti == 0.0 and Yfueli == 0.0 ){
|
||||
S2_[celli] = 0.0;
|
||||
}
|
||||
else {
|
||||
S2_[celli] = A_*rhoi*(Yoxi/nuSoot_)*(sooti*nuSoot_/(sooti*nuSoot_+(Yfueli)*nuFuel_))*epsiloni/ki;
|
||||
|
||||
}
|
||||
|
||||
Scomb_[celli] = min(S1_[celli], S2_[celli]);
|
||||
|
||||
Snet_[celli] = Sform_[celli] - Scomb_[celli];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
const Foam::compressibleTurbulenceModel&
|
||||
Foam::radiation::khanGreeveSoot::turbulence() const
|
||||
{
|
||||
return turbulence_;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::radiation::khanGreeveSoot
|
||||
|
||||
Description
|
||||
This soot model solves transport equation for soot mass fraction.
|
||||
The detail of the model can be describe in the fluent theory guide.
|
||||
|
||||
Parameter setup is available in constant/radiationProperties file.
|
||||
|
||||
Setup example:
|
||||
|
||||
sootModel khanGreeveSoot<rhoChemistryModel,gasHaThermoPhysics>;
|
||||
|
||||
khanGreeveSootCoeffs
|
||||
{
|
||||
SootDensity 1800.0;
|
||||
Cs 1.5;
|
||||
r 3;
|
||||
ActivationTemperature 20000;
|
||||
A 4;
|
||||
nufuel 3.2;
|
||||
nusoot 2.6667;
|
||||
EquivalenceRatioMax 3.0;
|
||||
EquivalenceRatioMin 1.67;
|
||||
Radiationeffect true;
|
||||
|
||||
Fuel PHC3H7;
|
||||
Oxidizer O2;
|
||||
}
|
||||
|
||||
SourceFiles
|
||||
khanGreeveSoot.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef khanGreeveSoot_H
|
||||
#define khanGreeveSoot_H
|
||||
|
||||
#include "sootModel.H"
|
||||
#include "HashTable.H"
|
||||
|
||||
#include "fluidThermo.H"
|
||||
#include "basicSpecieMixture.H"
|
||||
#include "turbulentFluidThermoModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
namespace radiation
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class khanGreeveSoot Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
class khanGreeveSoot
|
||||
:
|
||||
public sootModel
|
||||
|
||||
{
|
||||
|
||||
// Static functions
|
||||
|
||||
//- Check mixture in thermo
|
||||
static const basicSpecieMixture& checkThermo
|
||||
(
|
||||
const fluidThermo&
|
||||
);
|
||||
|
||||
|
||||
// Private data
|
||||
|
||||
//- Soot mass fraction
|
||||
volScalarField soot_;
|
||||
|
||||
//- Soot volume fraction
|
||||
volScalarField sootVF_;
|
||||
|
||||
//- Soot model dictionary
|
||||
dictionary coeffsDict_;
|
||||
|
||||
//- Thermo package
|
||||
const fluidThermo& thermo_;
|
||||
|
||||
//- Composition
|
||||
const basicSpecieMixture& mixture_;
|
||||
|
||||
//- Reference to the turbulence model
|
||||
const compressibleTurbulenceModel &turbulence_;
|
||||
|
||||
//- Net rate of soot generation
|
||||
volScalarField Snet_;
|
||||
|
||||
//- The rate of soot formation
|
||||
volScalarField Sform_;
|
||||
|
||||
//- The rate of soot combustion
|
||||
volScalarField Scomb_;
|
||||
|
||||
//- The 1st rate of soot combustion
|
||||
volScalarField S1_;
|
||||
|
||||
//- The 2nd rate of soot combustion
|
||||
volScalarField S2_;
|
||||
|
||||
//- Soot turbulent Prandtl number
|
||||
scalar PrtSoot;
|
||||
|
||||
//- Soot density
|
||||
scalar rhoSoot;
|
||||
|
||||
//- Soot formation constant
|
||||
scalar Cs_;
|
||||
|
||||
//- Equivalence ratio exponent
|
||||
scalar r_;
|
||||
|
||||
//- Activation temperature
|
||||
scalar Ta_;
|
||||
|
||||
//- Magnussen model constant
|
||||
scalar A_;
|
||||
|
||||
//- Mass stoichiometry for the fuel oxidation
|
||||
scalar nuFuel_;
|
||||
|
||||
//- Mass stoichiometry for the soot oxidation
|
||||
scalar nuSoot_;
|
||||
|
||||
//- Equivalence ratio for the fuel
|
||||
volScalarField eqv_;
|
||||
|
||||
//- Maximum equivalence ratio
|
||||
scalar eqvMax;
|
||||
|
||||
//- Minimum equivalence ratio
|
||||
scalar eqvMin;
|
||||
|
||||
//- Soot radiative effect on/off flag
|
||||
bool radiationActive_;
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("khanGreeveSoot");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
khanGreeveSoot
|
||||
(
|
||||
const dictionary& dict,
|
||||
const fvMesh& mesh,
|
||||
const word& modelType
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~khanGreeveSoot();
|
||||
|
||||
|
||||
// Edit
|
||||
|
||||
//- Main update/correction routine
|
||||
virtual void correct();
|
||||
|
||||
//- Calculation of the source term routine
|
||||
virtual void calcSource();
|
||||
|
||||
|
||||
// Access
|
||||
|
||||
//- Return Ysoot
|
||||
const volScalarField& soot() const
|
||||
{
|
||||
return soot_;
|
||||
}
|
||||
|
||||
//- Return access to turbulence
|
||||
const compressibleTurbulenceModel& turbulence() const;
|
||||
|
||||
// Soot absorption coefficient
|
||||
|
||||
//- Soot absorption coefficient (net)
|
||||
virtual tmp<volScalarField> a(const label bandI = 0) const;
|
||||
|
||||
// Soot emission coefficient
|
||||
|
||||
//- Soot emission coefficient (net)
|
||||
virtual tmp<volScalarField> e(const label bandI = 0) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
} // End namespace radiation
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
@ -31,6 +31,33 @@ License
|
|||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#define makeSootTypesCombThermo(sootModelType, Comp, Thermo) \
|
||||
typedef Foam::radiation::sootModelType \
|
||||
<Foam::Comp, Foam::Thermo> \
|
||||
sootModelType##Comp##Thermo; \
|
||||
\
|
||||
defineTemplateTypeNameAndDebugWithName \
|
||||
( \
|
||||
sootModelType##Comp##Thermo, \
|
||||
#sootModelType"<"#Comp","#Thermo">", \
|
||||
0 \
|
||||
); \
|
||||
\
|
||||
namespace Foam \
|
||||
{ \
|
||||
namespace radiation \
|
||||
{ \
|
||||
typedef sootModelType<Comp, Thermo> sootModelType##Comp##Thermo; \
|
||||
\
|
||||
addToRunTimeSelectionTable \
|
||||
( \
|
||||
sootModel, \
|
||||
sootModelType##Comp##Thermo, \
|
||||
dictionary \
|
||||
); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define makeSootTypesThermo(sootModelType, Thermo) \
|
||||
typedef Foam::radiation::sootModelType<Foam::Thermo> \
|
||||
sootModelType##Thermo; \
|
||||
|
|
|
|||
|
|
@ -58,5 +58,58 @@ Foam::radiation::sootModel::~sootModel()
|
|||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::sootModel::a(const label bandI) const
|
||||
{
|
||||
return tmp<volScalarField>
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSoot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE,
|
||||
false
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("zero", dimless/dimLength, 0.0)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::sootModel::e(const label bandI) const
|
||||
{
|
||||
return tmp<volScalarField>
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"eSoot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE,
|
||||
false
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("zero", dimless/dimLength, 0.0)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
void Foam::radiation::sootModel::correct
|
||||
(
|
||||
volScalarField& a,
|
||||
PtrList<volScalarField>& aj
|
||||
) const
|
||||
{
|
||||
a = this->a();
|
||||
aj[0] = a;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
|
|||
|
|
@ -138,6 +138,26 @@ public:
|
|||
|
||||
//- Return const reference to soot
|
||||
virtual const volScalarField& soot() const = 0;
|
||||
|
||||
// Soot absorption coefficient
|
||||
|
||||
//- Soot absorption coefficient (net)
|
||||
virtual tmp<volScalarField> a(const label bandI = 0) const;
|
||||
|
||||
// Soot emission coefficient
|
||||
|
||||
//- Soot emission coefficient (net)
|
||||
virtual tmp<volScalarField> e(const label bandI = 0) const;
|
||||
|
||||
// Correct absorption coefficients
|
||||
|
||||
virtual void correct
|
||||
(
|
||||
volScalarField& a,
|
||||
PtrList<volScalarField>& aj
|
||||
) const;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
inline const Foam::compressibleTurbulenceModel&
|
||||
Foam::radiation::sootModel::turbulence() const
|
||||
{
|
||||
return turbulence_;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
5
src/thermophysicalModels/radiationSootModel/Make/files
Normal file
5
src/thermophysicalModels/radiationSootModel/Make/files
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
/* Soot model */
|
||||
khanGreeveSoot/khanGreeveSoot.C
|
||||
MossBrookesSoot/MossBrookesSoot.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libradiationSootModels
|
||||
30
src/thermophysicalModels/radiationSootModel/Make/options
Normal file
30
src/thermophysicalModels/radiationSootModel/Make/options
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
EXE_INC = \
|
||||
-I$(LIB_SRC)/transportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/properties/liquidProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/properties/liquidMixtureProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/properties/solidProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lradiationModels \
|
||||
-lcompressibleTransportModels \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lsolidThermo \
|
||||
-lSLGThermo \
|
||||
-lsolidMixtureProperties \
|
||||
-lliquidMixtureProperties \
|
||||
-lsolidProperties \
|
||||
-lliquidProperties \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
|
|
@ -0,0 +1,485 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "MossBrookesSoot.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "fvm.H"
|
||||
#include "constants.H"
|
||||
#include "basicSpecieMixture.H"
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace radiation
|
||||
{
|
||||
defineTypeNameAndDebug(MossBrookesSoot, 0);
|
||||
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
sootModel,
|
||||
MossBrookesSoot,
|
||||
dictionary
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const Foam::basicSpecieMixture&
|
||||
Foam::radiation::MossBrookesSoot::checkThermo
|
||||
(
|
||||
const fluidThermo& thermo
|
||||
)
|
||||
{
|
||||
if (isA<basicSpecieMixture>(thermo))
|
||||
{
|
||||
return dynamic_cast<const basicSpecieMixture& >
|
||||
(
|
||||
thermo
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Inconsistent thermo package for " << thermo.type()
|
||||
<< "Please select a thermo package based on "
|
||||
<< "basicSpecieMixture" << exit(FatalError);
|
||||
|
||||
return dynamic_cast<const basicSpecieMixture& >
|
||||
(
|
||||
thermo
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::radiation::MossBrookesSoot::MossBrookesSoot
|
||||
(
|
||||
const dictionary& dict,
|
||||
const fvMesh& mesh,
|
||||
const word& modelType
|
||||
)
|
||||
:
|
||||
sootModel(dict, mesh, modelType),
|
||||
soot_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"soot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
sootVF_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"sootVF",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
NucConc_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NucConc",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
NumDen_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NumDen",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
coeffsDict_(dict.subOrEmptyDict(modelType + "Coeffs")),
|
||||
thermo_(mesh.lookupObject<fluidThermo>(basicThermo::dictName)),
|
||||
mixture_(checkThermo(thermo_)),
|
||||
turbulence_(mesh.lookupObject<compressibleTurbulenceModel>(turbulenceModel::propertiesName)),
|
||||
Snet_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Snet",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Snet", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Snuc_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Snuc",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Snuc", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Smassgrow_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Smassgrow",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Smassgrow", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Soxid_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Soxid",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Soxid", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
NSnuc_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NSnuc",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("NSnuc", dimless/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
NSagg_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NSagg",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("NSagg", dimless/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
NSnet_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"NSnet",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("NSnet", dimless/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
aggParam_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"ParameterAgg",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("ParameterAgg", dimless, 0.0)
|
||||
),
|
||||
Sf_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Sf",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Sf", dimless, 0.0)
|
||||
),
|
||||
sootMeanDiameter_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"SootMeanDiameter",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("SootMeanDiameter", dimLength, 0.0)
|
||||
),
|
||||
Nnorm("Nnorm", dimless, 1e15),
|
||||
PrtSoot(readScalar(coeffsDict_.lookup("TurbulentPrandtlNumberSoot"))),
|
||||
rhoSoot(readScalar(coeffsDict_.lookup("SootDensity"))),
|
||||
Calpha(readScalar(coeffsDict_.lookup("Calpha"))),
|
||||
Mp(readScalar(coeffsDict_.lookup("Mp"))),
|
||||
Cgamma(readScalar(coeffsDict_.lookup("Cgamma"))),
|
||||
Coxid(readScalar(coeffsDict_.lookup("Coxid"))),
|
||||
Cw(readScalar(coeffsDict_.lookup("Cw"))),
|
||||
etaColl(readScalar(coeffsDict_.lookup("etaColl"))),
|
||||
Talpha(readScalar(coeffsDict_.lookup("Talpha"))),
|
||||
Tgamma(readScalar(coeffsDict_.lookup("Tgamma"))),
|
||||
Cbeta(readScalar(coeffsDict_.lookup("Cbeta"))),
|
||||
radiationActive_(readBool(coeffsDict_.lookup("Radiationeffect"))),
|
||||
cliqueNuc(readScalar(coeffsDict_.lookup("NucExpCorrectConstant"))),
|
||||
cliqueMassGrow(readScalar(coeffsDict_.lookup("MassGrowCorrectConstant")))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::radiation::MossBrookesSoot::~MossBrookesSoot()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::MossBrookesSoot::a(const label bandI) const
|
||||
{
|
||||
|
||||
const volScalarField T_ = thermo_.T();
|
||||
|
||||
tmp<volScalarField> tas
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSoot" + name(bandI),
|
||||
mesh().time().timeName(),
|
||||
mesh(),
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh(),
|
||||
dimensionedScalar("as", dimless/dimLength, 0.0),
|
||||
extrapolatedCalculatedFvPatchVectorField::typeName
|
||||
)
|
||||
);
|
||||
|
||||
scalarField& as = tas.ref().primitiveFieldRef();
|
||||
|
||||
forAll(as, celli)
|
||||
{
|
||||
if (radiationActive_ == true)
|
||||
{
|
||||
as[celli] = (1232.4)*(1800.0)*soot_[celli]*(1.0+(4.8e-4)*(T_[celli]-2000.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
as[celli] = 0.0;
|
||||
}
|
||||
}
|
||||
tas.ref().correctBoundaryConditions();
|
||||
return tas;
|
||||
}
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::MossBrookesSoot::e(const label bandI) const
|
||||
{
|
||||
|
||||
return a(bandI);
|
||||
}
|
||||
|
||||
void Foam::radiation::MossBrookesSoot::correct()
|
||||
{
|
||||
|
||||
calcSource();
|
||||
|
||||
const volScalarField &rho_ = thermo_.rho();
|
||||
|
||||
const volVectorField &U_ = turbulence().U();
|
||||
|
||||
volScalarField Dsoot (turbulence().mut()/PrtSoot);
|
||||
|
||||
const surfaceScalarField phi_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"phiSoot",
|
||||
mesh().time().timeName(),
|
||||
mesh()
|
||||
),
|
||||
linearInterpolate(rho_*U_) & mesh().Sf()
|
||||
);
|
||||
|
||||
fvScalarMatrix SootEqn
|
||||
(
|
||||
fvm::div(phi_, soot_)
|
||||
- fvm::laplacian(Dsoot, soot_)
|
||||
==
|
||||
Snet_
|
||||
);
|
||||
|
||||
SootEqn.relax();
|
||||
|
||||
SootEqn.solve();
|
||||
|
||||
fvScalarMatrix NucConcEqn
|
||||
(
|
||||
fvm::div(phi_, NucConc_)
|
||||
- fvm::laplacian(Dsoot, NucConc_)
|
||||
==
|
||||
NSnet_
|
||||
);
|
||||
|
||||
NucConcEqn.relax();
|
||||
|
||||
NucConcEqn.solve();
|
||||
|
||||
|
||||
soot_.max(0.0);
|
||||
NucConc_.max(0.0);
|
||||
|
||||
NumDen_ = rho_*NucConc_*Nnorm;
|
||||
|
||||
sootVF_ = soot_*rho_/dimensionedScalar("rhoSoot", dimDensity, rhoSoot);
|
||||
}
|
||||
|
||||
|
||||
void Foam::radiation::MossBrookesSoot::calcSource()
|
||||
{
|
||||
const volScalarField &rho_ = thermo_.rho();
|
||||
const volScalarField &T_ = thermo_.T();
|
||||
const volScalarField &p_ = thermo_.p();
|
||||
|
||||
const scalar precI = mixture_.species()[coeffsDict_.lookup("Precursor")];
|
||||
const scalar growI = mixture_.species()[coeffsDict_.lookup("SurfaceGrowSpecie")];
|
||||
const scalar oxidI = mixture_.species()[coeffsDict_.lookup("SootOxidizerSpecie")];
|
||||
|
||||
const volScalarField &Yprec_ = mixture_.Y(precI);
|
||||
const volScalarField &Ygrow_ = mixture_.Y(growI);
|
||||
const volScalarField &Yoxid_ = mixture_.Y(oxidI);
|
||||
|
||||
const volScalarField XPrec_(mixture_.W()*Yprec_/mixture_.W(precI));
|
||||
const volScalarField XSgs_ (mixture_.W()*Ygrow_/mixture_.W(growI));
|
||||
const volScalarField XOxid_(mixture_.W()*Yoxid_/mixture_.W(oxidI));
|
||||
|
||||
const dimensionedScalar NA (Foam::constant::physicoChemical::NA);
|
||||
const dimensionedScalar kB (Foam::constant::physicoChemical::k);
|
||||
const dimensionedScalar R (Foam::constant::physicoChemical::R);
|
||||
|
||||
const scalar pi314 = Foam::constant::mathematical::pi;
|
||||
|
||||
forAll(rho_, celli)
|
||||
{
|
||||
const scalar XPreci = XPrec_[celli];
|
||||
const scalar XSgsi = XSgs_[celli];
|
||||
const scalar XOxidi = XOxid_[celli];
|
||||
const scalar Ti = T_[celli];
|
||||
const scalar pi = p_[celli];
|
||||
const scalar rhoi = rho_[celli];
|
||||
const scalar sooti = soot_[celli];
|
||||
const scalar NumDeni = NumDen_[celli];
|
||||
|
||||
// concentrations in [kmol/m3]
|
||||
const scalar MolarConcPreci = (XPreci*pi)/(1e3*R.value()*Ti);
|
||||
const scalar MolarConcSgsi = (XSgsi *pi)/(1e3*R.value()*Ti);
|
||||
const scalar MolarConcOxidi = (XOxidi*pi)/(1e3*R.value()*Ti);
|
||||
|
||||
if (NumDeni == 0.0)
|
||||
{
|
||||
sootMeanDiameter_[celli] = 0.0;
|
||||
Sf_[celli] = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
const scalar parameter = (6.0/pi314)*(rhoi/rhoSoot)*(sooti/NumDeni);
|
||||
sootMeanDiameter_[celli] = pow(parameter, 1./3.);
|
||||
Sf_[celli] = pi314*pow(sootMeanDiameter_[celli],2.0)*NumDeni;
|
||||
}
|
||||
|
||||
const scalar sootMeanDiameteri = sootMeanDiameter_[celli];
|
||||
|
||||
Snuc_[celli] = Mp*Calpha*exp(-cliqueNuc*Talpha/Ti)*MolarConcPreci;
|
||||
|
||||
Smassgrow_[celli] = Cgamma*MolarConcSgsi*exp(-cliqueMassGrow*Tgamma/Ti)*Sf_[celli];
|
||||
|
||||
Soxid_[celli] = Coxid*Cw*etaColl*MolarConcOxidi*sqrt(Ti)*Sf_[celli];
|
||||
|
||||
Snet_[celli] = Snuc_[celli] + Smassgrow_[celli] - Soxid_[celli];
|
||||
|
||||
NSnuc_[celli] = (Calpha*NA.value()*MolarConcPreci*exp(-cliqueNuc*Talpha/Ti))/Nnorm.value();
|
||||
|
||||
aggParam_[celli] = 24.0*kB.value()*Ti/rhoSoot;
|
||||
|
||||
NSagg_[celli] = (Cbeta*sqrt(aggParam_[celli])*sqrt(sootMeanDiameteri)*pow(NumDeni,2.0))/Nnorm.value();
|
||||
|
||||
NSnet_[celli] = NSnuc_[celli] - NSagg_[celli];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const Foam::compressibleTurbulenceModel&
|
||||
Foam::radiation::MossBrookesSoot::turbulence() const
|
||||
{
|
||||
return turbulence_;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
|
@ -0,0 +1,280 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::radiation::MossBrookesSoot
|
||||
|
||||
Description
|
||||
This soot model solves two transport equation for soot mass fraction
|
||||
and soot normalized nuclei concentration.
|
||||
The detail of the model strictly follows Moss & Brookes model in fluent.
|
||||
|
||||
Parameter settings are available in constant/radiationProperties.
|
||||
|
||||
Setting example:
|
||||
|
||||
sootModel MossBrookesSoot<rhoChemistryModel, gasHaThermoPhysics>;
|
||||
|
||||
MossBrookesSootCoeffs
|
||||
{
|
||||
SootDensity 1800.0;
|
||||
Calpha 54.0;
|
||||
Mp 144;
|
||||
Cgamma 11700;
|
||||
Coxid 1.0;
|
||||
Cw 105.8125;
|
||||
etaColl 0.04;
|
||||
Talpha 21100.0;
|
||||
Tgamma 12100.0;
|
||||
AvogadroNumber 6.022e+26;
|
||||
Cbeta 1.0;
|
||||
BoltzmannConst 1.38e-23;
|
||||
Radiationeffect true;
|
||||
|
||||
Precursor C2H2;
|
||||
SurfaceGrowSpecie C2H2;
|
||||
SootOxidizerSpecie OH;
|
||||
}
|
||||
|
||||
SourceFiles
|
||||
MossBrookesSoot.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef MossBrookesSoot_H
|
||||
#define MossBrookesSoot_H
|
||||
|
||||
#include "sootModel.H"
|
||||
#include "HashTable.H"
|
||||
|
||||
#include "fluidThermo.H"
|
||||
#include "basicSpecieMixture.H"
|
||||
#include "turbulentFluidThermoModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
namespace radiation
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class MossBrookesSoot Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
class MossBrookesSoot
|
||||
:
|
||||
public sootModel
|
||||
|
||||
{
|
||||
|
||||
// Static functions
|
||||
|
||||
//- Check mixture in thermo
|
||||
static const basicSpecieMixture& checkThermo
|
||||
(
|
||||
const fluidThermo&
|
||||
);
|
||||
|
||||
|
||||
// Private data
|
||||
|
||||
//- Soot mass fraction
|
||||
volScalarField soot_;
|
||||
|
||||
//- Soot volume fraction
|
||||
volScalarField sootVF_;
|
||||
|
||||
//- Normalized nuclei concentration of soot
|
||||
volScalarField NucConc_;
|
||||
|
||||
//- Number density of soot
|
||||
volScalarField NumDen_;
|
||||
|
||||
//- Soot model dictionary
|
||||
dictionary coeffsDict_;
|
||||
|
||||
//- Thermo package
|
||||
const fluidThermo& thermo_;
|
||||
|
||||
//- Composition
|
||||
const basicSpecieMixture& mixture_;
|
||||
|
||||
//- Reference to the turbulence model
|
||||
const compressibleTurbulenceModel &turbulence_;
|
||||
|
||||
//- Net rate of soot generation
|
||||
volScalarField Snet_;
|
||||
|
||||
//- The rate of soot formation by nucleation
|
||||
volScalarField Snuc_;
|
||||
|
||||
//- The rate of soot formation by mass growth
|
||||
volScalarField Smassgrow_;
|
||||
|
||||
//- The rate of soot formation by soot oxidation
|
||||
volScalarField Soxid_;
|
||||
|
||||
//- The rate of soot number density formation by nucleation
|
||||
volScalarField NSnuc_;
|
||||
|
||||
//- The rate of soot number density formation by agglomeration
|
||||
volScalarField NSagg_;
|
||||
|
||||
//- Net rate of soot numbe density formation
|
||||
volScalarField NSnet_;
|
||||
|
||||
//- Parameter for Agglomeration source term
|
||||
volScalarField aggParam_;
|
||||
|
||||
//- Available surface area of soot oxidation per volume
|
||||
volScalarField Sf_;
|
||||
|
||||
//- Soot particle mean diameter
|
||||
volScalarField sootMeanDiameter_;
|
||||
|
||||
//- soot number density normalization factor
|
||||
const dimensionedScalar Nnorm;
|
||||
|
||||
//- Soot turbulent Prandtl number
|
||||
scalar PrtSoot;
|
||||
|
||||
//- Density of soot particle
|
||||
scalar rhoSoot;
|
||||
|
||||
//- Model constant for soot inception rate
|
||||
scalar Calpha;
|
||||
|
||||
//- Mass of an incipient soot particle
|
||||
scalar Mp;
|
||||
|
||||
//- Surface growth rate scaling factor
|
||||
scalar Cgamma;
|
||||
|
||||
//- Oxidation rate scaling parameter
|
||||
scalar Coxid;
|
||||
|
||||
//- Oxidation model constant
|
||||
scalar Cw;
|
||||
|
||||
//- Collisional efficiency parameter
|
||||
scalar etaColl;
|
||||
|
||||
//- Activation temperature for soot inception
|
||||
scalar Talpha;
|
||||
|
||||
//- Activation temperature for soot growth rate
|
||||
scalar Tgamma;
|
||||
|
||||
//- Model constant for coagulation rate
|
||||
scalar Cbeta;
|
||||
|
||||
//- Soot radiative effect on/off flag
|
||||
bool radiationActive_;
|
||||
|
||||
//- Correction constant for Exponent in Nucleation
|
||||
scalar cliqueNuc;
|
||||
|
||||
//- Correction constant for Exponent in Soot Mass Grow
|
||||
scalar cliqueMassGrow;
|
||||
|
||||
//- Soot precursor specie name
|
||||
const word precSpecie;
|
||||
|
||||
//- Soot surface growth specie name
|
||||
const word sgsSpecie;
|
||||
|
||||
//- Soot oxidation specie name
|
||||
const word oxSpecie;
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("MossBrookesSoot");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
MossBrookesSoot
|
||||
(
|
||||
const dictionary& dict,
|
||||
const fvMesh& mesh,
|
||||
const word& modelType
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~MossBrookesSoot();
|
||||
|
||||
|
||||
// Edit
|
||||
|
||||
//- Main update/correction routine
|
||||
virtual void correct();
|
||||
|
||||
//- Calculation of the source term routine
|
||||
virtual void calcSource();
|
||||
|
||||
|
||||
// Access
|
||||
|
||||
//- Return Ysoot
|
||||
const volScalarField& soot() const
|
||||
{
|
||||
return soot_;
|
||||
}
|
||||
|
||||
//- Return access to turbulence
|
||||
const compressibleTurbulenceModel& turbulence() const;
|
||||
|
||||
// Soot absorption coefficient
|
||||
|
||||
//- Soot absorption coefficient (net)
|
||||
virtual tmp<volScalarField> a(const label bandI = 0) const;
|
||||
|
||||
// Soot emission coefficient
|
||||
|
||||
//- Soot emission coefficient (net)
|
||||
virtual tmp<volScalarField> e(const label bandI = 0) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
} // End namespace radiation
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
@ -0,0 +1,384 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "khanGreeveSoot.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
#include "fvm.H"
|
||||
#include "basicSpecieMixture.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace radiation
|
||||
{
|
||||
defineTypeNameAndDebug(khanGreeveSoot, 0);
|
||||
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
sootModel,
|
||||
khanGreeveSoot,
|
||||
dictionary
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const Foam::basicSpecieMixture&
|
||||
Foam::radiation::khanGreeveSoot::checkThermo
|
||||
(
|
||||
const fluidThermo& thermo
|
||||
)
|
||||
{
|
||||
if (isA<basicSpecieMixture>(thermo))
|
||||
{
|
||||
return dynamic_cast<const basicSpecieMixture& >
|
||||
(
|
||||
thermo
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Inconsistent thermo package for " << thermo.type()
|
||||
<< "Please select a thermo package based on "
|
||||
<< "basicSpecieMixture" << exit(FatalError);
|
||||
|
||||
return dynamic_cast<const basicSpecieMixture& >
|
||||
(
|
||||
thermo
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::radiation::khanGreeveSoot::khanGreeveSoot
|
||||
|
||||
(
|
||||
const dictionary& dict,
|
||||
const fvMesh& mesh,
|
||||
const word& modelType
|
||||
)
|
||||
:
|
||||
sootModel(dict, mesh, modelType),
|
||||
soot_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"soot",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
sootVF_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"sootVF",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh_
|
||||
),
|
||||
coeffsDict_(dict.subOrEmptyDict(modelType + "Coeffs")),
|
||||
thermo_(mesh.lookupObject<fluidThermo>(basicThermo::dictName)),
|
||||
mixture_(checkThermo(thermo_)),
|
||||
turbulence_(mesh.lookupObject<compressibleTurbulenceModel>(turbulenceModel::propertiesName)),
|
||||
Snet_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Snet",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Snet", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Sform_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Sform",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Sform", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
Scomb_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Scomb",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("Scomb", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
S1_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"S1",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("S1", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
S2_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"S2",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("S2", dimMass/(pow3(dimLength)*dimTime), 0.0)
|
||||
),
|
||||
PrtSoot(readScalar(coeffsDict_.lookup("TurbulentPrandtlNumberSoot"))),
|
||||
rhoSoot(readScalar(coeffsDict_.lookup("SootDensity"))),
|
||||
Cs_(readScalar(coeffsDict_.lookup("Cs"))),
|
||||
r_(readScalar(coeffsDict_.lookup("r"))),
|
||||
Ta_(readScalar(coeffsDict_.lookup("ActivationTemperature"))),
|
||||
A_(readScalar(coeffsDict_.lookup("A"))),
|
||||
nuFuel_(readScalar(coeffsDict_.lookup("nufuel"))),
|
||||
nuSoot_(readScalar(coeffsDict_.lookup("nusoot"))),
|
||||
eqv_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"eqv",
|
||||
mesh_.time().timeName(),
|
||||
mesh_,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar("eqv", dimless, 0.0)
|
||||
),
|
||||
eqvMax(readScalar(coeffsDict_.lookup("EquivalenceRatioMax"))),
|
||||
eqvMin(readScalar(coeffsDict_.lookup("EquivalenceRatioMin"))),
|
||||
radiationActive_(readBool(coeffsDict_.lookup("Radiationeffect")))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::radiation::khanGreeveSoot::~khanGreeveSoot()
|
||||
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::khanGreeveSoot::a(const label bandI) const
|
||||
{
|
||||
|
||||
const volScalarField T_ = thermo_.T();
|
||||
|
||||
tmp<volScalarField> tas
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"aSoot" + name(bandI),
|
||||
mesh().time().timeName(),
|
||||
mesh(),
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh(),
|
||||
dimensionedScalar("aSoot", dimless/dimLength, 0.0),
|
||||
extrapolatedCalculatedFvPatchVectorField::typeName
|
||||
)
|
||||
);
|
||||
|
||||
scalarField& as = tas.ref().primitiveFieldRef();
|
||||
if (radiationActive_)
|
||||
{
|
||||
forAll(as, celli)
|
||||
{
|
||||
as[celli] = (1232.4)*(1800.0)*soot_[celli]*(1.0+(4.8e-4)*(T_[celli]-2000.0));
|
||||
}
|
||||
}
|
||||
tas.ref().correctBoundaryConditions();
|
||||
|
||||
return tas;
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::radiation::khanGreeveSoot::e(const label bandI) const
|
||||
{
|
||||
|
||||
return a(bandI);
|
||||
}
|
||||
|
||||
|
||||
void Foam::radiation::khanGreeveSoot::correct()
|
||||
{
|
||||
|
||||
calcSource();
|
||||
|
||||
const volScalarField &rho_ = thermo_.rho();
|
||||
|
||||
const volVectorField &U_ = turbulence().U();
|
||||
|
||||
const surfaceScalarField phi_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"phiSoot",
|
||||
mesh().time().timeName(),
|
||||
mesh()
|
||||
),
|
||||
linearInterpolate(rho_*U_) & mesh().Sf()
|
||||
);
|
||||
|
||||
fvScalarMatrix SootEqn
|
||||
(
|
||||
fvm::ddt(rho_, soot_)
|
||||
+ fvm::div(phi_, soot_)
|
||||
- fvm::laplacian((turbulence().mut()/PrtSoot), soot_)
|
||||
==
|
||||
Snet_
|
||||
);
|
||||
|
||||
SootEqn.relax();
|
||||
|
||||
SootEqn.solve();
|
||||
|
||||
forAll(rho_, celli)
|
||||
{
|
||||
if (soot_[celli] < 1e-30){
|
||||
soot_[celli] = 0.0;
|
||||
}
|
||||
|
||||
sootVF_[celli] = soot_[celli]*rho_[celli]/rhoSoot;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Foam::radiation::khanGreeveSoot::calcSource()
|
||||
{
|
||||
const volScalarField rho_ = thermo_.rho();
|
||||
const volScalarField T_ = thermo_.T();
|
||||
const volScalarField p_ = thermo_.p();
|
||||
|
||||
const scalar oxI = mixture_.species()[coeffsDict_.lookup("Oxidizer")];
|
||||
|
||||
const scalar fuelI = mixture_.species()[coeffsDict_.lookup("Fuel")];
|
||||
|
||||
const volScalarField &Yox_ = mixture_.Y(oxI);
|
||||
|
||||
const volScalarField &Yfuel_ = mixture_.Y(fuelI);
|
||||
|
||||
const volScalarField Xfuel_(mixture_.W()*Yfuel_/mixture_.W(fuelI));
|
||||
|
||||
const volScalarField &epsilon_ = turbulence().epsilon();
|
||||
|
||||
const volScalarField &k_ = turbulence().k();
|
||||
|
||||
forAll(rho_, celli)
|
||||
{
|
||||
const scalar Yoxi = Yox_[celli];
|
||||
const scalar Yfueli = Yfuel_[celli];
|
||||
|
||||
eqv_[celli] = (Yfueli/Yoxi)*nuFuel_;
|
||||
|
||||
if (eqv_[celli] > eqvMax){
|
||||
eqv_[celli] = 0.0;
|
||||
}
|
||||
else if (eqv_[celli] < eqvMin){
|
||||
eqv_[celli] = 0.0;
|
||||
}
|
||||
|
||||
const scalar pi = p_[celli];
|
||||
const scalar Xfueli = Xfuel_[celli];
|
||||
const scalar Ti = T_[celli];
|
||||
|
||||
Sform_[celli] = Cs_*pi*Xfueli*pow(eqv_[celli],r_)*exp(-Ta_/Ti);
|
||||
|
||||
const scalar rhoi = rho_[celli];
|
||||
const scalar sooti = soot_[celli];
|
||||
const scalar epsiloni = epsilon_[celli];
|
||||
const scalar ki = k_[celli];
|
||||
|
||||
S1_[celli] = A_*rhoi*sooti*epsiloni/ki;
|
||||
|
||||
if (sooti == 0.0 and Yfueli == 0.0 )
|
||||
{
|
||||
S2_[celli] = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
S2_[celli] = A_*rhoi*(Yoxi/nuSoot_)*(sooti*nuSoot_/(sooti*nuSoot_+(Yfueli)*nuFuel_))*epsiloni/ki;
|
||||
}
|
||||
|
||||
Scomb_[celli] = min(S1_[celli], S2_[celli]);
|
||||
|
||||
Snet_[celli] = Sform_[celli] - Scomb_[celli];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
const Foam::compressibleTurbulenceModel&
|
||||
Foam::radiation::khanGreeveSoot::turbulence() const
|
||||
{
|
||||
return turbulence_;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::radiation::khanGreeveSoot
|
||||
|
||||
Description
|
||||
This soot model solves transport equation for soot mass fraction.
|
||||
The detail of the model can be describe in the fluent theory guide.
|
||||
|
||||
Parameter setup is available in constant/radiationProperties file.
|
||||
|
||||
Setup example:
|
||||
|
||||
sootModel khanGreeveSoot<rhoChemistryModel,gasHaThermoPhysics>;
|
||||
|
||||
khanGreeveSootCoeffs
|
||||
{
|
||||
SootDensity 1800.0;
|
||||
Cs 1.5;
|
||||
r 3;
|
||||
ActivationTemperature 20000;
|
||||
A 4;
|
||||
nufuel 3.2;
|
||||
nusoot 2.6667;
|
||||
EquivalenceRatioMax 3.0;
|
||||
EquivalenceRatioMin 1.67;
|
||||
Radiationeffect true;
|
||||
|
||||
Fuel PHC3H7;
|
||||
Oxidizer O2;
|
||||
}
|
||||
|
||||
SourceFiles
|
||||
khanGreeveSoot.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef khanGreeveSoot_H
|
||||
#define khanGreeveSoot_H
|
||||
|
||||
#include "sootModel.H"
|
||||
#include "HashTable.H"
|
||||
|
||||
#include "fluidThermo.H"
|
||||
#include "basicSpecieMixture.H"
|
||||
#include "turbulentFluidThermoModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
namespace radiation
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class khanGreeveSoot Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
class khanGreeveSoot
|
||||
:
|
||||
public sootModel
|
||||
|
||||
{
|
||||
|
||||
// Static functions
|
||||
|
||||
//- Check mixture in thermo
|
||||
static const basicSpecieMixture& checkThermo
|
||||
(
|
||||
const fluidThermo&
|
||||
);
|
||||
|
||||
|
||||
// Private data
|
||||
|
||||
//- Soot mass fraction
|
||||
volScalarField soot_;
|
||||
|
||||
//- Soot volume fraction
|
||||
volScalarField sootVF_;
|
||||
|
||||
//- Soot model dictionary
|
||||
dictionary coeffsDict_;
|
||||
|
||||
//- Thermo package
|
||||
const fluidThermo& thermo_;
|
||||
|
||||
//- Composition
|
||||
const basicSpecieMixture& mixture_;
|
||||
|
||||
//- Reference to the turbulence model
|
||||
const compressibleTurbulenceModel &turbulence_;
|
||||
|
||||
//- Net rate of soot generation
|
||||
volScalarField Snet_;
|
||||
|
||||
//- The rate of soot formation
|
||||
volScalarField Sform_;
|
||||
|
||||
//- The rate of soot combustion
|
||||
volScalarField Scomb_;
|
||||
|
||||
//- The 1st rate of soot combustion
|
||||
volScalarField S1_;
|
||||
|
||||
//- The 2nd rate of soot combustion
|
||||
volScalarField S2_;
|
||||
|
||||
//- Soot turbulent Prandtl number
|
||||
scalar PrtSoot;
|
||||
|
||||
//- Soot density
|
||||
scalar rhoSoot;
|
||||
|
||||
//- Soot formation constant
|
||||
scalar Cs_;
|
||||
|
||||
//- Equivalence ratio exponent
|
||||
scalar r_;
|
||||
|
||||
//- Activation temperature
|
||||
scalar Ta_;
|
||||
|
||||
//- Magnussen model constant
|
||||
scalar A_;
|
||||
|
||||
//- Mass stoichiometry for the fuel oxidation
|
||||
scalar nuFuel_;
|
||||
|
||||
//- Mass stoichiometry for the soot oxidation
|
||||
scalar nuSoot_;
|
||||
|
||||
//- Equivalence ratio for the fuel
|
||||
volScalarField eqv_;
|
||||
|
||||
//- Maximum equivalence ratio
|
||||
scalar eqvMax;
|
||||
|
||||
//- Minimum equivalence ratio
|
||||
scalar eqvMin;
|
||||
|
||||
//- Soot radiative effect on/off flag
|
||||
bool radiationActive_;
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("khanGreeveSoot");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
khanGreeveSoot
|
||||
(
|
||||
const dictionary& dict,
|
||||
const fvMesh& mesh,
|
||||
const word& modelType
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~khanGreeveSoot();
|
||||
|
||||
|
||||
// Edit
|
||||
|
||||
//- Main update/correction routine
|
||||
virtual void correct();
|
||||
|
||||
//- Calculation of the source term routine
|
||||
virtual void calcSource();
|
||||
|
||||
|
||||
// Access
|
||||
|
||||
//- Return Ysoot
|
||||
const volScalarField& soot() const
|
||||
{
|
||||
return soot_;
|
||||
}
|
||||
|
||||
//- Return access to turbulence
|
||||
const compressibleTurbulenceModel& turbulence() const;
|
||||
|
||||
// Soot absorption coefficient
|
||||
|
||||
//- Soot absorption coefficient (net)
|
||||
virtual tmp<volScalarField> a(const label bandI = 0) const;
|
||||
|
||||
// Soot emission coefficient
|
||||
|
||||
//- Soot emission coefficient (net)
|
||||
virtual tmp<volScalarField> e(const label bandI = 0) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
} // End namespace radiation
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
@ -86,6 +86,19 @@ makeChemistryReaderType(foamChemistryReader, hConstSolidThermoPhysics);
|
|||
makeChemistryReaderType(foamChemistryReader, hPowerSolidThermoPhysics);
|
||||
makeChemistryReaderType(foamChemistryReader, hExpKappaConstSolidThermoPhysics);
|
||||
|
||||
|
||||
// Gas chemistry readers based on absoluteEnthalpy
|
||||
|
||||
makeChemistryReader(gasHaThermoPhysics);
|
||||
makeChemistryReaderType(foamChemistryReader, gasHaThermoPhysics);
|
||||
|
||||
|
||||
// Gas chemistry readers based on absoluteInternalEnergy
|
||||
|
||||
makeChemistryReader(gasEaThermoPhysics);
|
||||
makeChemistryReaderType(foamChemistryReader, gasEaThermoPhysics);
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ irreversibleReactionDelimiter {space}"=>"{space}
|
|||
startPDependentSpecie {space}"("{space}"+"{space}
|
||||
pDependentSpecie {specieName}")"{space}
|
||||
reactionCoeffs {space}{floatNum}{some_space}{floatNum}{some_space}{floatNum}{space}
|
||||
reactionKeyword {space}[A-Za-z](([A-Za-z0-9)*-])|("("[^+]))*((\+({some_space}))?){space}
|
||||
reactionKeyword {space}[A-Za-z](([A-Za-z0-9)*-])|("("[^+]))*{space}
|
||||
reactionKeywordSlash {reactionKeyword}"/"{space}
|
||||
thirdBodyEfficiency {space}{floatNum}{space}"/"{space}
|
||||
startReactionCoeffs {space}"/"{space}
|
||||
|
|
@ -637,8 +637,7 @@ bool finishReaction = false;
|
|||
(
|
||||
currentSpecieName,
|
||||
1.0,
|
||||
molecularWeight(currentSpecieComposition),
|
||||
chargeNumber(currentSpecieComposition)
|
||||
molecularWeight(currentSpecieComposition)
|
||||
),
|
||||
currentLowT,
|
||||
currentHighT,
|
||||
|
|
|
|||
|
|
@ -144,28 +144,6 @@ Foam::scalar Foam::chemkinReader::molecularWeight
|
|||
}
|
||||
|
||||
|
||||
Foam::scalar Foam::chemkinReader::chargeNumber
|
||||
(
|
||||
const List<specieElement>& specieComposition
|
||||
) const
|
||||
{
|
||||
scalar nElemCharges = 0.0;
|
||||
|
||||
forAll(specieComposition, i)
|
||||
{
|
||||
label nAtoms = specieComposition[i].nAtoms;
|
||||
const word& elementName = specieComposition[i].elementName;
|
||||
|
||||
if (elementName[0] == 'e')
|
||||
{
|
||||
nElemCharges -= nAtoms;
|
||||
}
|
||||
}
|
||||
|
||||
return nElemCharges;
|
||||
}
|
||||
|
||||
|
||||
void Foam::chemkinReader::checkCoeffs
|
||||
(
|
||||
const scalarList& reactionCoeffs,
|
||||
|
|
|
|||
|
|
@ -254,11 +254,6 @@ private:
|
|||
const List<specieElement>& specieComposition
|
||||
) const;
|
||||
|
||||
scalar chargeNumber
|
||||
(
|
||||
const List<specieElement>& specieComposition
|
||||
) const;
|
||||
|
||||
void finishElements(labelList& currentAtoms);
|
||||
|
||||
void checkCoeffs
|
||||
|
|
|
|||
|
|
@ -68,70 +68,6 @@ Foam::scalar Foam::SpecieMixture<MixtureType>::W
|
|||
}
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::scalar Foam::SpecieMixture<MixtureType>::z
|
||||
(
|
||||
const label speciei
|
||||
) const
|
||||
{
|
||||
return this->getLocalThermo(speciei).z();
|
||||
}
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::scalar Foam::SpecieMixture<MixtureType>::Qc
|
||||
(
|
||||
const label speciei
|
||||
) const
|
||||
{
|
||||
return this->getLocalThermo(speciei).Qc();
|
||||
}
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::scalar Foam::SpecieMixture<MixtureType>::Qc2
|
||||
(
|
||||
const label speciei
|
||||
) const
|
||||
{
|
||||
return this->getLocalThermo(speciei).Qc2();
|
||||
}
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
void Foam::SpecieMixture<MixtureType>::Cp
|
||||
(
|
||||
scalarField& Cps,
|
||||
const scalar p,
|
||||
const scalar T
|
||||
) const
|
||||
{
|
||||
forAll(this->species(), speciei)
|
||||
{
|
||||
Cps[speciei] = this->getLocalThermo(speciei).Cp(p, T);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
void Foam::SpecieMixture<MixtureType>::Cv
|
||||
(
|
||||
scalarField& Cvs,
|
||||
const scalar p,
|
||||
const scalar T
|
||||
) const
|
||||
{
|
||||
forAll(this->species(), speciei)
|
||||
{
|
||||
Cvs[speciei] = this->getLocalThermo(speciei).Cv(p, T);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::scalar Foam::SpecieMixture<MixtureType>::Cp
|
||||
(
|
||||
|
|
|
|||
|
|
@ -81,34 +81,6 @@ public:
|
|||
//- Molecular weight of the given specie [kg/kmol]
|
||||
virtual scalar W(const label speciei) const;
|
||||
|
||||
//- Number of charges of the given specie []
|
||||
virtual scalar z(const label speciei) const;
|
||||
|
||||
//- Specific charge of the given specie []
|
||||
virtual scalar Qc(const label specieI) const;
|
||||
|
||||
//- Absolute specific charge of the given specie []
|
||||
virtual scalar Qc2(const label specieI) const;
|
||||
|
||||
|
||||
// All species thermo properties
|
||||
|
||||
//- Heat capacity at constant pressure [J/(kg K)]
|
||||
virtual void Cp
|
||||
(
|
||||
scalarField& Cps,
|
||||
const scalar p,
|
||||
const scalar T
|
||||
) const;
|
||||
|
||||
//- Heat capacity at constant volume [J/(kg K)]
|
||||
virtual void Cv
|
||||
(
|
||||
scalarField& Cvs,
|
||||
const scalar p,
|
||||
const scalar T
|
||||
) const;
|
||||
|
||||
|
||||
// Per specie thermo properties
|
||||
|
||||
|
|
|
|||
|
|
@ -81,72 +81,4 @@ Foam::tmp<Foam::volScalarField> Foam::basicSpecieMixture::W() const
|
|||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::basicSpecieMixture::Qc() const
|
||||
{
|
||||
const PtrList<volScalarField>& Y(basicMultiComponentMixture::Y());
|
||||
|
||||
tmp<volScalarField> tQc
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("Qc", Y[0].group()),
|
||||
Y[0].time().timeName(),
|
||||
Y[0].mesh()
|
||||
),
|
||||
Y[0].mesh(),
|
||||
dimensionedScalar("zero", dimCurrent*dimTime/dimMass, 0)
|
||||
)
|
||||
);
|
||||
|
||||
volScalarField& Qc = tQc.ref();
|
||||
|
||||
dimensionedScalar Qci("Qci", dimCurrent*dimTime/dimMass, 0);
|
||||
|
||||
forAll(Y, i)
|
||||
{
|
||||
Qci.value() = this->Qc(i);
|
||||
Qc += Y[i]*Qci;
|
||||
// Qc += Y[i]*this->Qc(i);
|
||||
}
|
||||
|
||||
return tQc;
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::basicSpecieMixture::Qc2() const
|
||||
{
|
||||
const PtrList<volScalarField>& Y(basicMultiComponentMixture::Y());
|
||||
|
||||
tmp<volScalarField> tQc
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("Qc2", Y[0].group()),
|
||||
Y[0].time().timeName(),
|
||||
Y[0].mesh()
|
||||
),
|
||||
Y[0].mesh(),
|
||||
dimensionedScalar("zero", sqr(dimCurrent*dimTime)/dimMass, 0)
|
||||
)
|
||||
);
|
||||
|
||||
volScalarField& Qc = tQc.ref();
|
||||
|
||||
dimensionedScalar Qc2i("Qc2i", sqr(dimCurrent*dimTime)/dimMass, 0);
|
||||
|
||||
forAll(Y, i)
|
||||
{
|
||||
Qc2i.value() = this->Qc2(i);
|
||||
Qc += Y[i]*Qc2i;
|
||||
//Qc += Y[i]*this->Qc2(i);
|
||||
}
|
||||
|
||||
return tQc;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
|
|||
|
|
@ -88,43 +88,9 @@ public:
|
|||
//- Molecular weight of the given specie [kg/kmol]
|
||||
virtual scalar W(const label speciei) const = 0;
|
||||
|
||||
//- Number of charges of the given specie []
|
||||
virtual scalar z(const label speciei) const = 0;
|
||||
|
||||
//- Specific charge of the given specie [C/kg]
|
||||
virtual scalar Qc(const label speciei) const = 0;
|
||||
|
||||
//- Absolute specific charge of the given specie [C/kg]
|
||||
virtual scalar Qc2(const label speciei) const = 0;
|
||||
|
||||
//- Molecular weight of the mixture [kg/kmol]
|
||||
tmp<volScalarField> W() const;
|
||||
|
||||
//- Specific charge of the mixture [C/kg]
|
||||
tmp<volScalarField> Qc() const;
|
||||
|
||||
//- Absolute specific charge of the mixture [C^2/kg]
|
||||
tmp<volScalarField> Qc2() const;
|
||||
|
||||
|
||||
// All species thermo properties
|
||||
|
||||
//- Heat capacity at constant pressure [J/(kg K)]
|
||||
virtual void Cp
|
||||
(
|
||||
scalarField& Cps,
|
||||
const scalar p,
|
||||
const scalar T
|
||||
) const = 0;
|
||||
|
||||
//- Heat capacity at constant volume [J/(kg K)]
|
||||
virtual void Cv
|
||||
(
|
||||
scalarField& Cvs,
|
||||
const scalar p,
|
||||
const scalar T
|
||||
) const = 0;
|
||||
|
||||
|
||||
// Per specie thermo properties
|
||||
|
||||
|
|
|
|||
|
|
@ -212,6 +212,47 @@ makeReactionThermo
|
|||
specie
|
||||
);
|
||||
|
||||
//reactionthermo using absoluteEnthalpy
|
||||
|
||||
makeReactionThermo
|
||||
(
|
||||
rhoThermo,
|
||||
rhoReactionThermo,
|
||||
heRhoThermo,
|
||||
homogeneousMixture,
|
||||
sutherlandTransport,
|
||||
absoluteEnthalpy,
|
||||
janafThermo,
|
||||
perfectGas,
|
||||
specie
|
||||
);
|
||||
|
||||
makeReactionThermo
|
||||
(
|
||||
rhoThermo,
|
||||
rhoReactionThermo,
|
||||
heRhoThermo,
|
||||
inhomogeneousMixture,
|
||||
sutherlandTransport,
|
||||
absoluteEnthalpy,
|
||||
janafThermo,
|
||||
perfectGas,
|
||||
specie
|
||||
);
|
||||
|
||||
makeReactionThermo
|
||||
(
|
||||
rhoThermo,
|
||||
rhoReactionThermo,
|
||||
heRhoThermo,
|
||||
veryInhomogeneousMixture,
|
||||
sutherlandTransport,
|
||||
absoluteEnthalpy,
|
||||
janafThermo,
|
||||
perfectGas,
|
||||
specie
|
||||
);
|
||||
|
||||
|
||||
// Multi-component thermo for internal energy
|
||||
|
||||
|
|
@ -260,6 +301,29 @@ makeReactionMixtureThermo
|
|||
icoPoly8EThermoPhysics
|
||||
);
|
||||
|
||||
// Multi-component thermo for absolute enthalpy
|
||||
|
||||
makeReactionMixtureThermo
|
||||
(
|
||||
rhoThermo,
|
||||
rhoReactionThermo,
|
||||
heRhoThermo,
|
||||
multiComponentMixture,
|
||||
gasHaThermoPhysics
|
||||
);
|
||||
|
||||
|
||||
// Multi-component thermo for internal energy
|
||||
|
||||
makeReactionMixtureThermo
|
||||
(
|
||||
rhoThermo,
|
||||
rhoReactionThermo,
|
||||
heRhoThermo,
|
||||
multiComponentMixture,
|
||||
gasEaThermoPhysics
|
||||
);
|
||||
|
||||
|
||||
// Multi-component reaction thermo
|
||||
|
||||
|
|
@ -424,6 +488,47 @@ makeReactionMixtureThermo
|
|||
gasHThermoPhysics
|
||||
);
|
||||
|
||||
// Multi-component reaction thermo for absolute enthalpy
|
||||
|
||||
makeReactionMixtureThermo
|
||||
(
|
||||
rhoThermo,
|
||||
rhoReactionThermo,
|
||||
heRhoThermo,
|
||||
reactingMixture,
|
||||
gasHaThermoPhysics
|
||||
);
|
||||
|
||||
makeReactionMixtureThermo
|
||||
(
|
||||
rhoThermo,
|
||||
rhoReactionThermo,
|
||||
heRhoThermo,
|
||||
singleStepReactingMixture,
|
||||
gasHaThermoPhysics
|
||||
);
|
||||
|
||||
|
||||
// Multi-component reaction thermo for internal energy
|
||||
|
||||
makeReactionMixtureThermo
|
||||
(
|
||||
rhoThermo,
|
||||
rhoReactionThermo,
|
||||
heRhoThermo,
|
||||
reactingMixture,
|
||||
gasEaThermoPhysics
|
||||
);
|
||||
|
||||
makeReactionMixtureThermo
|
||||
(
|
||||
rhoThermo,
|
||||
rhoReactionThermo,
|
||||
heRhoThermo,
|
||||
singleStepReactingMixture,
|
||||
gasEaThermoPhysics
|
||||
);
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,12 @@ namespace Foam
|
|||
incompressibleGasEReaction;
|
||||
|
||||
typedef Reaction<icoPoly8EThermoPhysics> icoPoly8EReaction;
|
||||
|
||||
// absolute enthalpy based reactions
|
||||
typedef Reaction<gasHaThermoPhysics> gasHaReaction;
|
||||
|
||||
// absolute internal energy based reactions
|
||||
typedef Reaction<gasEaThermoPhysics> gasEaReaction;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@ Description
|
|||
|
||||
#include "sensibleEnthalpy.H"
|
||||
#include "sensibleInternalEnergy.H"
|
||||
#include "absoluteEnthalpy.H"
|
||||
#include "absoluteInternalEnergy.H"
|
||||
#include "thermo.H"
|
||||
#include "sutherlandTransport.H"
|
||||
#include "constTransport.H"
|
||||
|
|
@ -188,6 +190,40 @@ namespace Foam
|
|||
>,
|
||||
8
|
||||
> icoPoly8EThermoPhysics;
|
||||
|
||||
|
||||
// thermo physics types based on absoluteEnthalpy
|
||||
|
||||
typedef
|
||||
sutherlandTransport
|
||||
<
|
||||
species::thermo
|
||||
<
|
||||
janafThermo
|
||||
<
|
||||
perfectGas<specie>
|
||||
>,
|
||||
absoluteEnthalpy
|
||||
>
|
||||
> gasHaThermoPhysics;
|
||||
|
||||
|
||||
// thermo physics types based on absoluteInternalEnergy
|
||||
|
||||
typedef
|
||||
sutherlandTransport
|
||||
<
|
||||
species::thermo
|
||||
<
|
||||
janafThermo
|
||||
<
|
||||
perfectGas<specie>
|
||||
>,
|
||||
absoluteInternalEnergy
|
||||
>
|
||||
> gasEaThermoPhysics;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
|
|
|||
|
|
@ -103,6 +103,10 @@ namespace Foam
|
|||
)
|
||||
makeReactions(incompressibleGasEThermoPhysics, incompressibleGasEReaction)
|
||||
makeReactions(icoPoly8EThermoPhysics, icoPoly8EReaction)
|
||||
|
||||
// absolute enthalpy based reactions
|
||||
makeReactions(gasHaThermoPhysics, gasHaReaction)
|
||||
makeReactions(gasEaThermoPhysics, gasEaReaction)
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
|
|||
|
|
@ -29,24 +29,6 @@ License
|
|||
|
||||
/* * * * * * * * * * * * * * * public constants * * * * * * * * * * * * * * */
|
||||
|
||||
//- Universal gas constant (default in [J/(kmol K)])
|
||||
const Foam::scalar Foam::specie::RR = constant::physicoChemical::R.value()*1000;
|
||||
|
||||
//- Standard pressure (default in [Pa])
|
||||
const Foam::scalar Foam::specie::Pstd = constant::standard::Pstd.value();
|
||||
|
||||
//- Standard temperature (default in [K])
|
||||
const Foam::scalar Foam::specie::Tstd = constant::standard::Tstd.value();
|
||||
|
||||
//- Elementary charge (default in [C])
|
||||
const Foam::scalar Foam::specie::e = constant::electromagnetic::e.value();
|
||||
|
||||
//- Avogadro number (default in [1/mol])
|
||||
const Foam::scalar Foam::specie::NA = constant::physicoChemical::NA.value()*1000;
|
||||
|
||||
//- Boltzmann constant (default in [J/K])
|
||||
const Foam::scalar Foam::specie::k = constant::physicoChemical::k.value();
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
defineTypeNameAndDebug(specie, 0);
|
||||
|
|
@ -59,8 +41,7 @@ Foam::specie::specie(Istream& is)
|
|||
:
|
||||
name_(is),
|
||||
nMoles_(readScalar(is)),
|
||||
molWeight_(readScalar(is)),
|
||||
nCharges_(readScalar(is))
|
||||
molWeight_(readScalar(is))
|
||||
{
|
||||
is.check("specie::specie(Istream& is)");
|
||||
}
|
||||
|
|
@ -70,8 +51,7 @@ Foam::specie::specie(const dictionary& dict)
|
|||
:
|
||||
name_(dict.dictName()),
|
||||
nMoles_(readScalar(dict.subDict("specie").lookup("nMoles"))),
|
||||
molWeight_(readScalar(dict.subDict("specie").lookup("molWeight"))),
|
||||
nCharges_(dict.subDict("specie").lookupOrDefault("nCharges", 0.0))
|
||||
molWeight_(readScalar(dict.subDict("specie").lookup("molWeight")))
|
||||
{}
|
||||
|
||||
|
||||
|
|
@ -82,7 +62,6 @@ void Foam::specie::write(Ostream& os) const
|
|||
dictionary dict("specie");
|
||||
dict.add("nMoles", nMoles_);
|
||||
dict.add("molWeight", molWeight_);
|
||||
dict.add("nCharges", nCharges_);
|
||||
os << indent << dict.dictName() << dict;
|
||||
}
|
||||
|
||||
|
|
@ -93,8 +72,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const specie& st)
|
|||
{
|
||||
os << st.name_ << tab
|
||||
<< st.nMoles_ << tab
|
||||
<< st.molWeight_ << tab
|
||||
<< st.nCharges_;
|
||||
<< st.molWeight_;
|
||||
|
||||
os.check("Ostream& operator<<(Ostream& os, const specie& st)");
|
||||
return os;
|
||||
|
|
|
|||
|
|
@ -77,9 +77,6 @@ class specie
|
|||
//- Molecular weight of specie [kg/kmol]
|
||||
scalar molWeight_;
|
||||
|
||||
//- Number of elementary charges of specie
|
||||
scalar nCharges_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
|
@ -87,29 +84,6 @@ public:
|
|||
ClassName("specie");
|
||||
|
||||
|
||||
// Public constants
|
||||
|
||||
// Thermodynamic constants
|
||||
|
||||
//- Universal gas constant [J/(kmol K)]
|
||||
static const scalar RR;
|
||||
|
||||
//- Standard pressure [Pa]
|
||||
static const scalar Pstd;
|
||||
|
||||
//- Standard temperature [K]
|
||||
static const scalar Tstd;
|
||||
|
||||
//- Elementary charge [C]
|
||||
static const scalar e;
|
||||
|
||||
//- Avogadro number [1/kmol]
|
||||
static const scalar NA;
|
||||
|
||||
//- Boltzmann constant [J/K]
|
||||
static const scalar k;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
|
||||
|
|
@ -124,23 +98,6 @@ public:
|
|||
const scalar molWeight
|
||||
);
|
||||
|
||||
//- Construct from components without name
|
||||
inline specie
|
||||
(
|
||||
const scalar nMoles,
|
||||
const scalar molWeight,
|
||||
const scalar nCharges
|
||||
);
|
||||
|
||||
//- Construct from components with name
|
||||
inline specie
|
||||
(
|
||||
const word& name,
|
||||
const scalar nMoles,
|
||||
const scalar molWeight,
|
||||
const scalar nCharges
|
||||
);
|
||||
|
||||
//- Construct as copy
|
||||
inline specie(const specie&);
|
||||
|
||||
|
|
@ -170,27 +127,6 @@ public:
|
|||
//- Gas constant [J/(kg K)]
|
||||
inline scalar R() const;
|
||||
|
||||
//- Charge number
|
||||
inline scalar z() const;
|
||||
|
||||
|
||||
// Electric charge function
|
||||
|
||||
|
||||
// Mole specific properties
|
||||
|
||||
//- Electric charge [C/kmol]
|
||||
inline scalar qc() const;
|
||||
|
||||
|
||||
// Mass specific properties
|
||||
|
||||
//- Electric charge [C/kg]
|
||||
inline scalar Qc() const;
|
||||
|
||||
//- Electric charge squared [C^2/kg]
|
||||
inline scalar Qc2() const;
|
||||
|
||||
|
||||
// I-O
|
||||
|
||||
|
|
|
|||
|
|
@ -41,8 +41,7 @@ inline specie::specie
|
|||
:
|
||||
name_(name),
|
||||
nMoles_(nMoles),
|
||||
molWeight_(molWeight),
|
||||
nCharges_(0.0)
|
||||
molWeight_(molWeight)
|
||||
{}
|
||||
|
||||
|
||||
|
|
@ -53,36 +52,7 @@ inline specie::specie
|
|||
)
|
||||
:
|
||||
nMoles_(nMoles),
|
||||
molWeight_(molWeight),
|
||||
nCharges_(0.0)
|
||||
{}
|
||||
|
||||
|
||||
inline specie::specie
|
||||
(
|
||||
const word& name,
|
||||
const scalar nMoles,
|
||||
const scalar molWeight,
|
||||
const scalar nCharges
|
||||
)
|
||||
:
|
||||
name_(name),
|
||||
nMoles_(nMoles),
|
||||
molWeight_(molWeight),
|
||||
nCharges_(nCharges)
|
||||
{}
|
||||
|
||||
|
||||
inline specie::specie
|
||||
(
|
||||
const scalar nMoles,
|
||||
const scalar molWeight,
|
||||
const scalar nCharges
|
||||
)
|
||||
:
|
||||
nMoles_(nMoles),
|
||||
molWeight_(molWeight),
|
||||
nCharges_(nCharges)
|
||||
molWeight_(molWeight)
|
||||
{}
|
||||
|
||||
|
||||
|
|
@ -92,8 +62,7 @@ inline specie::specie(const specie& st)
|
|||
:
|
||||
name_(st.name_),
|
||||
nMoles_(st.nMoles_),
|
||||
molWeight_(st.molWeight_),
|
||||
nCharges_(st.nCharges_)
|
||||
molWeight_(st.molWeight_)
|
||||
{}
|
||||
|
||||
|
||||
|
|
@ -101,8 +70,7 @@ inline specie::specie(const word& name, const specie& st)
|
|||
:
|
||||
name_(name),
|
||||
nMoles_(st.nMoles_),
|
||||
molWeight_(st.molWeight_),
|
||||
nCharges_(st.nCharges_)
|
||||
molWeight_(st.molWeight_)
|
||||
{}
|
||||
|
||||
|
||||
|
|
@ -132,30 +100,6 @@ inline scalar specie::R() const
|
|||
}
|
||||
|
||||
|
||||
inline scalar specie::z() const
|
||||
{
|
||||
return nCharges_;
|
||||
}
|
||||
|
||||
|
||||
inline scalar specie::qc() const
|
||||
{
|
||||
return nCharges_ * NA * e;
|
||||
}
|
||||
|
||||
|
||||
inline scalar specie::Qc() const
|
||||
{
|
||||
return nCharges_ * NA * e / molWeight_;
|
||||
}
|
||||
|
||||
|
||||
inline scalar specie::Qc2() const
|
||||
{
|
||||
return nCharges_ * nCharges_ * NA * e * e / molWeight_;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
|
||||
|
||||
inline void specie::operator=(const specie& st)
|
||||
|
|
@ -163,7 +107,6 @@ inline void specie::operator=(const specie& st)
|
|||
//name_ = st.name_;
|
||||
nMoles_ = st.nMoles_;
|
||||
molWeight_ = st.molWeight_;
|
||||
nCharges_ = st.nCharges_;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -171,10 +114,6 @@ inline void specie::operator+=(const specie& st)
|
|||
{
|
||||
scalar sumNmoles = max(nMoles_ + st.nMoles_, SMALL);
|
||||
|
||||
nCharges_ =
|
||||
nMoles_/sumNmoles*nCharges_
|
||||
+ st.nMoles_/sumNmoles*st.nCharges_;
|
||||
|
||||
molWeight_ =
|
||||
nMoles_/sumNmoles*molWeight_
|
||||
+ st.nMoles_/sumNmoles*st.molWeight_;
|
||||
|
|
@ -191,10 +130,6 @@ inline void specie::operator-=(const specie& st)
|
|||
diffnMoles = SMALL;
|
||||
}
|
||||
|
||||
nCharges_ =
|
||||
nMoles_/diffnMoles*nCharges_
|
||||
- st.nMoles_/diffnMoles*st.nCharges_;
|
||||
|
||||
molWeight_ =
|
||||
nMoles_/diffnMoles*molWeight_
|
||||
- st.nMoles_/diffnMoles*st.molWeight_;
|
||||
|
|
@ -219,9 +154,7 @@ inline specie operator+(const specie& st1, const specie& st2)
|
|||
(
|
||||
sumNmoles,
|
||||
st1.nMoles_/sumNmoles*st1.molWeight_
|
||||
+ st2.nMoles_/sumNmoles*st2.molWeight_,
|
||||
st1.nMoles_/sumNmoles*st1.nCharges_
|
||||
+ st2.nMoles_/sumNmoles*st2.nCharges_
|
||||
+ st2.nMoles_/sumNmoles*st2.molWeight_
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -238,9 +171,7 @@ inline specie operator-(const specie& st1, const specie& st2)
|
|||
(
|
||||
diffNmoles,
|
||||
st1.nMoles_/diffNmoles*st1.molWeight_
|
||||
- st2.nMoles_/diffNmoles*st2.molWeight_,
|
||||
st1.nMoles_/diffNmoles*st1.nCharges_
|
||||
- st2.nMoles_/diffNmoles*st2.nCharges_
|
||||
- st2.nMoles_/diffNmoles*st2.molWeight_
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -250,8 +181,7 @@ inline specie operator*(const scalar s, const specie& st)
|
|||
return specie
|
||||
(
|
||||
s*st.nMoles_,
|
||||
st.molWeight_,
|
||||
st.nCharges_
|
||||
st.molWeight_
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -336,7 +336,6 @@ public:
|
|||
) const;
|
||||
|
||||
|
||||
|
||||
// I-O
|
||||
|
||||
//- Write to Ostream
|
||||
|
|
|
|||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC10H21
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC10H21
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC10H21;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC3H5
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC3H5
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC3H5;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC5H10
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC5H10
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC5H10;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC5H11
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC5H11
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC5H11;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC6H12
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC6H12
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC6H12;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC6H13
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC6H13
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC6H13;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC7H14
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC7H14
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC7H14;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC7H15
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC7H15
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC7H15;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC8H17
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC8H17
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC8H17;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC9H17C
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC9H17C
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC9H17C;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC9H18
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/AC9H18
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object AC9H18;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/ACROL
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/ACROL
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object ACROL;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/APHC2H4
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/APHC2H4
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object APHC2H4;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/APHC3H6
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/APHC3H6
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object APHC3H6;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BC10H21
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BC10H21
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object BC10H21;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BC6H13
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BC6H13
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object BC6H13;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BC9H17C
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BC9H17C
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object BC9H17C;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BPHC3H6
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BPHC3H6
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object BPHC3H6;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BPHPROPY
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/BPHPROPY
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object BPHPROPY;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C2H;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
30710
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H2
Normal file
30710
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H2
Normal file
File diff suppressed because it is too large
Load diff
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H3
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H3
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C2H3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H3CO
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H3CO
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C2H3CO;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H4
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H4
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C2H4;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H4O2H
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H4O2H
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C2H4O2H;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H5
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H5
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C2H5;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H5O2
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H5O2
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C2H5O2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H6
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C2H6
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C2H6;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C3H3
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C3H3
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C3H3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C3H5O
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C3H5O
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C3H5O;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C3H6
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C3H6
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C3H6;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C4H;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H2
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H2
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C4H2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H4
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H4
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C4H4;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H6
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H6
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C4H6;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H73
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H73
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C4H73;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H8
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C4H8
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C4H8;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H4O
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H4O
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C5H4O;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H4OH
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H4OH
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C5H4OH;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H5
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H5
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C5H5;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H5O13
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H5O13
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C5H5O13;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H7
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H7
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C5H7;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H813
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H813
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C5H813;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H913
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C5H913
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C5H913;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H1112
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H1112
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C6H1112;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H1113
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H1113
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C6H1113;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H1115
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H1115
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C6H1115;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H1116
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H1116
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C6H1116;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H5
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H5
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C6H5;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H5O
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H5O
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C6H5O;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H5OH
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H5OH
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C6H5OH;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H6
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/C6H6
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object C6H6;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/CC10H21
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/CC10H21
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object CC10H21;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/CC7H15
Normal file
52
tutorials/combustion/postSootFoam/OilBurnerSoot/0/CC7H15
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.1 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "2900";
|
||||
object CC7H15;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
INLET
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
WALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
SLIPWALL
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
OUTLET
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
CYCLIC_half0
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
CYCLIC_half1
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue