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:
|
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:
|
script:
|
||||||
- ./Allwmake -j
|
- ./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 $*
|
transportModels/Allwmake $targetType $*
|
||||||
thermophysicalModels/Allwmake $targetType $*
|
thermophysicalModels/Allwmake $targetType $*
|
||||||
TurbulenceModels/Allwmake $targetType $*
|
TurbulenceModels/Allwmake $targetType $*
|
||||||
|
wmake $targetType thermophysicalModels/radiationSootModel
|
||||||
wmake $targetType combustionModels
|
wmake $targetType combustionModels
|
||||||
regionModels/Allwmake $targetType $*
|
regionModels/Allwmake $targetType $*
|
||||||
lagrangian/Allwmake $targetType $*
|
lagrangian/Allwmake $targetType $*
|
||||||
|
|
|
||||||
|
|
@ -111,6 +111,23 @@ namespace Foam
|
||||||
rhoChemistryModel,
|
rhoChemistryModel,
|
||||||
icoPoly8EThermoPhysics
|
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
|
incompressibleGasEThermoPhysics
|
||||||
);
|
);
|
||||||
makeChemistrySolverTypes(rhoChemistryModel, icoPoly8EThermoPhysics);
|
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/solidProperties/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/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)/finiteVolume/lnInclude \
|
||||||
-I$(LIB_SRC)/meshTools/lnInclude
|
-I$(LIB_SRC)/meshTools/lnInclude
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ License
|
||||||
#include "fvmSup.H"
|
#include "fvmSup.H"
|
||||||
#include "absorptionEmissionModel.H"
|
#include "absorptionEmissionModel.H"
|
||||||
#include "scatterModel.H"
|
#include "scatterModel.H"
|
||||||
|
#include "sootModel.H"
|
||||||
#include "constants.H"
|
#include "constants.H"
|
||||||
#include "addToRunTimeSelectionTable.H"
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
|
@ -88,6 +89,19 @@ Foam::radiation::P1::P1(const volScalarField& T)
|
||||||
mesh_,
|
mesh_,
|
||||||
dimensionedScalar("a", dimless/dimLength, 0.0)
|
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_
|
e_
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
|
|
@ -158,6 +172,19 @@ Foam::radiation::P1::P1(const dictionary& dict, const volScalarField& T)
|
||||||
mesh_,
|
mesh_,
|
||||||
dimensionedScalar("a", dimless/dimLength, 0.0)
|
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_
|
e_
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
|
|
@ -212,9 +239,26 @@ bool Foam::radiation::P1::read()
|
||||||
|
|
||||||
void Foam::radiation::P1::calculate()
|
void Foam::radiation::P1::calculate()
|
||||||
{
|
{
|
||||||
a_ = absorptionEmission_->a();
|
a_ = absorptionEmission_->a() + soot_->a();
|
||||||
e_ = absorptionEmission_->e();
|
aSoot_ = soot_->a();
|
||||||
|
e_ = absorptionEmission_->e() + soot_->e();
|
||||||
E_ = absorptionEmission_->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 volScalarField sigmaEff(scatter_->sigmaEff());
|
||||||
|
|
||||||
const dimensionedScalar a0 ("a0", a_.dimensions(), ROOTVSMALL);
|
const dimensionedScalar a0 ("a0", a_.dimensions(), ROOTVSMALL);
|
||||||
|
|
@ -272,7 +316,7 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::P1::Rp() const
|
||||||
IOobject::NO_WRITE,
|
IOobject::NO_WRITE,
|
||||||
false
|
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 =
|
const DimensionedField<scalar, volMesh> E =
|
||||||
absorptionEmission_->ECont()()();
|
absorptionEmission_->ECont()()();
|
||||||
const DimensionedField<scalar, volMesh> a =
|
const DimensionedField<scalar, volMesh> a =
|
||||||
absorptionEmission_->aCont()()();
|
absorptionEmission_->aCont()()()+soot_->a()()();
|
||||||
|
|
||||||
return a*G - E;
|
return a*G - E;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,8 @@ class P1
|
||||||
//- Absorption coefficient
|
//- Absorption coefficient
|
||||||
volScalarField a_;
|
volScalarField a_;
|
||||||
|
|
||||||
|
volScalarField aSoot_;
|
||||||
|
|
||||||
//- Emission coefficient
|
//- Emission coefficient
|
||||||
volScalarField e_;
|
volScalarField e_;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -167,6 +167,46 @@ void Foam::radiation::fvDOM::initialise()
|
||||||
|
|
||||||
|
|
||||||
// Construct absorption field for each wavelength
|
// 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)
|
forAll(aLambda_, lambdaI)
|
||||||
{
|
{
|
||||||
aLambda_.set
|
aLambda_.set
|
||||||
|
|
@ -187,6 +227,7 @@ void Foam::radiation::fvDOM::initialise()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Info<< "fvDOM : Allocated " << IRay_.size()
|
Info<< "fvDOM : Allocated " << IRay_.size()
|
||||||
<< " rays with average orientation:" << nl;
|
<< " rays with average orientation:" << nl;
|
||||||
|
|
||||||
|
|
@ -286,6 +327,32 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T)
|
||||||
mesh_,
|
mesh_,
|
||||||
dimensionedScalar("Qin", dimMass/pow3(dimTime), 0.0)
|
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_
|
a_
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
|
|
@ -303,6 +370,8 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T)
|
||||||
nPhi_(readLabel(coeffs_.lookup("nPhi"))),
|
nPhi_(readLabel(coeffs_.lookup("nPhi"))),
|
||||||
nRay_(0),
|
nRay_(0),
|
||||||
nLambda_(absorptionEmission_->nBands()),
|
nLambda_(absorptionEmission_->nBands()),
|
||||||
|
agasLambda_(nLambda_),
|
||||||
|
aSootLambda_(nLambda_),
|
||||||
aLambda_(nLambda_),
|
aLambda_(nLambda_),
|
||||||
blackBody_(nLambda_, T),
|
blackBody_(nLambda_, T),
|
||||||
IRay_(0),
|
IRay_(0),
|
||||||
|
|
@ -375,6 +444,32 @@ Foam::radiation::fvDOM::fvDOM
|
||||||
mesh_,
|
mesh_,
|
||||||
dimensionedScalar("Qin", dimMass/pow3(dimTime), 0.0)
|
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_
|
a_
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
|
|
@ -392,6 +487,8 @@ Foam::radiation::fvDOM::fvDOM
|
||||||
nPhi_(readLabel(coeffs_.lookup("nPhi"))),
|
nPhi_(readLabel(coeffs_.lookup("nPhi"))),
|
||||||
nRay_(0),
|
nRay_(0),
|
||||||
nLambda_(absorptionEmission_->nBands()),
|
nLambda_(absorptionEmission_->nBands()),
|
||||||
|
agasLambda_(nLambda_),
|
||||||
|
aSootLambda_(nLambda_),
|
||||||
aLambda_(nLambda_),
|
aLambda_(nLambda_),
|
||||||
blackBody_(nLambda_, T),
|
blackBody_(nLambda_, T),
|
||||||
IRay_(0),
|
IRay_(0),
|
||||||
|
|
@ -432,7 +529,17 @@ bool Foam::radiation::fvDOM::read()
|
||||||
|
|
||||||
void Foam::radiation::fvDOM::calculate()
|
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();
|
updateBlackBodyEmission();
|
||||||
|
|
||||||
|
|
@ -483,7 +590,7 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::fvDOM::Rp() const
|
||||||
false
|
false
|
||||||
),
|
),
|
||||||
// Only include continuous phase emission
|
// 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
|
// Only include continuous phase absorption
|
||||||
const DimensionedField<scalar, volMesh> a =
|
const DimensionedField<scalar, volMesh> a =
|
||||||
absorptionEmission_->aCont()()();
|
absorptionEmission_->aCont()()() + soot_->a()()();
|
||||||
|
|
||||||
return a*G - E;
|
return a*G - E;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,10 @@ class fvDOM
|
||||||
volScalarField Qin_;
|
volScalarField Qin_;
|
||||||
|
|
||||||
//- Total absorption coefficient [1/m]
|
//- Total absorption coefficient [1/m]
|
||||||
|
volScalarField agas_;
|
||||||
|
|
||||||
|
volScalarField aSoot_;
|
||||||
|
|
||||||
volScalarField a_;
|
volScalarField a_;
|
||||||
|
|
||||||
//- Number of solid angles in theta
|
//- Number of solid angles in theta
|
||||||
|
|
@ -116,6 +120,10 @@ class fvDOM
|
||||||
label nLambda_;
|
label nLambda_;
|
||||||
|
|
||||||
//- Wavelength total absorption coefficient [1/m]
|
//- Wavelength total absorption coefficient [1/m]
|
||||||
|
PtrList<volScalarField> agasLambda_;
|
||||||
|
|
||||||
|
PtrList<volScalarField> aSootLambda_;
|
||||||
|
|
||||||
PtrList<volScalarField> aLambda_;
|
PtrList<volScalarField> aLambda_;
|
||||||
|
|
||||||
//- Black body
|
//- Black body
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ SourceFiles
|
||||||
|
|
||||||
#include "absorptionEmissionModel.H"
|
#include "absorptionEmissionModel.H"
|
||||||
#include "blackBodyEmission.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) \
|
#define makeSootTypesThermo(sootModelType, Thermo) \
|
||||||
typedef Foam::radiation::sootModelType<Foam::Thermo> \
|
typedef Foam::radiation::sootModelType<Foam::Thermo> \
|
||||||
sootModelType##Thermo; \
|
sootModelType##Thermo; \
|
||||||
|
|
|
||||||
|
|
@ -58,5 +58,58 @@ Foam::radiation::sootModel::~sootModel()
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * 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
|
//- Return const reference to soot
|
||||||
virtual const volScalarField& soot() const = 0;
|
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, hPowerSolidThermoPhysics);
|
||||||
makeChemistryReaderType(foamChemistryReader, hExpKappaConstSolidThermoPhysics);
|
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
|
} // End namespace Foam
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@ irreversibleReactionDelimiter {space}"=>"{space}
|
||||||
startPDependentSpecie {space}"("{space}"+"{space}
|
startPDependentSpecie {space}"("{space}"+"{space}
|
||||||
pDependentSpecie {specieName}")"{space}
|
pDependentSpecie {specieName}")"{space}
|
||||||
reactionCoeffs {space}{floatNum}{some_space}{floatNum}{some_space}{floatNum}{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}
|
reactionKeywordSlash {reactionKeyword}"/"{space}
|
||||||
thirdBodyEfficiency {space}{floatNum}{space}"/"{space}
|
thirdBodyEfficiency {space}{floatNum}{space}"/"{space}
|
||||||
startReactionCoeffs {space}"/"{space}
|
startReactionCoeffs {space}"/"{space}
|
||||||
|
|
@ -637,8 +637,7 @@ bool finishReaction = false;
|
||||||
(
|
(
|
||||||
currentSpecieName,
|
currentSpecieName,
|
||||||
1.0,
|
1.0,
|
||||||
molecularWeight(currentSpecieComposition),
|
molecularWeight(currentSpecieComposition)
|
||||||
chargeNumber(currentSpecieComposition)
|
|
||||||
),
|
),
|
||||||
currentLowT,
|
currentLowT,
|
||||||
currentHighT,
|
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
|
void Foam::chemkinReader::checkCoeffs
|
||||||
(
|
(
|
||||||
const scalarList& reactionCoeffs,
|
const scalarList& reactionCoeffs,
|
||||||
|
|
|
||||||
|
|
@ -254,11 +254,6 @@ private:
|
||||||
const List<specieElement>& specieComposition
|
const List<specieElement>& specieComposition
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
scalar chargeNumber
|
|
||||||
(
|
|
||||||
const List<specieElement>& specieComposition
|
|
||||||
) const;
|
|
||||||
|
|
||||||
void finishElements(labelList& currentAtoms);
|
void finishElements(labelList& currentAtoms);
|
||||||
|
|
||||||
void checkCoeffs
|
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>
|
template<class MixtureType>
|
||||||
Foam::scalar Foam::SpecieMixture<MixtureType>::Cp
|
Foam::scalar Foam::SpecieMixture<MixtureType>::Cp
|
||||||
(
|
(
|
||||||
|
|
|
||||||
|
|
@ -81,34 +81,6 @@ public:
|
||||||
//- Molecular weight of the given specie [kg/kmol]
|
//- Molecular weight of the given specie [kg/kmol]
|
||||||
virtual scalar W(const label speciei) const;
|
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
|
// 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]
|
//- Molecular weight of the given specie [kg/kmol]
|
||||||
virtual scalar W(const label speciei) const = 0;
|
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]
|
//- Molecular weight of the mixture [kg/kmol]
|
||||||
tmp<volScalarField> W() const;
|
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
|
// Per specie thermo properties
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -212,6 +212,47 @@ makeReactionThermo
|
||||||
specie
|
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
|
// Multi-component thermo for internal energy
|
||||||
|
|
||||||
|
|
@ -260,6 +301,29 @@ makeReactionMixtureThermo
|
||||||
icoPoly8EThermoPhysics
|
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
|
// Multi-component reaction thermo
|
||||||
|
|
||||||
|
|
@ -424,6 +488,47 @@ makeReactionMixtureThermo
|
||||||
gasHThermoPhysics
|
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;
|
incompressibleGasEReaction;
|
||||||
|
|
||||||
typedef Reaction<icoPoly8EThermoPhysics> icoPoly8EReaction;
|
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 "sensibleEnthalpy.H"
|
||||||
#include "sensibleInternalEnergy.H"
|
#include "sensibleInternalEnergy.H"
|
||||||
|
#include "absoluteEnthalpy.H"
|
||||||
|
#include "absoluteInternalEnergy.H"
|
||||||
#include "thermo.H"
|
#include "thermo.H"
|
||||||
#include "sutherlandTransport.H"
|
#include "sutherlandTransport.H"
|
||||||
#include "constTransport.H"
|
#include "constTransport.H"
|
||||||
|
|
@ -188,6 +190,40 @@ namespace Foam
|
||||||
>,
|
>,
|
||||||
8
|
8
|
||||||
> icoPoly8EThermoPhysics;
|
> 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(incompressibleGasEThermoPhysics, incompressibleGasEReaction)
|
||||||
makeReactions(icoPoly8EThermoPhysics, icoPoly8EReaction)
|
makeReactions(icoPoly8EThermoPhysics, icoPoly8EReaction)
|
||||||
|
|
||||||
|
// absolute enthalpy based reactions
|
||||||
|
makeReactions(gasHaThermoPhysics, gasHaReaction)
|
||||||
|
makeReactions(gasEaThermoPhysics, gasEaReaction)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|
|
||||||
|
|
@ -29,24 +29,6 @@ License
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * public constants * * * * * * * * * * * * * * */
|
/* * * * * * * * * * * * * * * 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
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(specie, 0);
|
defineTypeNameAndDebug(specie, 0);
|
||||||
|
|
@ -59,8 +41,7 @@ Foam::specie::specie(Istream& is)
|
||||||
:
|
:
|
||||||
name_(is),
|
name_(is),
|
||||||
nMoles_(readScalar(is)),
|
nMoles_(readScalar(is)),
|
||||||
molWeight_(readScalar(is)),
|
molWeight_(readScalar(is))
|
||||||
nCharges_(readScalar(is))
|
|
||||||
{
|
{
|
||||||
is.check("specie::specie(Istream& is)");
|
is.check("specie::specie(Istream& is)");
|
||||||
}
|
}
|
||||||
|
|
@ -70,8 +51,7 @@ Foam::specie::specie(const dictionary& dict)
|
||||||
:
|
:
|
||||||
name_(dict.dictName()),
|
name_(dict.dictName()),
|
||||||
nMoles_(readScalar(dict.subDict("specie").lookup("nMoles"))),
|
nMoles_(readScalar(dict.subDict("specie").lookup("nMoles"))),
|
||||||
molWeight_(readScalar(dict.subDict("specie").lookup("molWeight"))),
|
molWeight_(readScalar(dict.subDict("specie").lookup("molWeight")))
|
||||||
nCharges_(dict.subDict("specie").lookupOrDefault("nCharges", 0.0))
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -82,7 +62,6 @@ void Foam::specie::write(Ostream& os) const
|
||||||
dictionary dict("specie");
|
dictionary dict("specie");
|
||||||
dict.add("nMoles", nMoles_);
|
dict.add("nMoles", nMoles_);
|
||||||
dict.add("molWeight", molWeight_);
|
dict.add("molWeight", molWeight_);
|
||||||
dict.add("nCharges", nCharges_);
|
|
||||||
os << indent << dict.dictName() << dict;
|
os << indent << dict.dictName() << dict;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,8 +72,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const specie& st)
|
||||||
{
|
{
|
||||||
os << st.name_ << tab
|
os << st.name_ << tab
|
||||||
<< st.nMoles_ << tab
|
<< st.nMoles_ << tab
|
||||||
<< st.molWeight_ << tab
|
<< st.molWeight_;
|
||||||
<< st.nCharges_;
|
|
||||||
|
|
||||||
os.check("Ostream& operator<<(Ostream& os, const specie& st)");
|
os.check("Ostream& operator<<(Ostream& os, const specie& st)");
|
||||||
return os;
|
return os;
|
||||||
|
|
|
||||||
|
|
@ -77,9 +77,6 @@ class specie
|
||||||
//- Molecular weight of specie [kg/kmol]
|
//- Molecular weight of specie [kg/kmol]
|
||||||
scalar molWeight_;
|
scalar molWeight_;
|
||||||
|
|
||||||
//- Number of elementary charges of specie
|
|
||||||
scalar nCharges_;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
@ -87,29 +84,6 @@ public:
|
||||||
ClassName("specie");
|
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
|
// Constructors
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -124,23 +98,6 @@ public:
|
||||||
const scalar molWeight
|
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
|
//- Construct as copy
|
||||||
inline specie(const specie&);
|
inline specie(const specie&);
|
||||||
|
|
||||||
|
|
@ -170,27 +127,6 @@ public:
|
||||||
//- Gas constant [J/(kg K)]
|
//- Gas constant [J/(kg K)]
|
||||||
inline scalar R() const;
|
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
|
// I-O
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,7 @@ inline specie::specie
|
||||||
:
|
:
|
||||||
name_(name),
|
name_(name),
|
||||||
nMoles_(nMoles),
|
nMoles_(nMoles),
|
||||||
molWeight_(molWeight),
|
molWeight_(molWeight)
|
||||||
nCharges_(0.0)
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -53,36 +52,7 @@ inline specie::specie
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
nMoles_(nMoles),
|
nMoles_(nMoles),
|
||||||
molWeight_(molWeight),
|
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)
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -92,8 +62,7 @@ inline specie::specie(const specie& st)
|
||||||
:
|
:
|
||||||
name_(st.name_),
|
name_(st.name_),
|
||||||
nMoles_(st.nMoles_),
|
nMoles_(st.nMoles_),
|
||||||
molWeight_(st.molWeight_),
|
molWeight_(st.molWeight_)
|
||||||
nCharges_(st.nCharges_)
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -101,8 +70,7 @@ inline specie::specie(const word& name, const specie& st)
|
||||||
:
|
:
|
||||||
name_(name),
|
name_(name),
|
||||||
nMoles_(st.nMoles_),
|
nMoles_(st.nMoles_),
|
||||||
molWeight_(st.molWeight_),
|
molWeight_(st.molWeight_)
|
||||||
nCharges_(st.nCharges_)
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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 * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
|
||||||
|
|
||||||
inline void specie::operator=(const specie& st)
|
inline void specie::operator=(const specie& st)
|
||||||
|
|
@ -163,7 +107,6 @@ inline void specie::operator=(const specie& st)
|
||||||
//name_ = st.name_;
|
//name_ = st.name_;
|
||||||
nMoles_ = st.nMoles_;
|
nMoles_ = st.nMoles_;
|
||||||
molWeight_ = st.molWeight_;
|
molWeight_ = st.molWeight_;
|
||||||
nCharges_ = st.nCharges_;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -171,10 +114,6 @@ inline void specie::operator+=(const specie& st)
|
||||||
{
|
{
|
||||||
scalar sumNmoles = max(nMoles_ + st.nMoles_, SMALL);
|
scalar sumNmoles = max(nMoles_ + st.nMoles_, SMALL);
|
||||||
|
|
||||||
nCharges_ =
|
|
||||||
nMoles_/sumNmoles*nCharges_
|
|
||||||
+ st.nMoles_/sumNmoles*st.nCharges_;
|
|
||||||
|
|
||||||
molWeight_ =
|
molWeight_ =
|
||||||
nMoles_/sumNmoles*molWeight_
|
nMoles_/sumNmoles*molWeight_
|
||||||
+ st.nMoles_/sumNmoles*st.molWeight_;
|
+ st.nMoles_/sumNmoles*st.molWeight_;
|
||||||
|
|
@ -191,10 +130,6 @@ inline void specie::operator-=(const specie& st)
|
||||||
diffnMoles = SMALL;
|
diffnMoles = SMALL;
|
||||||
}
|
}
|
||||||
|
|
||||||
nCharges_ =
|
|
||||||
nMoles_/diffnMoles*nCharges_
|
|
||||||
- st.nMoles_/diffnMoles*st.nCharges_;
|
|
||||||
|
|
||||||
molWeight_ =
|
molWeight_ =
|
||||||
nMoles_/diffnMoles*molWeight_
|
nMoles_/diffnMoles*molWeight_
|
||||||
- st.nMoles_/diffnMoles*st.molWeight_;
|
- st.nMoles_/diffnMoles*st.molWeight_;
|
||||||
|
|
@ -219,9 +154,7 @@ inline specie operator+(const specie& st1, const specie& st2)
|
||||||
(
|
(
|
||||||
sumNmoles,
|
sumNmoles,
|
||||||
st1.nMoles_/sumNmoles*st1.molWeight_
|
st1.nMoles_/sumNmoles*st1.molWeight_
|
||||||
+ st2.nMoles_/sumNmoles*st2.molWeight_,
|
+ st2.nMoles_/sumNmoles*st2.molWeight_
|
||||||
st1.nMoles_/sumNmoles*st1.nCharges_
|
|
||||||
+ st2.nMoles_/sumNmoles*st2.nCharges_
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -238,9 +171,7 @@ inline specie operator-(const specie& st1, const specie& st2)
|
||||||
(
|
(
|
||||||
diffNmoles,
|
diffNmoles,
|
||||||
st1.nMoles_/diffNmoles*st1.molWeight_
|
st1.nMoles_/diffNmoles*st1.molWeight_
|
||||||
- st2.nMoles_/diffNmoles*st2.molWeight_,
|
- st2.nMoles_/diffNmoles*st2.molWeight_
|
||||||
st1.nMoles_/diffNmoles*st1.nCharges_
|
|
||||||
- st2.nMoles_/diffNmoles*st2.nCharges_
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -250,8 +181,7 @@ inline specie operator*(const scalar s, const specie& st)
|
||||||
return specie
|
return specie
|
||||||
(
|
(
|
||||||
s*st.nMoles_,
|
s*st.nMoles_,
|
||||||
st.molWeight_,
|
st.molWeight_
|
||||||
st.nCharges_
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -336,7 +336,6 @@ public:
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// I-O
|
// I-O
|
||||||
|
|
||||||
//- Write to Ostream
|
//- 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