Compare commits
8 commits
postSootFo
...
ionicWind
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
01b0b1396b | ||
|
|
9f1a9c60d1 | ||
|
|
75c8f48c51 | ||
|
|
b5bebc52ec | ||
|
|
6b3e8c972b | ||
|
|
8670f39b9f | ||
|
|
c06d324891 | ||
|
|
3efddbac8a |
325 changed files with 418 additions and 1590026 deletions
|
|
@ -1,9 +1,23 @@
|
||||||
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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
postSootFoam.C
|
|
||||||
|
|
||||||
EXE = $(FOAM_APPBIN)/postSootFoam
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
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
|
|
||||||
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
Info<< "\nConstructing reacting cloud" << endl;
|
|
||||||
basicReactingMultiphaseCloud parcels
|
|
||||||
(
|
|
||||||
"reactingCloud1",
|
|
||||||
rho,
|
|
||||||
U,
|
|
||||||
g,
|
|
||||||
slgThermo
|
|
||||||
);
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
const volScalarField& psi = thermo.psi();
|
|
||||||
|
|
@ -1,142 +0,0 @@
|
||||||
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"
|
|
||||||
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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,7 +64,6 @@ 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,23 +111,6 @@ 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,12 +88,6 @@ 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,8 +9,6 @@ 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,7 +28,6 @@ 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"
|
||||||
|
|
||||||
|
|
@ -89,19 +88,6 @@ 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
|
||||||
|
|
@ -172,19 +158,6 @@ 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
|
||||||
|
|
@ -239,26 +212,9 @@ bool Foam::radiation::P1::read()
|
||||||
|
|
||||||
void Foam::radiation::P1::calculate()
|
void Foam::radiation::P1::calculate()
|
||||||
{
|
{
|
||||||
a_ = absorptionEmission_->a() + soot_->a();
|
a_ = absorptionEmission_->a();
|
||||||
aSoot_ = soot_->a();
|
e_ = absorptionEmission_->e();
|
||||||
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);
|
||||||
|
|
@ -316,7 +272,7 @@ Foam::tmp<Foam::volScalarField> Foam::radiation::P1::Rp() const
|
||||||
IOobject::NO_WRITE,
|
IOobject::NO_WRITE,
|
||||||
false
|
false
|
||||||
),
|
),
|
||||||
4.0*(absorptionEmission_->eCont()+soot_->e())*physicoChemical::sigma
|
4.0*absorptionEmission_->eCont()*physicoChemical::sigma
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -330,7 +286,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()()()+soot_->a()()();
|
absorptionEmission_->aCont()()();
|
||||||
|
|
||||||
return a*G - E;
|
return a*G - E;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,8 +70,6 @@ class P1
|
||||||
//- Absorption coefficient
|
//- Absorption coefficient
|
||||||
volScalarField a_;
|
volScalarField a_;
|
||||||
|
|
||||||
volScalarField aSoot_;
|
|
||||||
|
|
||||||
//- Emission coefficient
|
//- Emission coefficient
|
||||||
volScalarField e_;
|
volScalarField e_;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -167,46 +167,6 @@ 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
|
||||||
|
|
@ -227,7 +187,6 @@ 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;
|
||||||
|
|
||||||
|
|
@ -327,32 +286,6 @@ 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
|
||||||
|
|
@ -370,8 +303,6 @@ 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),
|
||||||
|
|
@ -444,32 +375,6 @@ 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
|
||||||
|
|
@ -487,8 +392,6 @@ 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),
|
||||||
|
|
@ -529,17 +432,7 @@ bool Foam::radiation::fvDOM::read()
|
||||||
|
|
||||||
void Foam::radiation::fvDOM::calculate()
|
void Foam::radiation::fvDOM::calculate()
|
||||||
{
|
{
|
||||||
absorptionEmission_->correct(agas_, agasLambda_);
|
absorptionEmission_->correct(a_, aLambda_);
|
||||||
|
|
||||||
soot_->correct(aSoot_, aSootLambda_);
|
|
||||||
|
|
||||||
// aLambda_ = agasLambda_ + aSootLambda_;
|
|
||||||
|
|
||||||
forAll(aLambda_, celli)
|
|
||||||
{
|
|
||||||
a_[celli] = agas_[celli] + aSoot_[celli];
|
|
||||||
aLambda_[celli] = agasLambda_[celli] + aSootLambda_[celli];
|
|
||||||
}
|
|
||||||
|
|
||||||
updateBlackBodyEmission();
|
updateBlackBodyEmission();
|
||||||
|
|
||||||
|
|
@ -590,7 +483,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() + soot_->a())*physicoChemical::sigma
|
4*absorptionEmission_->aCont()*physicoChemical::sigma
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -608,7 +501,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()()() + soot_->a()()();
|
absorptionEmission_->aCont()()();
|
||||||
|
|
||||||
return a*G - E;
|
return a*G - E;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -101,10 +101,6 @@ 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
|
||||||
|
|
@ -120,10 +116,6 @@ 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,7 +37,6 @@ SourceFiles
|
||||||
|
|
||||||
#include "absorptionEmissionModel.H"
|
#include "absorptionEmissionModel.H"
|
||||||
#include "blackBodyEmission.H"
|
#include "blackBodyEmission.H"
|
||||||
#include "sootModel.H"
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
|
||||||
|
|
@ -1,487 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
@ -1,283 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,374 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
@ -1,230 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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,33 +31,6 @@ 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,58 +58,5 @@ 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,26 +138,6 @@ 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;
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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_;
|
|
||||||
}
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
/* Soot model */
|
|
||||||
khanGreeveSoot/khanGreeveSoot.C
|
|
||||||
MossBrookesSoot/MossBrookesSoot.C
|
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libradiationSootModels
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,485 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
@ -1,280 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,384 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
@ -1,230 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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,19 +86,6 @@ 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)*-])|("("[^+]))*{space}
|
reactionKeyword {space}[A-Za-z](([A-Za-z0-9)*-])|("("[^+]))*((\+({some_space}))?){space}
|
||||||
reactionKeywordSlash {reactionKeyword}"/"{space}
|
reactionKeywordSlash {reactionKeyword}"/"{space}
|
||||||
thirdBodyEfficiency {space}{floatNum}{space}"/"{space}
|
thirdBodyEfficiency {space}{floatNum}{space}"/"{space}
|
||||||
startReactionCoeffs {space}"/"{space}
|
startReactionCoeffs {space}"/"{space}
|
||||||
|
|
@ -637,7 +637,8 @@ bool finishReaction = false;
|
||||||
(
|
(
|
||||||
currentSpecieName,
|
currentSpecieName,
|
||||||
1.0,
|
1.0,
|
||||||
molecularWeight(currentSpecieComposition)
|
molecularWeight(currentSpecieComposition),
|
||||||
|
chargeNumber(currentSpecieComposition)
|
||||||
),
|
),
|
||||||
currentLowT,
|
currentLowT,
|
||||||
currentHighT,
|
currentHighT,
|
||||||
|
|
|
||||||
|
|
@ -144,6 +144,28 @@ 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,6 +254,11 @@ 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,6 +68,70 @@ 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,6 +81,34 @@ 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,4 +81,72 @@ 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,9 +88,43 @@ 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,47 +212,6 @@ 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
|
||||||
|
|
||||||
|
|
@ -301,29 +260,6 @@ 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
|
||||||
|
|
||||||
|
|
@ -488,47 +424,6 @@ 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,12 +68,6 @@ 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,8 +40,6 @@ 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"
|
||||||
|
|
@ -190,40 +188,6 @@ 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,10 +103,6 @@ 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,6 +29,24 @@ 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);
|
||||||
|
|
@ -41,7 +59,8 @@ 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)");
|
||||||
}
|
}
|
||||||
|
|
@ -51,7 +70,8 @@ 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))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -62,6 +82,7 @@ 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -72,7 +93,8 @@ 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_;
|
<< st.molWeight_ << tab
|
||||||
|
<< 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,6 +77,9 @@ 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:
|
||||||
|
|
||||||
|
|
@ -84,6 +87,29 @@ 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
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -98,6 +124,23 @@ 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&);
|
||||||
|
|
||||||
|
|
@ -127,6 +170,27 @@ 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,7 +41,8 @@ inline specie::specie
|
||||||
:
|
:
|
||||||
name_(name),
|
name_(name),
|
||||||
nMoles_(nMoles),
|
nMoles_(nMoles),
|
||||||
molWeight_(molWeight)
|
molWeight_(molWeight),
|
||||||
|
nCharges_(0.0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -52,7 +53,36 @@ 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)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -62,7 +92,8 @@ 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_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -70,7 +101,8 @@ 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_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -100,6 +132,30 @@ 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)
|
||||||
|
|
@ -107,6 +163,7 @@ 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_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -114,6 +171,10 @@ 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_;
|
||||||
|
|
@ -130,6 +191,10 @@ 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_;
|
||||||
|
|
@ -154,7 +219,9 @@ 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_
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -171,7 +238,9 @@ 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_
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -181,7 +250,8 @@ 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,6 +336,7 @@ public:
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// I-O
|
// I-O
|
||||||
|
|
||||||
//- Write to Ostream
|
//- Write to Ostream
|
||||||
|
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
/*--------------------------------*- 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