mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -1,8 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
cd ${0%/*} || exit 1 # run from this directory
|
|
||||||
set -x
|
|
||||||
|
|
||||||
wmake libso combustionModels
|
|
||||||
wmake
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
|
||||||
@ -1,4 +1,3 @@
|
|||||||
fireFoam.C
|
fireFoam.C
|
||||||
|
|
||||||
EXE = $(FOAM_APPBIN)/fireFoam
|
EXE = $(FOAM_APPBIN)/fireFoam
|
||||||
|
|
||||||
|
|||||||
@ -1,20 +1,52 @@
|
|||||||
EXE_INC = \
|
EXE_INC = \
|
||||||
-IcombustionModels/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
|
-I${LIB_SRC}/meshTools/lnInclude \
|
||||||
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude
|
-I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/solid/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/basicSolidThermo/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/solidChemistryModel/lnInclude \
|
||||||
|
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/properties/solidProperties/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/properties/liquidProperties/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/properties/liquidMixtureProperties/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/regionModels/pyrolysisModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||||
|
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
||||||
|
-I$(LIB_SRC)/ODE/lnInclude \
|
||||||
|
-I$(LIB_SRC)/sampling/lnInclude
|
||||||
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-lfireFoamCombustionModels \
|
|
||||||
-lspecie \
|
|
||||||
-lreactionThermophysicalModels \
|
|
||||||
-lbasicThermophysicalModels \
|
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lcompressibleTurbulenceModel \
|
-lmeshTools \
|
||||||
-lcompressibleLESModels \
|
|
||||||
-lcompressibleRASModels \
|
-lcompressibleRASModels \
|
||||||
-lradiationModels
|
-lcompressibleLESModels \
|
||||||
|
-lspecie \
|
||||||
|
-lbasicThermophysicalModels \
|
||||||
|
-lsolidProperties \
|
||||||
|
-lsolidMixtureProperties \
|
||||||
|
-lthermophysicalFunctions \
|
||||||
|
-lreactionThermophysicalModels \
|
||||||
|
-lSLGThermo \
|
||||||
|
-lchemistryModel \
|
||||||
|
-lsolidChemistryModel \
|
||||||
|
-lcombustionModels \
|
||||||
|
-lregionModels \
|
||||||
|
-lradiationModels \
|
||||||
|
-lsurfaceFilmModels \
|
||||||
|
-lpyrolysisModels \
|
||||||
|
-llagrangianIntermediate \
|
||||||
|
-lODE \
|
||||||
|
-lsampling
|
||||||
|
|||||||
@ -3,6 +3,8 @@ fvVectorMatrix UEqn
|
|||||||
fvm::ddt(rho, U)
|
fvm::ddt(rho, U)
|
||||||
+ fvm::div(phi, U)
|
+ fvm::div(phi, U)
|
||||||
+ turbulence->divDevRhoReff(U)
|
+ turbulence->divDevRhoReff(U)
|
||||||
|
==
|
||||||
|
parcels.SU(U)
|
||||||
);
|
);
|
||||||
|
|
||||||
UEqn.relax();
|
UEqn.relax();
|
||||||
|
|||||||
@ -9,6 +9,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
{
|
{
|
||||||
|
radiation->correct();
|
||||||
combustion->correct();
|
combustion->correct();
|
||||||
dQ = combustion->dQ();
|
dQ = combustion->dQ();
|
||||||
label inertIndex = -1;
|
label inertIndex = -1;
|
||||||
@ -65,7 +66,5 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
|||||||
|
|
||||||
thermo.correct();
|
thermo.correct();
|
||||||
|
|
||||||
radiation->correct();
|
|
||||||
|
|
||||||
Info<< "min/max(T) = " << min(T).value() << ", " << max(T).value() << endl;
|
Info<< "min/max(T) = " << min(T).value() << ", " << max(T).value() << endl;
|
||||||
}
|
}
|
||||||
@ -1,9 +0,0 @@
|
|||||||
combustionModel/combustionModel.C
|
|
||||||
combustionModel/newCombustionModel.C
|
|
||||||
|
|
||||||
infinitelyFastChemistry/infinitelyFastChemistry.C
|
|
||||||
|
|
||||||
noCombustion/noCombustion.C
|
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libfireFoamCombustionModels
|
|
||||||
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
EXE_INC = \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
|
||||||
-I$(FOAM_SRC)/turbulenceModels/compressible/turbulenceModel \
|
|
||||||
-I$(FOAM_SRC)/finiteVolume/lnInclude
|
|
||||||
|
|
||||||
LIB_LIBS = \
|
|
||||||
-lfiniteVolume
|
|
||||||
@ -1,108 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
|
||||||
\\/ 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 "combustionModel.H"
|
|
||||||
#include "fvm.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(combustionModel, 0);
|
|
||||||
defineRunTimeSelectionTable(combustionModel, dictionary);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::combustionModel::combustionModel
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties,
|
|
||||||
const hsCombustionThermo& thermo,
|
|
||||||
const compressible::turbulenceModel& turbulence,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
const volScalarField& rho
|
|
||||||
)
|
|
||||||
:
|
|
||||||
combustionModelCoeffs_
|
|
||||||
(
|
|
||||||
combustionProperties.subDict
|
|
||||||
(
|
|
||||||
word(combustionProperties.lookup("combustionModel")) + "Coeffs"
|
|
||||||
)
|
|
||||||
),
|
|
||||||
thermo_(thermo),
|
|
||||||
turbulence_(turbulence),
|
|
||||||
mesh_(phi.mesh()),
|
|
||||||
phi_(phi),
|
|
||||||
rho_(rho),
|
|
||||||
stoicRatio_(thermo.lookup("stoichiometricAirFuelMassRatio")),
|
|
||||||
s_(thermo.lookup("stoichiometricOxygenFuelMassRatio")),
|
|
||||||
qFuel_(thermo_.lookup("qFuel")),
|
|
||||||
composition_(thermo.composition())
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::combustionModel::~combustionModel()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::fvScalarMatrix>
|
|
||||||
Foam::combustionModel::combustionModel::R(volScalarField& fu) const
|
|
||||||
{
|
|
||||||
const basicMultiComponentMixture& composition = thermo_.composition();
|
|
||||||
const volScalarField& ft = composition.Y("ft");
|
|
||||||
volScalarField fres(composition.fres(ft, stoicRatio_.value()));
|
|
||||||
volScalarField wFuelNorm(this->wFuelNorm()*pos(fu - fres));
|
|
||||||
|
|
||||||
return wFuelNorm*fres - fvm::Sp(wFuelNorm, fu);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::combustionModel::combustionModel::dQ
|
|
||||||
(
|
|
||||||
const fvScalarMatrix& Rfu
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const basicMultiComponentMixture& composition = thermo_.composition();
|
|
||||||
const volScalarField& fu = composition.Y("fu");
|
|
||||||
|
|
||||||
return (-qFuel_)*(Rfu & fu);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Foam::combustionModel::read(const dictionary& combustionProperties)
|
|
||||||
{
|
|
||||||
combustionModelCoeffs_ = combustionProperties.subDict(type() + "Coeffs");
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,209 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
|
||||||
\\/ 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::combustionModel
|
|
||||||
|
|
||||||
Description
|
|
||||||
Base class for all non-premixed combustion models.
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
combustionModel.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef combustionModel_H
|
|
||||||
#define combustionModel_H
|
|
||||||
|
|
||||||
#include "IOdictionary.H"
|
|
||||||
#include "hsCombustionThermo.H"
|
|
||||||
#include "turbulenceModel.H"
|
|
||||||
#include "multivariateSurfaceInterpolationScheme.H"
|
|
||||||
#include "runTimeSelectionTables.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class combustionModel Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class combustionModel
|
|
||||||
{
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected data
|
|
||||||
|
|
||||||
//- Dictionary of coefficients for the particular model
|
|
||||||
dictionary combustionModelCoeffs_;
|
|
||||||
|
|
||||||
//- Reference to the thermodynamic
|
|
||||||
const hsCombustionThermo& thermo_;
|
|
||||||
|
|
||||||
//- Reference to the turbulence model
|
|
||||||
const compressible::turbulenceModel& turbulence_;
|
|
||||||
|
|
||||||
//- Reference to the mesh database
|
|
||||||
const fvMesh& mesh_;
|
|
||||||
|
|
||||||
//- Reference to mass-flux field
|
|
||||||
const surfaceScalarField& phi_;
|
|
||||||
|
|
||||||
//- Reference to the density field
|
|
||||||
const volScalarField& rho_;
|
|
||||||
|
|
||||||
//- Stoichiometric air-fuel mass ratio
|
|
||||||
dimensionedScalar stoicRatio_;
|
|
||||||
|
|
||||||
//- Stoichiometric oxygen-fuel mass ratio
|
|
||||||
dimensionedScalar s_;
|
|
||||||
|
|
||||||
//- Heat of combustion (J/Kg)
|
|
||||||
dimensionedScalar qFuel_;
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
// Private Member Functions
|
|
||||||
|
|
||||||
//- Disallow copy construct
|
|
||||||
combustionModel(const combustionModel&);
|
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
|
||||||
void operator=(const combustionModel&);
|
|
||||||
|
|
||||||
const basicMultiComponentMixture& composition_;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("combustionModel");
|
|
||||||
|
|
||||||
|
|
||||||
// Declare run-time constructor selection table
|
|
||||||
|
|
||||||
declareRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
autoPtr,
|
|
||||||
combustionModel,
|
|
||||||
dictionary,
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties,
|
|
||||||
const hsCombustionThermo& thermo,
|
|
||||||
const compressible::turbulenceModel& turbulence,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
const volScalarField& rho
|
|
||||||
),
|
|
||||||
(
|
|
||||||
combustionProperties,
|
|
||||||
thermo,
|
|
||||||
turbulence,
|
|
||||||
phi,
|
|
||||||
rho
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
|
||||||
|
|
||||||
//- Return a reference to the selected combustion model
|
|
||||||
static autoPtr<combustionModel> New
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties,
|
|
||||||
const hsCombustionThermo& thermo,
|
|
||||||
const compressible::turbulenceModel& turbulence,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
const volScalarField& rho
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
combustionModel
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties,
|
|
||||||
const hsCombustionThermo& thermo,
|
|
||||||
const compressible::turbulenceModel& turbulence,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
const volScalarField& rho
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~combustionModel();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
// Access functions
|
|
||||||
|
|
||||||
//- Access composition
|
|
||||||
const basicMultiComponentMixture& composition() const
|
|
||||||
{
|
|
||||||
return composition_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Access combustion dictionary
|
|
||||||
const dictionary combustionModelCoeffs() const
|
|
||||||
{
|
|
||||||
return combustionModelCoeffs_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Access heat of combustion
|
|
||||||
const dimensionedScalar qFuel() const
|
|
||||||
{
|
|
||||||
return qFuel_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Return normalised consumption rate of (fu - fres)
|
|
||||||
virtual tmp<volScalarField> wFuelNorm() const = 0;
|
|
||||||
|
|
||||||
//- Fuel consumption rate matrix i.e. source-term for the fuel equation
|
|
||||||
virtual tmp<fvScalarMatrix> R(volScalarField& fu) const;
|
|
||||||
|
|
||||||
//- Heat-release rate calculated from the given
|
|
||||||
// fuel consumption rate matrix
|
|
||||||
virtual tmp<volScalarField> dQ(const fvScalarMatrix& Rfu) const;
|
|
||||||
|
|
||||||
//- Correct combustion rate
|
|
||||||
virtual void correct() = 0;
|
|
||||||
|
|
||||||
//- Update properties from given dictionary
|
|
||||||
virtual bool read(const dictionary& combustionProperties) = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,66 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
|
||||||
\\/ 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 "combustionModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::autoPtr<Foam::combustionModel> Foam::combustionModel::New
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties,
|
|
||||||
const hsCombustionThermo& thermo,
|
|
||||||
const compressible::turbulenceModel& turbulence,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
const volScalarField& rho
|
|
||||||
)
|
|
||||||
{
|
|
||||||
word combustionModelTypeName = combustionProperties.lookup
|
|
||||||
(
|
|
||||||
"combustionModel"
|
|
||||||
);
|
|
||||||
|
|
||||||
Info<< "Selecting combustion model " << combustionModelTypeName << endl;
|
|
||||||
|
|
||||||
dictionaryConstructorTable::iterator cstrIter =
|
|
||||||
dictionaryConstructorTablePtr_->find(combustionModelTypeName);
|
|
||||||
|
|
||||||
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
|
||||||
{
|
|
||||||
FatalErrorIn
|
|
||||||
(
|
|
||||||
"combustionModel::New"
|
|
||||||
) << "Unknown combustionModel type "
|
|
||||||
<< combustionModelTypeName << endl << endl
|
|
||||||
<< "Valid combustionModels are : " << endl
|
|
||||||
<< dictionaryConstructorTablePtr_->sortedToc()
|
|
||||||
<< exit(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
return autoPtr<combustionModel>
|
|
||||||
(cstrIter()(combustionProperties, thermo, turbulence, phi, rho));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
|
||||||
\\/ 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 "infinitelyFastChemistry.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace combustionModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(infinitelyFastChemistry, 0);
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
combustionModel,
|
|
||||||
infinitelyFastChemistry,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::combustionModels::infinitelyFastChemistry::infinitelyFastChemistry
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties,
|
|
||||||
const hsCombustionThermo& thermo,
|
|
||||||
const compressible::turbulenceModel& turbulence,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
const volScalarField& rho
|
|
||||||
)
|
|
||||||
:
|
|
||||||
combustionModel(combustionProperties, thermo, turbulence, phi, rho),
|
|
||||||
C_(readScalar(combustionModelCoeffs_.lookup("C")))
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::combustionModels::infinitelyFastChemistry::~infinitelyFastChemistry()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
void Foam::combustionModels::infinitelyFastChemistry::correct()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::combustionModels::infinitelyFastChemistry::wFuelNorm() const
|
|
||||||
{
|
|
||||||
return rho_/(mesh_.time().deltaT()*C_);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Foam::combustionModels::infinitelyFastChemistry::read
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties
|
|
||||||
)
|
|
||||||
{
|
|
||||||
combustionModel::read(combustionProperties);
|
|
||||||
combustionModelCoeffs_.lookup("C") >> C_ ;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,118 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
|
||||||
\\/ 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::combustionModels::infinitelyFastChemistry
|
|
||||||
|
|
||||||
Description
|
|
||||||
Simple infinitely fast chemistry combustion model based on the principle
|
|
||||||
mixed is burnt. Additional parameter C is used to distribute the heat
|
|
||||||
release rate.in time
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
infinitelyFastChemistry.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef infinitelyFastChemistry_H
|
|
||||||
#define infinitelyFastChemistry_H
|
|
||||||
|
|
||||||
#include "fvc.H"
|
|
||||||
#include "combustionModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace combustionModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class infinitelyFastChemistry Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class infinitelyFastChemistry
|
|
||||||
:
|
|
||||||
public combustionModel
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
//- Model constant
|
|
||||||
scalar C_;
|
|
||||||
|
|
||||||
// Private Member Functions
|
|
||||||
|
|
||||||
//- Disallow copy construct
|
|
||||||
infinitelyFastChemistry(const infinitelyFastChemistry&);
|
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
|
||||||
void operator=(const infinitelyFastChemistry&);
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("infinitelyFastChemistry");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
infinitelyFastChemistry
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties,
|
|
||||||
const hsCombustionThermo& thermo,
|
|
||||||
const compressible::turbulenceModel& turbulence,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
const volScalarField& rho
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Destructor
|
|
||||||
|
|
||||||
virtual ~infinitelyFastChemistry();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
//- Update properties from given dictionary
|
|
||||||
virtual bool read(const dictionary& combustionProperties);
|
|
||||||
|
|
||||||
//- Correct combustion rate
|
|
||||||
virtual void correct();
|
|
||||||
|
|
||||||
//- Return normalised consumption rate of (fu - fres)
|
|
||||||
virtual tmp<volScalarField> wFuelNorm() const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace combustionModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,102 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
|
||||||
\\/ 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 "noCombustion.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace combustionModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(noCombustion, 0);
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
combustionModel,
|
|
||||||
noCombustion,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::combustionModels::noCombustion::noCombustion
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties,
|
|
||||||
const hsCombustionThermo& thermo,
|
|
||||||
const compressible::turbulenceModel& turbulence,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
const volScalarField& rho
|
|
||||||
)
|
|
||||||
:
|
|
||||||
combustionModel(combustionProperties, thermo, turbulence, phi, rho)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::combustionModels::noCombustion::~noCombustion()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
void Foam::combustionModels::noCombustion::correct()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::combustionModels::noCombustion::wFuelNorm() const
|
|
||||||
{
|
|
||||||
return tmp<Foam::volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"wFuelNorm",
|
|
||||||
mesh_.time().timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh_,
|
|
||||||
dimensionedScalar("wFuelNorm", dimMass/dimTime/pow3(dimLength), 0.0)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Foam::combustionModels::noCombustion::read
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return combustionModel::read(combustionProperties);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,112 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
|
||||||
\\/ 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::combustionModel::noCombustion
|
|
||||||
|
|
||||||
Description
|
|
||||||
No combustion
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
noCombustion.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef noCombustion_H
|
|
||||||
#define noCombustion_H
|
|
||||||
|
|
||||||
#include "combustionModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace combustionModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class noCombustion Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class noCombustion
|
|
||||||
:
|
|
||||||
public combustionModel
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
|
||||||
|
|
||||||
//- Disallow copy construct
|
|
||||||
noCombustion(const noCombustion&);
|
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
|
||||||
void operator=(const noCombustion&);
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("noCombustion");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
noCombustion
|
|
||||||
(
|
|
||||||
const dictionary& combustionProperties,
|
|
||||||
const hsCombustionThermo& thermo,
|
|
||||||
const compressible::turbulenceModel& turbulence,
|
|
||||||
const surfaceScalarField& phi,
|
|
||||||
const volScalarField& rho
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Destructor
|
|
||||||
|
|
||||||
virtual ~noCombustion();
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
//- Update properties from given dictionary
|
|
||||||
virtual bool read(const dictionary& combustionProperties);
|
|
||||||
|
|
||||||
//- Correct combustion rate
|
|
||||||
virtual void correct();
|
|
||||||
|
|
||||||
//- Return normalised consumption rate of (fu - fres)
|
|
||||||
virtual tmp<volScalarField> wFuelNorm() const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace combustionModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -4,11 +4,16 @@ autoPtr<hsCombustionThermo> pThermo
|
|||||||
(
|
(
|
||||||
hsCombustionThermo::New(mesh)
|
hsCombustionThermo::New(mesh)
|
||||||
);
|
);
|
||||||
|
|
||||||
hsCombustionThermo& thermo = pThermo();
|
hsCombustionThermo& thermo = pThermo();
|
||||||
|
|
||||||
basicMultiComponentMixture& composition = thermo.composition();
|
SLGThermo slgThermo(mesh, thermo);
|
||||||
|
|
||||||
|
basicMultiComponentMixture& composition = thermo.composition();
|
||||||
|
PtrList<volScalarField>& Y = composition.Y();
|
||||||
|
|
||||||
|
const word inertSpecie(thermo.lookup("inertSpecie"));
|
||||||
|
|
||||||
|
Info<< "Creating field rho\n" << endl;
|
||||||
volScalarField rho
|
volScalarField rho
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
@ -22,22 +27,12 @@ volScalarField rho
|
|||||||
thermo.rho()
|
thermo.rho()
|
||||||
);
|
);
|
||||||
|
|
||||||
dimensionedScalar stoicRatio
|
|
||||||
(
|
|
||||||
thermo.lookup("stoichiometricAirFuelMassRatio")
|
|
||||||
);
|
|
||||||
|
|
||||||
volScalarField& p = thermo.p();
|
volScalarField& p = thermo.p();
|
||||||
volScalarField& hs = thermo.hs();
|
volScalarField& hs = thermo.hs();
|
||||||
|
const volScalarField& T = thermo.T();
|
||||||
const volScalarField& psi = thermo.psi();
|
const volScalarField& psi = thermo.psi();
|
||||||
|
|
||||||
volScalarField& ft = composition.Y("ft");
|
Info<< "\nReading field U\n" << endl;
|
||||||
volScalarField& fu = composition.Y("fu");
|
|
||||||
|
|
||||||
|
|
||||||
Info<< "Reading field U\n" << endl;
|
|
||||||
|
|
||||||
volVectorField U
|
volVectorField U
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
@ -56,7 +51,13 @@ volVectorField U
|
|||||||
Info<< "Creating turbulence model\n" << endl;
|
Info<< "Creating turbulence model\n" << endl;
|
||||||
autoPtr<compressible::turbulenceModel> turbulence
|
autoPtr<compressible::turbulenceModel> turbulence
|
||||||
(
|
(
|
||||||
compressible::turbulenceModel::New(rho, U, phi, thermo)
|
compressible::turbulenceModel::New
|
||||||
|
(
|
||||||
|
rho,
|
||||||
|
U,
|
||||||
|
phi,
|
||||||
|
thermo
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
IOdictionary combustionProperties
|
IOdictionary combustionProperties
|
||||||
@ -84,12 +85,33 @@ autoPtr<combustionModel> combustion
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
volScalarField dQ
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"dQ",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedScalar("dQ", dimMass/pow3(dimTime)/dimLength, 0.0)
|
||||||
|
);
|
||||||
|
|
||||||
|
Info<< "Creating field DpDt\n" << endl;
|
||||||
|
volScalarField DpDt
|
||||||
|
(
|
||||||
|
"DpDt",
|
||||||
|
fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
Info<< "Calculating field g.h\n" << endl;
|
Info<< "Calculating field g.h\n" << endl;
|
||||||
volScalarField gh("gh", g & mesh.C());
|
volScalarField gh("gh", g & mesh.C());
|
||||||
surfaceScalarField ghf("gh", g & mesh.Cf());
|
|
||||||
|
|
||||||
Info<< "Reading field p_rgh\n" << endl;
|
surfaceScalarField ghf("ghf", g & mesh.Cf());
|
||||||
|
|
||||||
volScalarField p_rgh
|
volScalarField p_rgh
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
@ -106,42 +128,27 @@ volScalarField p_rgh
|
|||||||
// Force p_rgh to be consistent with p
|
// Force p_rgh to be consistent with p
|
||||||
p_rgh = p - rho*gh;
|
p_rgh = p - rho*gh;
|
||||||
|
|
||||||
|
multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
|
||||||
|
|
||||||
volScalarField dQ
|
forAll(Y, i)
|
||||||
|
{
|
||||||
|
fields.add(Y[i]);
|
||||||
|
}
|
||||||
|
fields.add(hs);
|
||||||
|
|
||||||
|
IOdictionary additionalControlsDict
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
"dQ",
|
"additionalControls",
|
||||||
runTime.timeName(),
|
runTime.constant(),
|
||||||
mesh,
|
mesh,
|
||||||
IOobject::NO_READ,
|
IOobject::MUST_READ_IF_MODIFIED,
|
||||||
IOobject::AUTO_WRITE
|
IOobject::NO_WRITE
|
||||||
),
|
)
|
||||||
mesh,
|
|
||||||
dimensionedScalar("dQ", dimMass/pow3(dimTime)/dimLength, 0.0)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Switch solvePrimaryRegion
|
||||||
Info<< "Creating field DpDt\n" << endl;
|
|
||||||
volScalarField DpDt
|
|
||||||
(
|
(
|
||||||
fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p)
|
additionalControlsDict.lookup("solvePrimaryRegion")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
dimensionedScalar initialMass = fvc::domainIntegrate(rho);
|
|
||||||
|
|
||||||
|
|
||||||
multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
|
|
||||||
|
|
||||||
if (composition.contains("ft"))
|
|
||||||
{
|
|
||||||
fields.add(composition.Y("ft"));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (composition.contains("fu"))
|
|
||||||
{
|
|
||||||
fields.add(composition.Y("fu"));
|
|
||||||
}
|
|
||||||
|
|
||||||
fields.add(hs);
|
|
||||||
|
|||||||
@ -4,4 +4,3 @@ typedef regionModels::surfaceFilmModels::surfaceFilmModel filmModelType;
|
|||||||
|
|
||||||
autoPtr<filmModelType> tsurfaceFilm(filmModelType::New(mesh, g));
|
autoPtr<filmModelType> tsurfaceFilm(filmModelType::New(mesh, g));
|
||||||
filmModelType& surfaceFilm = tsurfaceFilm();
|
filmModelType& surfaceFilm = tsurfaceFilm();
|
||||||
|
|
||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -25,15 +25,22 @@ Application
|
|||||||
fireFoam
|
fireFoam
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Transient Solver for Fires and turbulent diffusion flames
|
Transient PIMPLE solver for Fires and turbulent diffusion flames with
|
||||||
|
reacting Lagrangian parcels, surface film and pyrolysis modelling.
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "mapDistribute.H"
|
||||||
#include "fvCFD.H"
|
#include "fvCFD.H"
|
||||||
#include "hsCombustionThermo.H"
|
|
||||||
#include "turbulenceModel.H"
|
#include "turbulenceModel.H"
|
||||||
#include "combustionModel.H"
|
#include "basicReactingCloud.H"
|
||||||
|
#include "surfaceFilmModel.H"
|
||||||
|
#include "pyrolysisModel.H"
|
||||||
#include "radiationModel.H"
|
#include "radiationModel.H"
|
||||||
|
#include "SLGThermo.H"
|
||||||
|
#include "hsCombustionThermo.H"
|
||||||
|
#include "solidChemistryModel.H"
|
||||||
|
#include "combustionModel.H"
|
||||||
#include "pimpleControl.H"
|
#include "pimpleControl.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -41,19 +48,25 @@ Description
|
|||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
#include "setRootCase.H"
|
#include "setRootCase.H"
|
||||||
|
|
||||||
#include "createTime.H"
|
#include "createTime.H"
|
||||||
#include "createMesh.H"
|
#include "createMesh.H"
|
||||||
|
#include "readChemistryProperties.H"
|
||||||
#include "readGravitationalAcceleration.H"
|
#include "readGravitationalAcceleration.H"
|
||||||
#include "initContinuityErrs.H"
|
|
||||||
#include "createFields.H"
|
#include "createFields.H"
|
||||||
|
#include "createClouds.H"
|
||||||
|
#include "createSurfaceFilmModel.H"
|
||||||
|
#include "createPyrolysisModel.H"
|
||||||
#include "createRadiationModel.H"
|
#include "createRadiationModel.H"
|
||||||
|
#include "initContinuityErrs.H"
|
||||||
#include "readTimeControls.H"
|
#include "readTimeControls.H"
|
||||||
#include "compressibleCourantNo.H"
|
#include "compressibleCourantNo.H"
|
||||||
#include "setInitialDeltaT.H"
|
#include "setInitialDeltaT.H"
|
||||||
|
#include "readPyrolysisTimeControls.H"
|
||||||
|
|
||||||
pimpleControl pimple(mesh);
|
pimpleControl pimple(mesh);
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Info<< "\nStarting time loop\n" << endl;
|
Info<< "\nStarting time loop\n" << endl;
|
||||||
|
|
||||||
@ -61,23 +74,32 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
#include "readTimeControls.H"
|
#include "readTimeControls.H"
|
||||||
#include "compressibleCourantNo.H"
|
#include "compressibleCourantNo.H"
|
||||||
|
#include "solidRegionDiffusionNo.H"
|
||||||
|
#include "setMultiRegionDeltaT.H"
|
||||||
#include "setDeltaT.H"
|
#include "setDeltaT.H"
|
||||||
|
|
||||||
runTime++;
|
runTime++;
|
||||||
|
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
|
parcels.evolve();
|
||||||
|
|
||||||
|
surfaceFilm.evolve();
|
||||||
|
|
||||||
|
pyrolysis->evolve();
|
||||||
|
|
||||||
|
if (solvePrimaryRegion)
|
||||||
|
{
|
||||||
#include "rhoEqn.H"
|
#include "rhoEqn.H"
|
||||||
|
|
||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- PIMPLE loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
#include "YhsEqn.H"
|
||||||
#include "ftEqn.H"
|
|
||||||
#include "fuhsEqn.H"
|
|
||||||
|
|
||||||
// --- PISO loop
|
// --- PISO loop
|
||||||
for (int corr=0; corr<pimple.nCorr(); corr++)
|
for (int corr=1; corr<=pimple.nCorr(); corr++)
|
||||||
{
|
{
|
||||||
#include "pEqn.H"
|
#include "pEqn.H"
|
||||||
}
|
}
|
||||||
@ -89,18 +111,19 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
rho = thermo.rho();
|
rho = thermo.rho();
|
||||||
|
}
|
||||||
|
|
||||||
runTime.write();
|
runTime.write();
|
||||||
|
|
||||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||||
<< nl << endl;
|
<< nl << endl;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Info<< "End\n" << endl;
|
Info<< "End" << endl;
|
||||||
|
|
||||||
return 0;
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -1,25 +0,0 @@
|
|||||||
tmp<fv::convectionScheme<scalar> > mvConvection
|
|
||||||
(
|
|
||||||
fv::convectionScheme<scalar>::New
|
|
||||||
(
|
|
||||||
mesh,
|
|
||||||
fields,
|
|
||||||
phi,
|
|
||||||
mesh.divScheme("div(phi,ft_b_h)")
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
{
|
|
||||||
fvScalarMatrix ftEqn
|
|
||||||
(
|
|
||||||
fvm::ddt(rho, ft)
|
|
||||||
+ mvConvection->fvmDiv(phi, ft)
|
|
||||||
- fvm::laplacian(turbulence->alphaEff(), ft)
|
|
||||||
);
|
|
||||||
|
|
||||||
ftEqn.relax();
|
|
||||||
ftEqn.solve();
|
|
||||||
}
|
|
||||||
|
|
||||||
Info<< "max(ft) = " << max(ft).value() << endl;
|
|
||||||
Info<< "min(ft) = " << min(ft).value() << endl;
|
|
||||||
@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
// Solve fuel equation
|
|
||||||
// ~~~~~~~~~~~~~~~~~~~
|
|
||||||
fvScalarMatrix R(combustion->R(fu));
|
|
||||||
|
|
||||||
{
|
|
||||||
fvScalarMatrix fuEqn
|
|
||||||
(
|
|
||||||
fvm::ddt(rho, fu)
|
|
||||||
+ mvConvection->fvmDiv(phi, fu)
|
|
||||||
- fvm::laplacian(turbulence->alphaEff(), fu)
|
|
||||||
==
|
|
||||||
R
|
|
||||||
);
|
|
||||||
|
|
||||||
fuEqn.relax();
|
|
||||||
fuEqn.solve();
|
|
||||||
}
|
|
||||||
|
|
||||||
Info<< "max(fu) = " << max(fu).value() << endl;
|
|
||||||
Info<< "min(fu) = " << min(fu).value() << endl;
|
|
||||||
|
|
||||||
|
|
||||||
// Solve sensible enthalpy equation
|
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
radiation->correct();
|
|
||||||
dQ = combustion->dQ(R);
|
|
||||||
|
|
||||||
{
|
|
||||||
fvScalarMatrix hsEqn
|
|
||||||
(
|
|
||||||
fvm::ddt(rho, hs)
|
|
||||||
+ mvConvection->fvmDiv(phi,hs)
|
|
||||||
- fvm::laplacian(turbulence->alphaEff(), hs)
|
|
||||||
==
|
|
||||||
DpDt
|
|
||||||
+ dQ
|
|
||||||
+ radiation->Shs(thermo)
|
|
||||||
);
|
|
||||||
|
|
||||||
hsEqn.relax();
|
|
||||||
hsEqn.solve();
|
|
||||||
}
|
|
||||||
|
|
||||||
thermo.correct();
|
|
||||||
combustion->correct();
|
|
||||||
}
|
|
||||||
@ -1,7 +1,7 @@
|
|||||||
rho = thermo.rho();
|
rho = thermo.rho();
|
||||||
|
|
||||||
volScalarField rAU(1.0/UEqn.A());
|
volScalarField rAU(1.0/UEqn.A());
|
||||||
surfaceScalarField rhorAUf("(rho*(1|A(U)))", fvc::interpolate(rho*rAU));
|
surfaceScalarField rhorAUf(rAU.name() + 'f', fvc::interpolate(rho*rAU));
|
||||||
U = rAU*UEqn.H();
|
U = rAU*UEqn.H();
|
||||||
|
|
||||||
surfaceScalarField phiU
|
surfaceScalarField phiU
|
||||||
@ -17,13 +17,15 @@ phi = phiU - rhorAUf*ghf*fvc::snGrad(rho)*mesh.magSf();
|
|||||||
|
|
||||||
for (int nonOrth=0; nonOrth<=pimple.nNonOrthCorr(); nonOrth++)
|
for (int nonOrth=0; nonOrth<=pimple.nNonOrthCorr(); nonOrth++)
|
||||||
{
|
{
|
||||||
surfaceScalarField rhorAUf(fvc::interpolate(rho*rAU));
|
|
||||||
|
|
||||||
fvScalarMatrix p_rghEqn
|
fvScalarMatrix p_rghEqn
|
||||||
(
|
(
|
||||||
fvm::ddt(psi, p_rgh) + fvc::ddt(psi, rho)*gh
|
fvc::ddt(psi, rho)*gh
|
||||||
+ fvc::div(phi)
|
+ fvc::div(phi)
|
||||||
|
+ fvm::ddt(psi, p_rgh)
|
||||||
- fvm::laplacian(rhorAUf, p_rgh)
|
- fvm::laplacian(rhorAUf, p_rgh)
|
||||||
|
==
|
||||||
|
parcels.Srho()
|
||||||
|
+ surfaceFilm.Srho()
|
||||||
);
|
);
|
||||||
|
|
||||||
p_rghEqn.solve
|
p_rghEqn.solve
|
||||||
|
|||||||
@ -1,2 +1 @@
|
|||||||
scalar DiNum = pyrolysis->solidRegionDiffNo();
|
scalar DiNum = pyrolysis->solidRegionDiffNo();
|
||||||
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
reactingParcelFilmPyrolysisFoam.C
|
|
||||||
|
|
||||||
EXE = $(FOAM_APPBIN)/reactingParcelFilmPyrolysisFoam
|
|
||||||
@ -1,51 +0,0 @@
|
|||||||
EXE_INC = \
|
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
|
||||||
-I${LIB_SRC}/meshTools/lnInclude \
|
|
||||||
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
|
||||||
-I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/solid/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/basicSolidThermo/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/solidChemistryModel/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/properties/solidProperties/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/properties/liquidProperties/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/properties/liquidMixtureProperties/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
|
|
||||||
-I$(LIB_SRC)/combustionModels/lnInclude \
|
|
||||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
|
||||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
|
||||||
-I$(LIB_SRC)/regionModels/pyrolysisModels/lnInclude \
|
|
||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
|
||||||
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
|
||||||
-I$(LIB_SRC)/ODE/lnInclude \
|
|
||||||
-I$(LIB_SRC)/sampling/lnInclude
|
|
||||||
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
|
||||||
-lfiniteVolume \
|
|
||||||
-lmeshTools \
|
|
||||||
-lcompressibleRASModels \
|
|
||||||
-lcompressibleLESModels \
|
|
||||||
-lspecie \
|
|
||||||
-lbasicThermophysicalModels \
|
|
||||||
-lsolidProperties \
|
|
||||||
-lsolidMixtureProperties \
|
|
||||||
-lthermophysicalFunctions \
|
|
||||||
-lreactionThermophysicalModels \
|
|
||||||
-lSLGThermo \
|
|
||||||
-lchemistryModel \
|
|
||||||
-lsolidChemistryModel \
|
|
||||||
-lcombustionModels \
|
|
||||||
-lregionModels \
|
|
||||||
-lradiationModels \
|
|
||||||
-lsurfaceFilmModels \
|
|
||||||
-lpyrolysisModels \
|
|
||||||
-llagrangianIntermediate \
|
|
||||||
-lODE \
|
|
||||||
-lsampling
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
fvVectorMatrix UEqn
|
|
||||||
(
|
|
||||||
fvm::ddt(rho, U)
|
|
||||||
+ fvm::div(phi, U)
|
|
||||||
+ turbulence->divDevRhoReff(U)
|
|
||||||
==
|
|
||||||
parcels.SU(U)
|
|
||||||
);
|
|
||||||
|
|
||||||
UEqn.relax();
|
|
||||||
|
|
||||||
if (pimple.momentumPredictor())
|
|
||||||
{
|
|
||||||
solve
|
|
||||||
(
|
|
||||||
UEqn
|
|
||||||
==
|
|
||||||
fvc::reconstruct
|
|
||||||
(
|
|
||||||
(
|
|
||||||
- ghf*fvc::snGrad(rho)
|
|
||||||
- fvc::snGrad(p_rgh)
|
|
||||||
)*mesh.magSf()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@ -1,154 +0,0 @@
|
|||||||
Info<< "Reading thermophysical properties\n" << endl;
|
|
||||||
|
|
||||||
autoPtr<hsCombustionThermo> pThermo
|
|
||||||
(
|
|
||||||
hsCombustionThermo::New(mesh)
|
|
||||||
);
|
|
||||||
hsCombustionThermo& thermo = pThermo();
|
|
||||||
|
|
||||||
SLGThermo slgThermo(mesh, thermo);
|
|
||||||
|
|
||||||
basicMultiComponentMixture& composition = thermo.composition();
|
|
||||||
PtrList<volScalarField>& Y = composition.Y();
|
|
||||||
|
|
||||||
const word inertSpecie(thermo.lookup("inertSpecie"));
|
|
||||||
|
|
||||||
Info<< "Creating field rho\n" << endl;
|
|
||||||
volScalarField rho
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"rho",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
thermo.rho()
|
|
||||||
);
|
|
||||||
|
|
||||||
volScalarField& p = thermo.p();
|
|
||||||
volScalarField& hs = thermo.hs();
|
|
||||||
const volScalarField& T = thermo.T();
|
|
||||||
const volScalarField& psi = thermo.psi();
|
|
||||||
|
|
||||||
Info<< "\nReading field U\n" << endl;
|
|
||||||
volVectorField U
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"U",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
mesh
|
|
||||||
);
|
|
||||||
|
|
||||||
#include "compressibleCreatePhi.H"
|
|
||||||
|
|
||||||
Info<< "Creating turbulence model\n" << endl;
|
|
||||||
autoPtr<compressible::turbulenceModel> turbulence
|
|
||||||
(
|
|
||||||
compressible::turbulenceModel::New
|
|
||||||
(
|
|
||||||
rho,
|
|
||||||
U,
|
|
||||||
phi,
|
|
||||||
thermo
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
IOdictionary combustionProperties
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"combustionProperties",
|
|
||||||
runTime.constant(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
Info<< "Creating combustion model\n" << endl;
|
|
||||||
autoPtr<combustionModel> combustion
|
|
||||||
(
|
|
||||||
combustionModel::combustionModel::New
|
|
||||||
(
|
|
||||||
combustionProperties,
|
|
||||||
thermo,
|
|
||||||
turbulence(),
|
|
||||||
phi,
|
|
||||||
rho
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
volScalarField dQ
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"dQ",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
|
||||||
dimensionedScalar("dQ", dimMass/pow3(dimTime)/dimLength, 0.0)
|
|
||||||
);
|
|
||||||
|
|
||||||
Info<< "Creating field DpDt\n" << endl;
|
|
||||||
volScalarField DpDt
|
|
||||||
(
|
|
||||||
"DpDt",
|
|
||||||
fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
Info<< "Calculating field g.h\n" << endl;
|
|
||||||
volScalarField gh("gh", g & mesh.C());
|
|
||||||
|
|
||||||
surfaceScalarField ghf("ghf", g & mesh.Cf());
|
|
||||||
|
|
||||||
volScalarField p_rgh
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"p_rgh",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
mesh
|
|
||||||
);
|
|
||||||
|
|
||||||
// Force p_rgh to be consistent with p
|
|
||||||
p_rgh = p - rho*gh;
|
|
||||||
|
|
||||||
multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
|
|
||||||
|
|
||||||
forAll(Y, i)
|
|
||||||
{
|
|
||||||
fields.add(Y[i]);
|
|
||||||
}
|
|
||||||
fields.add(hs);
|
|
||||||
|
|
||||||
IOdictionary additionalControlsDict
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"additionalControls",
|
|
||||||
runTime.constant(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
Switch solvePrimaryRegion
|
|
||||||
(
|
|
||||||
additionalControlsDict.lookup("solvePrimaryRegion")
|
|
||||||
);
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
rho = thermo.rho();
|
|
||||||
|
|
||||||
volScalarField rAU(1.0/UEqn.A());
|
|
||||||
surfaceScalarField rhorAUf(rAU.name() + 'f', fvc::interpolate(rho*rAU));
|
|
||||||
U = rAU*UEqn.H();
|
|
||||||
|
|
||||||
surfaceScalarField phiU
|
|
||||||
(
|
|
||||||
fvc::interpolate(rho)
|
|
||||||
*(
|
|
||||||
(fvc::interpolate(U) & mesh.Sf())
|
|
||||||
+ fvc::ddtPhiCorr(rAU, rho, U, phi)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
phi = phiU - rhorAUf*ghf*fvc::snGrad(rho)*mesh.magSf();
|
|
||||||
|
|
||||||
for (int nonOrth=0; nonOrth<=pimple.nNonOrthCorr(); nonOrth++)
|
|
||||||
{
|
|
||||||
fvScalarMatrix p_rghEqn
|
|
||||||
(
|
|
||||||
fvc::ddt(psi, rho)*gh
|
|
||||||
+ fvc::div(phi)
|
|
||||||
+ fvm::ddt(psi, p_rgh)
|
|
||||||
- fvm::laplacian(rhorAUf, p_rgh)
|
|
||||||
==
|
|
||||||
parcels.Srho()
|
|
||||||
+ surfaceFilm.Srho()
|
|
||||||
);
|
|
||||||
|
|
||||||
p_rghEqn.solve
|
|
||||||
(
|
|
||||||
mesh.solver(p_rgh.select(pimple.finalInnerIter(corr, nonOrth)))
|
|
||||||
);
|
|
||||||
|
|
||||||
if (nonOrth == pimple.nNonOrthCorr())
|
|
||||||
{
|
|
||||||
phi += p_rghEqn.flux();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
p = p_rgh + rho*gh;
|
|
||||||
|
|
||||||
#include "rhoEqn.H"
|
|
||||||
#include "compressibleContinuityErrs.H"
|
|
||||||
|
|
||||||
U += rAU*fvc::reconstruct((phi - phiU)/rhorAUf);
|
|
||||||
U.correctBoundaryConditions();
|
|
||||||
|
|
||||||
DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p);
|
|
||||||
@ -1,130 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd.
|
|
||||||
\\/ 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
|
|
||||||
reactingParcelFilmPyrolysisFoam
|
|
||||||
|
|
||||||
Description
|
|
||||||
Transient PIMPLE solver for Fires and turbulent diffusion flames with
|
|
||||||
reacting Lagrangian parcels, surface film and pyrolysis modelling.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "fvCFD.H"
|
|
||||||
#include "turbulenceModel.H"
|
|
||||||
#include "basicReactingCloud.H"
|
|
||||||
#include "surfaceFilmModel.H"
|
|
||||||
#include "pyrolysisModel.H"
|
|
||||||
#include "radiationModel.H"
|
|
||||||
#include "SLGThermo.H"
|
|
||||||
#include "hsCombustionThermo.H"
|
|
||||||
#include "solidChemistryModel.H"
|
|
||||||
#include "combustionModel.H"
|
|
||||||
#include "pimpleControl.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
#include "setRootCase.H"
|
|
||||||
|
|
||||||
#include "createTime.H"
|
|
||||||
#include "createMesh.H"
|
|
||||||
#include "readChemistryProperties.H"
|
|
||||||
#include "readGravitationalAcceleration.H"
|
|
||||||
#include "createFields.H"
|
|
||||||
#include "createClouds.H"
|
|
||||||
#include "createRadiationModel.H"
|
|
||||||
#include "createSurfaceFilmModel.H"
|
|
||||||
#include "createPyrolysisModel.H"
|
|
||||||
#include "initContinuityErrs.H"
|
|
||||||
#include "readTimeControls.H"
|
|
||||||
#include "compressibleCourantNo.H"
|
|
||||||
#include "setInitialDeltaT.H"
|
|
||||||
#include "readPyrolysisTimeControls.H"
|
|
||||||
|
|
||||||
pimpleControl pimple(mesh);
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Info<< "\nStarting time loop\n" << endl;
|
|
||||||
|
|
||||||
while (runTime.run())
|
|
||||||
{
|
|
||||||
#include "readTimeControls.H"
|
|
||||||
#include "compressibleCourantNo.H"
|
|
||||||
#include "solidRegionDiffusionNo.H"
|
|
||||||
#include "setMultiRegionDeltaT.H"
|
|
||||||
#include "setDeltaT.H"
|
|
||||||
|
|
||||||
runTime++;
|
|
||||||
|
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
|
||||||
|
|
||||||
parcels.evolve();
|
|
||||||
|
|
||||||
surfaceFilm.evolve();
|
|
||||||
|
|
||||||
pyrolysis->evolve();
|
|
||||||
|
|
||||||
if (solvePrimaryRegion)
|
|
||||||
{
|
|
||||||
#include "rhoEqn.H"
|
|
||||||
|
|
||||||
// --- PIMPLE loop
|
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
|
||||||
{
|
|
||||||
#include "UEqn.H"
|
|
||||||
#include "YhsEqn.H"
|
|
||||||
|
|
||||||
// --- PISO loop
|
|
||||||
for (int corr=1; corr<=pimple.nCorr(); corr++)
|
|
||||||
{
|
|
||||||
#include "pEqn.H"
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pimple.turbCorr())
|
|
||||||
{
|
|
||||||
turbulence->correct();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rho = thermo.rho();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
runTime.write();
|
|
||||||
}
|
|
||||||
|
|
||||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
|
||||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
|
||||||
<< nl << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
Info<< "End" << endl;
|
|
||||||
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|||||||
@ -189,6 +189,8 @@ updateCoeffs()
|
|||||||
|
|
||||||
ray.Qr().boundaryField()[patchI] += Iw*(n & ray.dAve());
|
ray.Qr().boundaryField()[patchI] += Iw*(n & ray.dAve());
|
||||||
|
|
||||||
|
scalarList temissivity = emissivity();
|
||||||
|
|
||||||
forAll(Iw, faceI)
|
forAll(Iw, faceI)
|
||||||
{
|
{
|
||||||
scalar Ir = 0.0;
|
scalar Ir = 0.0;
|
||||||
@ -217,8 +219,8 @@ updateCoeffs()
|
|||||||
valueFraction()[faceI] = 1.0;
|
valueFraction()[faceI] = 1.0;
|
||||||
refValue()[faceI] =
|
refValue()[faceI] =
|
||||||
(
|
(
|
||||||
Ir*(scalar(1.0) - emissivity()()[faceI])
|
Ir*(scalar(1.0) - temissivity[faceI])
|
||||||
+ emissivity()()[faceI]*physicoChemical::sigma.value()
|
+ temissivity[faceI]*physicoChemical::sigma.value()
|
||||||
* pow4(Tp[faceI])
|
* pow4(Tp[faceI])
|
||||||
)/pi;
|
)/pi;
|
||||||
|
|
||||||
@ -238,7 +240,6 @@ updateCoeffs()
|
|||||||
Iw[faceI]*(n[faceI] & ray.dAve());
|
Iw[faceI]*(n[faceI] & ray.dAve());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mixedFvPatchScalarField::updateCoeffs();
|
mixedFvPatchScalarField::updateCoeffs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -127,7 +127,7 @@ Foam::radiationCoupledBase::radiationCoupledBase
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::tmp<Foam::scalarField> Foam::radiationCoupledBase::emissivity() const
|
Foam::scalarField Foam::radiationCoupledBase::emissivity() const
|
||||||
{
|
{
|
||||||
switch (method_)
|
switch (method_)
|
||||||
{
|
{
|
||||||
@ -142,6 +142,9 @@ Foam::tmp<Foam::scalarField> Foam::radiationCoupledBase::emissivity() const
|
|||||||
|
|
||||||
const polyMesh& nbrMesh = mpp.sampleMesh();
|
const polyMesh& nbrMesh = mpp.sampleMesh();
|
||||||
|
|
||||||
|
// Force recalculation of mapping and schedule
|
||||||
|
const mapDistribute& distMap = mpp.map();
|
||||||
|
|
||||||
const fvPatch& nbrPatch = refCast<const fvMesh>
|
const fvPatch& nbrPatch = refCast<const fvMesh>
|
||||||
(
|
(
|
||||||
nbrMesh
|
nbrMesh
|
||||||
@ -160,12 +163,11 @@ Foam::tmp<Foam::scalarField> Foam::radiationCoupledBase::emissivity() const
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
scalarField& emissivity = temissivity();
|
scalarField emissivity(temissivity);
|
||||||
|
|
||||||
// Use direct map mapping to exchange data
|
// Use direct map mapping to exchange data
|
||||||
mpp.map().distribute(emissivity);
|
distMap.distribute(emissivity);
|
||||||
|
//Pout << emissivity << endl;
|
||||||
return temissivity;
|
return emissivity;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -114,7 +114,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
//- Calculate corresponding emissivity field
|
//- Calculate corresponding emissivity field
|
||||||
tmp<scalarField> emissivity() const;
|
scalarField emissivity() const;
|
||||||
|
|
||||||
//- Write
|
//- Write
|
||||||
void write(Ostream&) const;
|
void write(Ostream&) const;
|
||||||
|
|||||||
@ -189,6 +189,8 @@ updateCoeffs()
|
|||||||
dom.blackBody().bLambda(lambdaId).boundaryField()[patchI]
|
dom.blackBody().bLambda(lambdaId).boundaryField()[patchI]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
scalarList temissivity = emissivity();
|
||||||
|
|
||||||
forAll(Iw, faceI)
|
forAll(Iw, faceI)
|
||||||
{
|
{
|
||||||
scalar Ir = 0.0;
|
scalar Ir = 0.0;
|
||||||
@ -215,8 +217,8 @@ updateCoeffs()
|
|||||||
valueFraction()[faceI] = 1.0;
|
valueFraction()[faceI] = 1.0;
|
||||||
refValue()[faceI] =
|
refValue()[faceI] =
|
||||||
(
|
(
|
||||||
Ir*(1.0 - emissivity()()[faceI])
|
Ir*(1.0 - temissivity[faceI])
|
||||||
+ emissivity()()[faceI]*Eb[faceI]
|
+ temissivity[faceI]*Eb[faceI]
|
||||||
)/pi;
|
)/pi;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -108,8 +108,6 @@ void Foam::singleStepReactingMixture<ThermoType>::calculateMaxProducts()
|
|||||||
Yprod0_[specieI] = this->speciesData()[specieI].W()/Wm*Xi[i];
|
Yprod0_[specieI] = this->speciesData()[specieI].W()/Wm*Xi[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
Info << "Max products: " << Yprod0_ << endl;
|
|
||||||
|
|
||||||
// Normalize the stoichiometric coeff to mass
|
// Normalize the stoichiometric coeff to mass
|
||||||
forAll(specieStoichCoeffs_, i)
|
forAll(specieStoichCoeffs_, i)
|
||||||
{
|
{
|
||||||
@ -208,7 +206,7 @@ Foam::singleStepReactingMixture<ThermoType>::singleStepReactingMixture
|
|||||||
mesh.time().timeName(),
|
mesh.time().timeName(),
|
||||||
mesh,
|
mesh,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::AUTO_WRITE
|
IOobject::NO_WRITE
|
||||||
);
|
);
|
||||||
|
|
||||||
fres_.set
|
fres_.set
|
||||||
|
|||||||
@ -139,7 +139,6 @@ ODESolidChemistryModel
|
|||||||
|
|
||||||
// Calculate inital values of Ysi0 = rho*delta*Yi
|
// Calculate inital values of Ysi0 = rho*delta*Yi
|
||||||
Ys0_[fieldI].internalField() =
|
Ys0_[fieldI].internalField() =
|
||||||
//this->solidThermo().rho()*Ys_[fieldI]*mesh.V();
|
|
||||||
this->solidThermo().rho()*max(Ys_[fieldI],scalar(0.001))*mesh.V();
|
this->solidThermo().rho()*max(Ys_[fieldI],scalar(0.001))*mesh.V();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,15 +147,18 @@ ODESolidChemistryModel
|
|||||||
RRg_.set(fieldI, new scalarField(mesh.nCells(), 0.0));
|
RRg_.set(fieldI, new scalarField(mesh.nCells(), 0.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
dictionary thermoDict =
|
|
||||||
mesh.lookupObject<dictionary>("chemistryProperties");
|
|
||||||
|
|
||||||
forAll(gasThermo_, gasI)
|
forAll(gasThermo_, gasI)
|
||||||
{
|
{
|
||||||
|
dictionary thermoDict =
|
||||||
|
mesh.lookupObject<dictionary>
|
||||||
|
(
|
||||||
|
"chemistryProperties"
|
||||||
|
).subDict(pyrolisisGases_[gasI]);
|
||||||
|
|
||||||
gasThermo_.set
|
gasThermo_.set
|
||||||
(
|
(
|
||||||
gasI,
|
gasI,
|
||||||
new GasThermo(thermoDict.lookup(pyrolisisGases_[gasI]))
|
new GasThermo(thermoDict)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,7 +277,6 @@ Foam::ODESolidChemistryModel<CompType, SolidThermo, GasThermo>::omega
|
|||||||
label si = R.slhs()[s];
|
label si = R.slhs()[s];
|
||||||
|
|
||||||
kf *=
|
kf *=
|
||||||
// pow(c1[si]/max(Ys0_[si][cellI], 0.001), exponent)
|
|
||||||
pow(c1[si]/Ys0_[si][cellI], exponent)
|
pow(c1[si]/Ys0_[si][cellI], exponent)
|
||||||
*(Ys0_[si][cellI]);
|
*(Ys0_[si][cellI]);
|
||||||
}
|
}
|
||||||
@ -312,7 +313,6 @@ void Foam::ODESolidChemistryModel<CompType, SolidThermo, GasThermo>::derivatives
|
|||||||
scalar dYidt = dcdt[i]/cTot;
|
scalar dYidt = dcdt[i]/cTot;
|
||||||
scalar Yi = c[i]/cTot;
|
scalar Yi = c[i]/cTot;
|
||||||
newCp += Yi*solidThermo_[i].Cp(T);
|
newCp += Yi*solidThermo_[i].Cp(T);
|
||||||
//newhi += dYidt*solidThermo_[i].hf();
|
|
||||||
newhi -= dYidt*solidThermo_[i].hf();
|
newhi -= dYidt*solidThermo_[i].hf();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -465,7 +465,6 @@ Foam::ODESolidChemistryModel<CompType, SolidThermo, GasThermo>::Sh() const
|
|||||||
forAll(Sh, cellI)
|
forAll(Sh, cellI)
|
||||||
{
|
{
|
||||||
scalar hf = solidThermo_[i].hf();
|
scalar hf = solidThermo_[i].hf();
|
||||||
//Sh[cellI] += hf*RRs_[i][cellI];
|
|
||||||
Sh[cellI] -= hf*RRs_[i][cellI];
|
Sh[cellI] -= hf*RRs_[i][cellI];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -695,7 +694,6 @@ Foam::ODESolidChemistryModel<CompType, SolidThermo, GasThermo>::solve
|
|||||||
scalar dYi = dcdt[i]/cTot;
|
scalar dYi = dcdt[i]/cTot;
|
||||||
scalar Yi = c[i]/cTot;
|
scalar Yi = c[i]/cTot;
|
||||||
newCp += Yi*solidThermo_[i].Cp(Ti);
|
newCp += Yi*solidThermo_[i].Cp(Ti);
|
||||||
//newhi += dYi*solidThermo_[i].hf();
|
|
||||||
newhi -= dYi*solidThermo_[i].hf();
|
newhi -= dYi*solidThermo_[i].hf();
|
||||||
invRho += Yi/solidThermo_[i].rho(Ti);
|
invRho += Yi/solidThermo_[i].rho(Ti);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -158,6 +158,9 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs()
|
|||||||
const fvPatch& nbrPatch =
|
const fvPatch& nbrPatch =
|
||||||
refCast<const fvMesh>(nbrMesh).boundary()[samplePatchI];
|
refCast<const fvMesh>(nbrMesh).boundary()[samplePatchI];
|
||||||
|
|
||||||
|
// Force recalculation of mapping and schedule
|
||||||
|
const mapDistribute& distMap = mpp.map();
|
||||||
|
|
||||||
scalarField Tc(patchInternalField());
|
scalarField Tc(patchInternalField());
|
||||||
scalarField& Tp = *this;
|
scalarField& Tp = *this;
|
||||||
|
|
||||||
@ -170,13 +173,13 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs()
|
|||||||
|
|
||||||
// Swap to obtain full local values of neighbour internal field
|
// Swap to obtain full local values of neighbour internal field
|
||||||
scalarField TcNbr(nbrField.patchInternalField());
|
scalarField TcNbr(nbrField.patchInternalField());
|
||||||
|
distMap.distribute(TcNbr);
|
||||||
|
|
||||||
mpp.map().distribute(TcNbr);
|
|
||||||
|
|
||||||
// Swap to obtain full local values of neighbour K*delta
|
// Swap to obtain full local values of neighbour K*delta
|
||||||
scalarField KDeltaNbr(nbrField.K(TcNbr)*nbrPatch.deltaCoeffs());
|
scalarField KDeltaNbr(nbrField.K(nbrField)*nbrPatch.deltaCoeffs());
|
||||||
|
distMap.distribute(KDeltaNbr);
|
||||||
|
|
||||||
mpp.map().distribute(KDeltaNbr);
|
|
||||||
|
|
||||||
scalarField KDelta(K(*this)*patch().deltaCoeffs());
|
scalarField KDelta(K(*this)*patch().deltaCoeffs());
|
||||||
|
|
||||||
@ -190,7 +193,7 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs()
|
|||||||
if (QrNbrName_ != "none")
|
if (QrNbrName_ != "none")
|
||||||
{
|
{
|
||||||
QrNbr = nbrPatch.lookupPatchField<volScalarField, scalar>(QrNbrName_);
|
QrNbr = nbrPatch.lookupPatchField<volScalarField, scalar>(QrNbrName_);
|
||||||
mpp.map().distribute(QrNbr);
|
distMap.distribute(QrNbr);
|
||||||
}
|
}
|
||||||
|
|
||||||
scalarField alpha(KDeltaNbr - (Qr + QrNbr)/Tp);
|
scalarField alpha(KDeltaNbr - (Qr + QrNbr)/Tp);
|
||||||
|
|||||||
@ -0,0 +1,57 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object C3H8;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type totalFlowRateAdvectiveDiffusive;
|
||||||
|
phi phi;
|
||||||
|
rho rho;
|
||||||
|
value uniform 1.0;
|
||||||
|
}
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type totalFlowRateAdvectiveDiffusive;
|
||||||
|
phi phi;
|
||||||
|
rho rho;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object IDefault;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 0 -3 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type greyDiffusiveRadiation;
|
||||||
|
T T;
|
||||||
|
emissivityMode lookup;
|
||||||
|
emissivity uniform 1.0;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type greyDiffusiveRadiation;
|
||||||
|
T T;
|
||||||
|
emissivityMode solidThermo;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
54
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/N2
Normal file
54
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/N2
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object N2;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.76699;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
55
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/O2
Normal file
55
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/O2
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object O2;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.23301;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/T
Executable file
62
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/T
Executable file
@ -0,0 +1,62 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object T;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 298.15;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type compressible::turbulentTemperatureRadCoupledMixed;
|
||||||
|
Tnbr T;
|
||||||
|
K basicThermo;
|
||||||
|
QrNbr none;
|
||||||
|
Qr Qr;
|
||||||
|
KName none;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/U
Executable file
62
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/U
Executable file
@ -0,0 +1,62 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volVectorField;
|
||||||
|
location "0";
|
||||||
|
object U;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type flowRateInletVelocity;
|
||||||
|
flowRate 0.001294; //60kW C3H8
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type pressureInletOutletVelocity;
|
||||||
|
phi phi;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type directMappedFlowRate;
|
||||||
|
phi phi;
|
||||||
|
nbrPhi phiGas;
|
||||||
|
rho rho;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
56
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/Ydefault
Executable file
56
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/Ydefault
Executable file
@ -0,0 +1,56 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object Ydefault;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
53
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphaSgs
Executable file
53
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphaSgs
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object alphaSgs;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type alphaSgsWallFunction;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type alphaSgsWallFunction;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
56
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/k
Executable file
56
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/k
Executable file
@ -0,0 +1,56 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object k;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1e-05;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 1e-05;
|
||||||
|
value uniform 1e-05;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 1e-05;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 1e-05;
|
||||||
|
value uniform 1e-05;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
52
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/muSgs
Executable file
52
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/muSgs
Executable file
@ -0,0 +1,52 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object muSgs;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
dimensions [1 -1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type muSgsUSpaldingWallFunction;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
56
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p
Executable file
56
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p
Executable file
@ -0,0 +1,56 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object p;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 101325;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p_rgh
Executable file
62
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p_rgh
Executable file
@ -0,0 +1,62 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object p_rgh;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 101325;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type buoyantPressure;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
burner
|
||||||
|
{
|
||||||
|
type buoyantPressure;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type totalPressure;
|
||||||
|
U U;
|
||||||
|
phi phi;
|
||||||
|
rho rho;
|
||||||
|
psi none;
|
||||||
|
gamma 1.4;
|
||||||
|
p0 $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type buoyantPressure;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,67 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object Qr;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 0 -3 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
fRight_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
fLeft_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
region0_to_panelRegion_left_face
|
||||||
|
{
|
||||||
|
type directMappedField;
|
||||||
|
sampleRegion region0;
|
||||||
|
sampleMode nearestPatchFace;
|
||||||
|
samplePatch region0_to_panelRegion_left_face;
|
||||||
|
offset (0 0 0);
|
||||||
|
fieldName Qr;
|
||||||
|
setAverage no;
|
||||||
|
average 0;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
region0_to_panelRegion_right_face
|
||||||
|
{
|
||||||
|
type directMappedField;
|
||||||
|
sampleRegion region0;
|
||||||
|
sampleMode nearestPatchFace;
|
||||||
|
samplePatch region0_to_panelRegion_right_face;
|
||||||
|
offset (0 0 0);
|
||||||
|
fieldName Qr;
|
||||||
|
setAverage no;
|
||||||
|
average 0;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
54
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/T
Executable file
54
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/T
Executable file
@ -0,0 +1,54 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object T;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 298.15;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
fRight_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
fLeft_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type compressible::turbulentTemperatureRadCoupledMixed;
|
||||||
|
Tnbr T;
|
||||||
|
K solidThermo;
|
||||||
|
KName none;
|
||||||
|
QrNbr Qr;
|
||||||
|
Qr none;
|
||||||
|
value uniform 298.15;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -11,7 +11,7 @@ FoamFile
|
|||||||
format ascii;
|
format ascii;
|
||||||
class volScalarField;
|
class volScalarField;
|
||||||
location "0";
|
location "0";
|
||||||
object b;
|
object Ydefault;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -21,23 +21,26 @@ internalField uniform 0;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
outlet
|
|
||||||
{
|
".*"
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
sides
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
base
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
inlet
|
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fRight_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
fLeft_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ FoamFile
|
|||||||
format ascii;
|
format ascii;
|
||||||
class volScalarField;
|
class volScalarField;
|
||||||
location "0";
|
location "0";
|
||||||
object b;
|
object Ydefault;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -21,26 +21,26 @@ internalField uniform 0;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
outlet
|
|
||||||
|
".*"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
sides
|
|
||||||
|
fRight_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
fLeft_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
base
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
inlet
|
|
||||||
{
|
|
||||||
type zeroGradient;
|
|
||||||
}
|
|
||||||
frontBack
|
|
||||||
{
|
|
||||||
type empty;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
46
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/Yv
Executable file
46
tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/Yv
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object Yv;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
".*"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
fRight_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
fLeft_zone_side
|
||||||
|
{
|
||||||
|
type wedge;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(region0_to.*)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -1,8 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
cd ${0%/*} || exit 1 # run from this directory
|
cd ${0%/*} || exit 1 # run from this directory
|
||||||
set -x
|
|
||||||
|
|
||||||
wclean libso combustionModels
|
# Source tutorial clean functions
|
||||||
wclean
|
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||||
|
|
||||||
|
cleanCase
|
||||||
|
|
||||||
|
rm -r constant/panelRegion/polyMesh
|
||||||
# ----------------------------------------------------------------- end-of-file
|
# ----------------------------------------------------------------- end-of-file
|
||||||
32
tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun
Executable file
32
tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Source tutorial run functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
# Set application name
|
||||||
|
application=`getApplication`
|
||||||
|
|
||||||
|
runApplication blockMesh
|
||||||
|
|
||||||
|
runApplication setSet -batch cRefine.setSet
|
||||||
|
runApplication refineMesh -overwrite -dict
|
||||||
|
|
||||||
|
rm log.setSet
|
||||||
|
runApplication setSet -batch f.setSet
|
||||||
|
rm log.setSet
|
||||||
|
runApplication setSet -batch fZone.setSet
|
||||||
|
|
||||||
|
# create the pyrolysis region.
|
||||||
|
runApplication extrudeToRegionMesh -overwrite
|
||||||
|
|
||||||
|
|
||||||
|
rm log.setSet
|
||||||
|
runApplication setSet -batch fBurner.setSet
|
||||||
|
|
||||||
|
runApplication createPatch -overwrite
|
||||||
|
|
||||||
|
decomposePar -force > log.decomposePar.log 2>&1
|
||||||
|
|
||||||
|
decomposePar -region panelRegion > log.decomposParPanelRegion.log 2>&1
|
||||||
|
|
||||||
|
runParallel `getApplication` 6
|
||||||
@ -0,0 +1 @@
|
|||||||
|
cellSet refineCells new boxToCell (-0.15 0.0 -0.3)(0.15 2.4 0.3)
|
||||||
@ -0,0 +1,93 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object LESProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
LESModel oneEqEddy;
|
||||||
|
|
||||||
|
delta cubeRootVol;
|
||||||
|
|
||||||
|
turbulence on;
|
||||||
|
|
||||||
|
printCoeffs on;
|
||||||
|
|
||||||
|
oneEqEddyCoeffs
|
||||||
|
{
|
||||||
|
Prt 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrandtlCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
smoothCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
maxDeltaRatio 1.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
Cdelta 0.158;
|
||||||
|
}
|
||||||
|
|
||||||
|
vanDriestCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
smoothCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
maxDeltaRatio 1.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
Aplus 26;
|
||||||
|
Cdelta 0.158;
|
||||||
|
}
|
||||||
|
|
||||||
|
smoothCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
maxDeltaRatio 1.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,20 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object additionalControls;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvePrimaryRegion true;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object chemistryProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
|
||||||
|
|
||||||
|
chemistry off;
|
||||||
|
|
||||||
|
turbulentReaction off;
|
||||||
|
|
||||||
|
chemistrySolver noChemistrySolver;
|
||||||
|
|
||||||
|
initialChemicalTimeStep 1e-07;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object combustionProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
combustionModel infinitelyFastChemistry;
|
||||||
|
|
||||||
|
infinitelyFastChemistryCoeffs
|
||||||
|
{
|
||||||
|
C 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class uniformDimensionedVectorField;
|
||||||
|
location "constant";
|
||||||
|
object g;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -2 0 0 0 0];
|
||||||
|
value (0 -9.80665 0);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,69 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format binary;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object chemistryProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solidChemistryModel ODESolidChemistryModel<constSolidThermoPhysics>;
|
||||||
|
|
||||||
|
gasThermoModel gasThermoPhysics;
|
||||||
|
|
||||||
|
chemistry on;
|
||||||
|
|
||||||
|
chemistrySolver ode;
|
||||||
|
|
||||||
|
initialChemicalTimeStep 1e-07;
|
||||||
|
|
||||||
|
odeCoeffs
|
||||||
|
{
|
||||||
|
solver SIBS;
|
||||||
|
eps 0.05;
|
||||||
|
}
|
||||||
|
|
||||||
|
species
|
||||||
|
(
|
||||||
|
gas
|
||||||
|
);
|
||||||
|
|
||||||
|
reactions
|
||||||
|
(
|
||||||
|
irreversibleSolidArrheniusReaction
|
||||||
|
v = gas + char
|
||||||
|
(7.83e10 15274.57 400 4.86)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
gas
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
nMoles 1;
|
||||||
|
molWeight 18.0153;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Tlow 200;
|
||||||
|
Thigh 5000;
|
||||||
|
Tcommon 1000;
|
||||||
|
highCpCoeffs ( 2.67215 0.00305629 -8.73026e-07 1.20100e-10 -6.39162e-15 -29899.2 6.86282 );
|
||||||
|
lowCpCoeffs ( 3.38684 0.00347498 -6.35470e-06 6.96858e-09 -2.50659e-12 -30208.1 2.59023 );
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
As 1.67212e-06;
|
||||||
|
Ts 170.672;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -9,50 +9,63 @@ FoamFile
|
|||||||
{
|
{
|
||||||
version 2.0;
|
version 2.0;
|
||||||
format ascii;
|
format ascii;
|
||||||
class polyBoundaryMesh;
|
class dictionary;
|
||||||
location "constant/polyMesh";
|
object solidThermophysicalProperties;
|
||||||
object boundary;
|
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
6
|
thermoType
|
||||||
|
solidMixtureThermo<reactingSolidMixture<constSolidTransport<constSolidRad<constSolidThermo<constRho>>>>>;
|
||||||
|
|
||||||
|
solidComponents
|
||||||
(
|
(
|
||||||
maxY
|
v char
|
||||||
|
);
|
||||||
|
|
||||||
|
vCoeffs
|
||||||
{
|
{
|
||||||
type wall;
|
transport
|
||||||
nFaces 300;
|
|
||||||
startFace 8300;
|
|
||||||
}
|
|
||||||
minX
|
|
||||||
{
|
{
|
||||||
type patch;
|
K 0.135;
|
||||||
nFaces 100;
|
|
||||||
startFace 8600;
|
|
||||||
}
|
}
|
||||||
maxX
|
radiation
|
||||||
{
|
{
|
||||||
type patch;
|
sigmaS 0.0;
|
||||||
nFaces 100;
|
kappa 0.0; //opaque
|
||||||
startFace 8700;
|
emissivity 0.17;
|
||||||
}
|
}
|
||||||
minY
|
thermodynamics
|
||||||
{
|
{
|
||||||
type wall;
|
Cp 696;
|
||||||
nFaces 300;
|
Hf -1.41e6;
|
||||||
startFace 8800;
|
|
||||||
}
|
}
|
||||||
minZ
|
density
|
||||||
{
|
{
|
||||||
type wall;
|
rho 114.7;
|
||||||
nFaces 300;
|
|
||||||
startFace 9100;
|
|
||||||
}
|
}
|
||||||
maxZ
|
};
|
||||||
|
|
||||||
|
charCoeffs
|
||||||
{
|
{
|
||||||
type wall;
|
transport
|
||||||
nFaces 300;
|
{
|
||||||
startFace 9400;
|
K 0.4;
|
||||||
}
|
}
|
||||||
)
|
radiation
|
||||||
|
{
|
||||||
|
sigmaS 0.0;
|
||||||
|
kappa 0.0;
|
||||||
|
emissivity 0.85;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Cp 611;
|
||||||
|
Hf 0;
|
||||||
|
}
|
||||||
|
density
|
||||||
|
{
|
||||||
|
rho 11.5;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,77 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
convertToMeters 1;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
(-0.15 0 -0.6)
|
||||||
|
( 0.15 0 -0.6)
|
||||||
|
( 0.15 4.2 -0.6)
|
||||||
|
(-0.15 4.2 -0.6)
|
||||||
|
(-0.15 0 0.6)
|
||||||
|
( 0.15 0 0.6)
|
||||||
|
( 0.15 4.2 0.6)
|
||||||
|
(-0.15 4.2 0.6)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
hex (0 1 2 3 4 5 6 7) (16 124 24) simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
boundary
|
||||||
|
(
|
||||||
|
ground
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(0 1 5 4)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(1 2 6 5)
|
||||||
|
(0 3 2 1)
|
||||||
|
(0 4 7 3)
|
||||||
|
(6 7 4 5)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(7 6 2 3)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,37 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format binary;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object pyrolysisProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
active true;
|
||||||
|
|
||||||
|
pyrolysisModel reactingOneDim;
|
||||||
|
|
||||||
|
regionName panelRegion;
|
||||||
|
|
||||||
|
reactingOneDimCoeffs
|
||||||
|
{
|
||||||
|
filmCoupled false;
|
||||||
|
|
||||||
|
radFluxName Qr;
|
||||||
|
|
||||||
|
minimumDelta 1e-8;
|
||||||
|
|
||||||
|
moveMesh false;
|
||||||
|
}
|
||||||
|
|
||||||
|
infoOutput true;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,151 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object radiationProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
radiation on;
|
||||||
|
|
||||||
|
radiationModel fvDOM;
|
||||||
|
|
||||||
|
noRadiation
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
P1Coeffs
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
fvDOMCoeffs
|
||||||
|
{
|
||||||
|
nPhi 3; // azimuthal angles in PI/2 on X-Y.(from Y to X)
|
||||||
|
nTheta 6; // polar angles in PI (from Z to X-Y plane)
|
||||||
|
convergence 1e-4; // convergence criteria for radiation iteration
|
||||||
|
maxIter 4; // maximum number of iterations
|
||||||
|
}
|
||||||
|
|
||||||
|
// Number of flow iterations per radiation iteration
|
||||||
|
solverFreq 10;
|
||||||
|
|
||||||
|
//absorptionEmissionModel constantAbsorptionEmission;
|
||||||
|
absorptionEmissionModel greyMeanAbsorptionEmission;
|
||||||
|
|
||||||
|
constantAbsorptionEmissionCoeffs
|
||||||
|
{
|
||||||
|
a a [ 0 -1 0 0 0 0 0 ] 0.01;
|
||||||
|
e e [ 0 -1 0 0 0 0 0 ] 0.01;
|
||||||
|
E E [ 1 -1 -3 0 0 0 0 ] 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
greyMeanAbsorptionEmissionCoeffs
|
||||||
|
{
|
||||||
|
lookUpTableFileName none;
|
||||||
|
|
||||||
|
EhrrCoeff 0.2;
|
||||||
|
|
||||||
|
CO2
|
||||||
|
{
|
||||||
|
Tcommon 300; //Common Temp
|
||||||
|
invTemp true; //Is the polynomio using inverse temperature.
|
||||||
|
Tlow 200; //Low Temp
|
||||||
|
Thigh 2000; //High Temp
|
||||||
|
|
||||||
|
loTcoeffs //coefss for T < Tcommon
|
||||||
|
(
|
||||||
|
0 // a0 +
|
||||||
|
0 // a1*T +
|
||||||
|
0 // a2*T^(+/-)2 +
|
||||||
|
0 // a3*T^(+/-)3 +
|
||||||
|
0 // a4*T^(+/-)4 +
|
||||||
|
0 // a5*T^(+/-)5 +
|
||||||
|
);
|
||||||
|
hiTcoeffs //coefss for T > Tcommon
|
||||||
|
(
|
||||||
|
18.741
|
||||||
|
-121.31e3
|
||||||
|
273.5e6
|
||||||
|
-194.05e9
|
||||||
|
56.31e12
|
||||||
|
-5.8169e15
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
H2O
|
||||||
|
{
|
||||||
|
Tcommon 300;
|
||||||
|
invTemp true;
|
||||||
|
Tlow 200;
|
||||||
|
Thigh 2000;
|
||||||
|
|
||||||
|
loTcoeffs
|
||||||
|
(
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
);
|
||||||
|
hiTcoeffs
|
||||||
|
(
|
||||||
|
-0.23093
|
||||||
|
-1.12390e3
|
||||||
|
9.4153e6
|
||||||
|
-2.99885e9
|
||||||
|
0.51382e12
|
||||||
|
-1.868e10
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
C3H8//CH4
|
||||||
|
{
|
||||||
|
Tcommon 300;
|
||||||
|
Tlow 200;
|
||||||
|
Thigh 2000;
|
||||||
|
invTemp false;
|
||||||
|
|
||||||
|
loTcoeffs
|
||||||
|
(
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
);
|
||||||
|
hiTcoeffs
|
||||||
|
(
|
||||||
|
6.6334
|
||||||
|
-0.0035686
|
||||||
|
1.6682e-8
|
||||||
|
2.5611e-10
|
||||||
|
-2.6558e-14
|
||||||
|
0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
scatterModel constantScatter;
|
||||||
|
|
||||||
|
constantScatterCoeffs
|
||||||
|
{
|
||||||
|
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
|
||||||
|
C C [ 0 0 0 0 0 0 0 ] 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,165 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object reactingCloud1Properties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solution
|
||||||
|
{
|
||||||
|
active false;
|
||||||
|
coupled yes;
|
||||||
|
transient yes;
|
||||||
|
cellValueSourceCorrection yes;
|
||||||
|
|
||||||
|
sourceTerms
|
||||||
|
{
|
||||||
|
schemes
|
||||||
|
{
|
||||||
|
rho explicit 1;
|
||||||
|
U explicit 1;
|
||||||
|
Yi explicit 1;
|
||||||
|
hs explicit 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
rho cell;
|
||||||
|
U cellPoint;
|
||||||
|
mu cell;
|
||||||
|
T cell;
|
||||||
|
Cp cell;
|
||||||
|
p cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
integrationSchemes
|
||||||
|
{
|
||||||
|
U Euler;
|
||||||
|
T analytical;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
constantProperties
|
||||||
|
{
|
||||||
|
parcelTypeId 1;
|
||||||
|
|
||||||
|
rhoMin 1e-15;
|
||||||
|
TMin 200;
|
||||||
|
pMin 1000;
|
||||||
|
minParticleMass 1e-15;
|
||||||
|
|
||||||
|
rho0 1000;
|
||||||
|
T0 300;
|
||||||
|
Cp0 4187;
|
||||||
|
|
||||||
|
youngsModulus 1e9;
|
||||||
|
poissonsRatio 0.35;
|
||||||
|
|
||||||
|
epsilon0 1;
|
||||||
|
f0 0.5;
|
||||||
|
Pr 0.7;
|
||||||
|
Tvap 273;
|
||||||
|
Tbp 373;
|
||||||
|
|
||||||
|
constantVolume false;
|
||||||
|
}
|
||||||
|
|
||||||
|
subModels
|
||||||
|
{
|
||||||
|
particleForces
|
||||||
|
{
|
||||||
|
sphereDrag;
|
||||||
|
gravity;
|
||||||
|
}
|
||||||
|
|
||||||
|
injectionModel coneInjection;
|
||||||
|
|
||||||
|
dispersionModel none;
|
||||||
|
|
||||||
|
patchInteractionModel standardWallInteraction;
|
||||||
|
|
||||||
|
heatTransferModel none;
|
||||||
|
|
||||||
|
compositionModel singlePhaseMixture;
|
||||||
|
|
||||||
|
phaseChangeModel none;
|
||||||
|
|
||||||
|
surfaceFilmModel thermoSurfaceFilm;
|
||||||
|
|
||||||
|
radiation off;
|
||||||
|
|
||||||
|
coneInjectionCoeffs
|
||||||
|
{
|
||||||
|
SOI 0.000;
|
||||||
|
duration 20.000;
|
||||||
|
positionAxis
|
||||||
|
(
|
||||||
|
((0.3 0.35 1.45) (0 0 -1))
|
||||||
|
((0.6 0.35 1.45) (0 0 -1))
|
||||||
|
);
|
||||||
|
|
||||||
|
massTotal 10;
|
||||||
|
parcelsPerInjector 20000;
|
||||||
|
parcelsPerSecond 500;
|
||||||
|
parcelBasisType mass;
|
||||||
|
flowRateProfile constant 0.1;
|
||||||
|
Umag constant 3.0;
|
||||||
|
thetaInner constant 0;
|
||||||
|
thetaOuter constant 45;
|
||||||
|
|
||||||
|
sizeDistribution
|
||||||
|
{
|
||||||
|
type RosinRammler;
|
||||||
|
RosinRammlerDistribution
|
||||||
|
{
|
||||||
|
minValue 5e-04;
|
||||||
|
maxValue 0.0012;
|
||||||
|
d 7.5e-05;
|
||||||
|
n 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
standardWallInteractionCoeffs
|
||||||
|
{
|
||||||
|
type rebound;
|
||||||
|
}
|
||||||
|
|
||||||
|
singlePhaseMixtureCoeffs
|
||||||
|
{
|
||||||
|
phases
|
||||||
|
(
|
||||||
|
liquid
|
||||||
|
{
|
||||||
|
H2O 1;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
thermoSurfaceFilmCoeffs
|
||||||
|
{
|
||||||
|
interactionType splashBai;
|
||||||
|
deltaWet 0.0005;
|
||||||
|
Adry 2630;
|
||||||
|
Awet 1320;
|
||||||
|
Cf 0.6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
cloudFunctions
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
species
|
||||||
|
(
|
||||||
|
O2
|
||||||
|
H2O
|
||||||
|
C3H8
|
||||||
|
CO2
|
||||||
|
N2
|
||||||
|
);
|
||||||
|
|
||||||
|
reactions
|
||||||
|
{
|
||||||
|
propaneReaction
|
||||||
|
{
|
||||||
|
type irreversibleinfiniteReaction;
|
||||||
|
reaction "C3H8 + 5O2 + 18.8N2 = 3CO2 + 4H2O + 18.8N2";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object SurfaceFilmProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
surfaceFilmModel none;
|
||||||
|
|
||||||
|
regionName none;
|
||||||
|
|
||||||
|
active false;
|
||||||
@ -0,0 +1,126 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object thermo.compressibleGas;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
O2
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
nMoles 1;
|
||||||
|
molWeight 31.9988;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Tlow 200;
|
||||||
|
Thigh 5000;
|
||||||
|
Tcommon 1000;
|
||||||
|
highCpCoeffs ( 3.69758 0.00061352 -1.25884e-07 1.77528e-11 -1.13644e-15 -1233.93 3.18917 );
|
||||||
|
lowCpCoeffs ( 3.21294 0.00112749 -5.75615e-07 1.31388e-09 -8.76855e-13 -1005.25 6.03474 );
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
As 1.67212e-06;
|
||||||
|
Ts 170.672;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
H2O
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
nMoles 1;
|
||||||
|
molWeight 18.0153;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Tlow 200;
|
||||||
|
Thigh 5000;
|
||||||
|
Tcommon 1000;
|
||||||
|
highCpCoeffs ( 2.67215 0.00305629 -8.73026e-07 1.201e-10 -6.39162e-15 -29899.2 6.86282 );
|
||||||
|
lowCpCoeffs ( 3.38684 0.00347498 -6.3547e-06 6.96858e-09 -2.50659e-12 -30208.1 2.59023 );
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
As 1.67212e-06;
|
||||||
|
Ts 170.672;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
C3H8
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
nMoles 1;
|
||||||
|
molWeight 44.01;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Tlow 200;
|
||||||
|
Thigh 5000;
|
||||||
|
Tcommon 1000;
|
||||||
|
highCpCoeffs ( 7.5341368 0.018872239 -6.2718491e-06 9.1475649e-10 -4.7838069e-14 -16467.516 -17.892349 );
|
||||||
|
lowCpCoeffs ( 0.93355381 0.026424579 6.1059727e-06 -2.1977499e-08 9.5149253e-12 -13958.52 19.201691 );
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
As 1.67212e-06;
|
||||||
|
Ts 170.672;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CO2
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
nMoles 1;
|
||||||
|
molWeight 44.01;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Tlow 200;
|
||||||
|
Thigh 5000;
|
||||||
|
Tcommon 1000;
|
||||||
|
highCpCoeffs ( 4.45362 0.00314017 -1.27841e-06 2.394e-10 -1.66903e-14 -48967 -0.955396 );
|
||||||
|
lowCpCoeffs ( 2.27572 0.00992207 -1.04091e-05 6.86669e-09 -2.11728e-12 -48373.1 10.1885 );
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
As 1.67212e-06;
|
||||||
|
Ts 170.672;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
N2
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
nMoles 1;
|
||||||
|
molWeight 28.0134;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Tlow 200;
|
||||||
|
Thigh 5000;
|
||||||
|
Tcommon 1000;
|
||||||
|
highCpCoeffs ( 2.92664 0.00148798 -5.68476e-07 1.0097e-10 -6.75335e-15 -922.798 5.98053 );
|
||||||
|
lowCpCoeffs ( 3.29868 0.00140824 -3.96322e-06 5.64152e-09 -2.44486e-12 -1020.9 3.95037 );
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
As 1.67212e-06;
|
||||||
|
Ts 170.672;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object thermophysicalProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
thermoType hsPsiMixtureThermo<singleStepReactingMixture<gasThermoPhysics>>;
|
||||||
|
|
||||||
|
|
||||||
|
inertSpecie N2;
|
||||||
|
fuel C3H8;
|
||||||
|
|
||||||
|
chemistryReader foamChemistryReader;
|
||||||
|
|
||||||
|
foamChemistryFile "$FOAM_CASE/constant/reactions";
|
||||||
|
|
||||||
|
foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas";
|
||||||
|
|
||||||
|
|
||||||
|
liquids
|
||||||
|
{
|
||||||
|
liquidComponents
|
||||||
|
();
|
||||||
|
|
||||||
|
H2O H2O defaultCoeffs;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
solids
|
||||||
|
{
|
||||||
|
solidComponents
|
||||||
|
();
|
||||||
|
}
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object turbulenceProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
simulationType LESModel;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
faceSet fLeft new boxToFace (-0.151 0 -0.3)(-0.14999 2.4 0.3)
|
||||||
|
faceSet fRight new boxToFace (0.14999 0 -0.3)(0.151 2.4 0.3)
|
||||||
@ -0,0 +1 @@
|
|||||||
|
faceSet fBurner new boxToFace (-0.15 -0.001 -0.30) (0.15 0.001 0.30)
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
faceZoneSet fRight_zone new setToFaceZone fRight
|
||||||
|
faceZoneSet fLeft_zone new setToFaceZone fLeft
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object controlDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
application fireFoam;
|
||||||
|
|
||||||
|
startFrom latestTime;
|
||||||
|
|
||||||
|
startTime 0;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 15.0;
|
||||||
|
|
||||||
|
deltaT 0.03;
|
||||||
|
|
||||||
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
|
writeInterval 0.5;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression off;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
graphFormat raw;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
adjustTimeStep yes;
|
||||||
|
|
||||||
|
maxCo 0.5;
|
||||||
|
|
||||||
|
maxDi 0.25;
|
||||||
|
|
||||||
|
maxDeltaT 0.02;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,72 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object createPatchDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// This application/dictionary controls:
|
||||||
|
// - optional: create new patches from boundary faces (either given as
|
||||||
|
// a set of patches or as a faceSet)
|
||||||
|
// - always: order faces on coupled patches such that they are opposite. This
|
||||||
|
// is done for all coupled faces, not just for any patches created.
|
||||||
|
// - optional: synchronise points on coupled patches.
|
||||||
|
|
||||||
|
// 1. Create cyclic:
|
||||||
|
// - specify where the faces should come from
|
||||||
|
// - specify the type of cyclic. If a rotational specify the rotationAxis
|
||||||
|
// and centre to make matching easier
|
||||||
|
// - always create both halves in one invocation with correct 'neighbourPatch'
|
||||||
|
// setting.
|
||||||
|
// - optionally pointSync true to guarantee points to line up.
|
||||||
|
|
||||||
|
// 2. Correct incorrect cyclic:
|
||||||
|
// This will usually fail upon loading:
|
||||||
|
// "face 0 area does not match neighbour 2 by 0.0100005%"
|
||||||
|
// " -- possible face ordering problem."
|
||||||
|
// - in polyMesh/boundary file:
|
||||||
|
// - loosen matchTolerance of all cyclics to get case to load
|
||||||
|
// - or change patch type from 'cyclic' to 'patch'
|
||||||
|
// and regenerate cyclic as above
|
||||||
|
|
||||||
|
|
||||||
|
// Do a synchronisation of coupled points after creation of any patches.
|
||||||
|
// Note: this does not work with points that are on multiple coupled patches
|
||||||
|
// with transformations (i.e. cyclics).
|
||||||
|
pointSync false;
|
||||||
|
|
||||||
|
// Patches to create.
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
{
|
||||||
|
// Name of new patch
|
||||||
|
name burner;
|
||||||
|
|
||||||
|
// Dictionary to construct new patch from
|
||||||
|
patchInfo
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
}
|
||||||
|
|
||||||
|
// How to construct: either from 'patches' or 'set'
|
||||||
|
constructFrom set;
|
||||||
|
|
||||||
|
// If constructFrom = patches : names of patches. Wildcards allowed.
|
||||||
|
//patches (periodic1);
|
||||||
|
|
||||||
|
// If constructFrom = set : name of faceSet
|
||||||
|
set fBurner;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object decomposeParDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
numberOfSubdomains 6;
|
||||||
|
|
||||||
|
method simple;
|
||||||
|
|
||||||
|
simpleCoeffs
|
||||||
|
{
|
||||||
|
n ( 1 3 2 );
|
||||||
|
delta 0.001;
|
||||||
|
}
|
||||||
|
|
||||||
|
hierarchicalCoeffs
|
||||||
|
{
|
||||||
|
n ( 1 2 2 );
|
||||||
|
delta 0.001;
|
||||||
|
order xyz;
|
||||||
|
}
|
||||||
|
|
||||||
|
manualCoeffs
|
||||||
|
{
|
||||||
|
dataFile "cellDecomposition";
|
||||||
|
}
|
||||||
|
|
||||||
|
scotchCoeffs
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object extrudeToRegionMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
region panelRegion;
|
||||||
|
|
||||||
|
faceZones (fRight_zone fLeft_zone);
|
||||||
|
|
||||||
|
oneD true;
|
||||||
|
|
||||||
|
oneDPolyPatchType emptyPolyPatch; //wedgePolyPatch
|
||||||
|
|
||||||
|
extrudeModel linearNormal;
|
||||||
|
|
||||||
|
nLayers 5;
|
||||||
|
|
||||||
|
expansionRatio 1;
|
||||||
|
|
||||||
|
adaptMesh true; // directMapped for both
|
||||||
|
|
||||||
|
linearNormalCoeffs
|
||||||
|
{
|
||||||
|
thickness 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -0,0 +1,76 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object fvSchemes;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
ddtSchemes
|
||||||
|
{
|
||||||
|
default Euler;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
div(phi,U) Gauss limitedLinear 1;
|
||||||
|
div(phi,k) Gauss limitedLinear 1;
|
||||||
|
div(phi,Yi_hs) Gauss multivariateSelection
|
||||||
|
{
|
||||||
|
O2 limitedLinear01 1;
|
||||||
|
N2 limitedLinear01 1;
|
||||||
|
C3H8 limitedLinear01 1;
|
||||||
|
H2O limitedLinear01 1;
|
||||||
|
CO2 limitedLinear01 1;
|
||||||
|
hs limitedLinear 1;
|
||||||
|
};
|
||||||
|
div((muEff*dev2(T(grad(U))))) Gauss linear;
|
||||||
|
div(phiU,p) Gauss linear;
|
||||||
|
div(Ji,Ii_h) Gauss upwind;
|
||||||
|
}
|
||||||
|
|
||||||
|
laplacianSchemes
|
||||||
|
{
|
||||||
|
//default none;
|
||||||
|
default Gauss linear corrected;
|
||||||
|
laplacian(muEff,U) Gauss linear corrected;
|
||||||
|
laplacian(DkEff,k) Gauss linear corrected;
|
||||||
|
laplacian(alphaEff,hs) Gauss linear corrected;
|
||||||
|
laplacian((((rho*(1|A(U)))*rho)*gh)) Gauss linear corrected;
|
||||||
|
laplacian(interpolate((rho*(1|A(U)))),p) Gauss linear corrected;
|
||||||
|
laplacian(gammaRad,G) Gauss linear corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
default linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
snGradSchemes
|
||||||
|
{
|
||||||
|
default corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
fluxRequired
|
||||||
|
{
|
||||||
|
default no;
|
||||||
|
p_rgh;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,118 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object fvSolution;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvers
|
||||||
|
{
|
||||||
|
rho
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-6;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
"(rho)Final"
|
||||||
|
{
|
||||||
|
$rho;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p_rgh
|
||||||
|
{
|
||||||
|
solver GAMG;
|
||||||
|
tolerance 1e-5;
|
||||||
|
relTol 0.01;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
cacheAgglomeration true;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
p_rghFinal
|
||||||
|
{
|
||||||
|
solver GAMG;
|
||||||
|
tolerance 1e-6;
|
||||||
|
relTol 0;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
cacheAgglomeration true;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
"(U|k)"
|
||||||
|
{
|
||||||
|
solver PBiCG;
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-6;
|
||||||
|
relTol 0.01;
|
||||||
|
};
|
||||||
|
|
||||||
|
"(U|k)Final"
|
||||||
|
{
|
||||||
|
$U;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
"(hs|hsFinal|Yi)"
|
||||||
|
{
|
||||||
|
solver PBiCG;
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-8;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
Ii
|
||||||
|
{
|
||||||
|
solver GAMG;
|
||||||
|
tolerance 1e-4;
|
||||||
|
relTol 0;
|
||||||
|
smoother DILU;
|
||||||
|
cacheAgglomeration true;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
G
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-06;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
PIMPLE
|
||||||
|
{
|
||||||
|
momentumPredictor yes;
|
||||||
|
nOuterCorrectors 2;
|
||||||
|
nCorrectors 1;
|
||||||
|
nNonOrthogonalCorrectors 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
relaxationFactors
|
||||||
|
{
|
||||||
|
"(U|k).*" 1;
|
||||||
|
"(C3H8|O2|H2O|CO2|hs).*" 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object decomposeParDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
numberOfSubdomains 6;
|
||||||
|
|
||||||
|
|
||||||
|
method structured;
|
||||||
|
|
||||||
|
structuredCoeffs
|
||||||
|
{
|
||||||
|
method hierarchical;
|
||||||
|
patches (region0_to_panelRegion_fRight_zone region0_to_panelRegion_fLeft_zone);
|
||||||
|
|
||||||
|
hierarchicalCoeffs
|
||||||
|
{
|
||||||
|
n ( 2 3 1 );
|
||||||
|
delta 0.001;
|
||||||
|
order xyz;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
hierarchicalCoeffs
|
||||||
|
{
|
||||||
|
n ( 1 2 2 );
|
||||||
|
delta 0.001;
|
||||||
|
order xyz;
|
||||||
|
}
|
||||||
|
|
||||||
|
manualCoeffs
|
||||||
|
{
|
||||||
|
dataFile "cellDecomposition";
|
||||||
|
}
|
||||||
|
|
||||||
|
metisCoeffs
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object fvSchemes;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
ddtSchemes
|
||||||
|
{
|
||||||
|
default Euler;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
}
|
||||||
|
|
||||||
|
laplacianSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
laplacian(K,T) Gauss linear uncorrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
default linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
snGradSchemes
|
||||||
|
{
|
||||||
|
default uncorrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
fluxRequired
|
||||||
|
{
|
||||||
|
default no;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,55 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object fvSolution;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvers
|
||||||
|
{
|
||||||
|
T
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-6;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
"Yi"
|
||||||
|
{
|
||||||
|
solver PBiCG;
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-06;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
"rho|rhot"
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 0;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
SIMPLE
|
||||||
|
{
|
||||||
|
nNonOrthCorr 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
relaxationFactors
|
||||||
|
{
|
||||||
|
T 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,65 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object refineMeshDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Cells to refine; name of cell set
|
||||||
|
set refineCells;
|
||||||
|
|
||||||
|
// Type of coordinate system:
|
||||||
|
// - global : coordinate system same for every cell. Usually aligned with
|
||||||
|
// x,y,z axis. Specify in globalCoeffs section below.
|
||||||
|
// - patchLocal : coordinate system different for every cell. Specify in
|
||||||
|
// patchLocalCoeffs section below.
|
||||||
|
//coordinateSystem global;
|
||||||
|
coordinateSystem global;
|
||||||
|
|
||||||
|
|
||||||
|
// .. and its coefficients. x,y in this case. (normal direction is calculated
|
||||||
|
// as tan1^tan2)
|
||||||
|
globalCoeffs
|
||||||
|
{
|
||||||
|
tan1 (0 1 0);
|
||||||
|
tan2 (0 0 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
patchLocalCoeffs
|
||||||
|
{
|
||||||
|
patch patchName; //Normal direction is facenormal of zero'th face of patch
|
||||||
|
tan1 (0 1 0);
|
||||||
|
tan2 (0 0 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// List of directions to refine
|
||||||
|
directions
|
||||||
|
(
|
||||||
|
tan1
|
||||||
|
tan2
|
||||||
|
normal
|
||||||
|
);
|
||||||
|
|
||||||
|
// Whether to use hex topology. This will
|
||||||
|
// - if patchLocal: all cells on selected patch should be hex
|
||||||
|
// - split all hexes in 2x2x2 through the middle of edges.
|
||||||
|
useHexTopology true;
|
||||||
|
|
||||||
|
// Cut purely geometric (will cut hexes through vertices) or take topology
|
||||||
|
// into account. Incompatible with useHexTopology
|
||||||
|
geometricCut false;
|
||||||
|
|
||||||
|
// Write meshes from intermediate steps
|
||||||
|
writeMesh false;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -11,7 +11,7 @@ FoamFile
|
|||||||
format ascii;
|
format ascii;
|
||||||
class volScalarField;
|
class volScalarField;
|
||||||
location "0";
|
location "0";
|
||||||
object fu;
|
object CH4;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
52
tutorials/combustion/fireFoam/les/smallPoolFire2D/0/N2
Normal file
52
tutorials/combustion/fireFoam/les/smallPoolFire2D/0/N2
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object N2;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.76699;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
base
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
frontBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
52
tutorials/combustion/fireFoam/les/smallPoolFire2D/0/O2
Normal file
52
tutorials/combustion/fireFoam/les/smallPoolFire2D/0/O2
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object O2;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.23301;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
base
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
frontBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
31
tutorials/combustion/fireFoam/les/smallPoolFire2D/0/ft → tutorials/combustion/fireFoam/les/smallPoolFire2D/0/Ydefault
Normal file → Executable file
31
tutorials/combustion/fireFoam/les/smallPoolFire2D/0/ft → tutorials/combustion/fireFoam/les/smallPoolFire2D/0/Ydefault
Normal file → Executable file
@ -11,7 +11,7 @@ FoamFile
|
|||||||
format ascii;
|
format ascii;
|
||||||
class volScalarField;
|
class volScalarField;
|
||||||
location "0";
|
location "0";
|
||||||
object ft;
|
object Ydefault;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -21,26 +21,29 @@ internalField uniform 0;
|
|||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
outlet
|
|
||||||
{
|
|
||||||
type inletOutlet;
|
|
||||||
inletValue uniform 0;
|
|
||||||
value uniform 0;
|
|
||||||
}
|
|
||||||
sides
|
|
||||||
{
|
|
||||||
type inletOutlet;
|
|
||||||
inletValue uniform 0;
|
|
||||||
value uniform 0;
|
|
||||||
}
|
|
||||||
base
|
base
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform 1.0;
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
sides
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue $internalField;
|
||||||
|
value $internalField;
|
||||||
}
|
}
|
||||||
frontBack
|
frontBack
|
||||||
{
|
{
|
||||||
@ -1,491 +0,0 @@
|
|||||||
/*--------------------------------*- C++ -*----------------------------------*\
|
|
||||||
| ========= | |
|
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
||||||
| \\ / O peration | Version: dev |
|
|
||||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
|
||||||
| \\/ M anipulation | |
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
FoamFile
|
|
||||||
{
|
|
||||||
version 2.0;
|
|
||||||
format ascii;
|
|
||||||
class dictionary;
|
|
||||||
location "constant";
|
|
||||||
object SpeciesTable;
|
|
||||||
}
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
fields
|
|
||||||
1
|
|
||||||
(
|
|
||||||
|
|
||||||
{
|
|
||||||
name ft;
|
|
||||||
min 0;
|
|
||||||
max 1;
|
|
||||||
N 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
)
|
|
||||||
;
|
|
||||||
output
|
|
||||||
5
|
|
||||||
(
|
|
||||||
|
|
||||||
{
|
|
||||||
name CH4;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
name CO2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
name H2O;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
name CO;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
name soot;
|
|
||||||
}
|
|
||||||
|
|
||||||
)
|
|
||||||
;
|
|
||||||
values
|
|
||||||
6
|
|
||||||
(
|
|
||||||
|
|
||||||
101
|
|
||||||
(
|
|
||||||
0.001
|
|
||||||
0.011
|
|
||||||
0.021
|
|
||||||
0.031
|
|
||||||
0.041
|
|
||||||
0.051
|
|
||||||
0.061
|
|
||||||
0.071
|
|
||||||
0.081
|
|
||||||
0.091
|
|
||||||
0.101
|
|
||||||
0.111
|
|
||||||
0.121
|
|
||||||
0.131
|
|
||||||
0.141
|
|
||||||
0.151
|
|
||||||
0.161
|
|
||||||
0.171
|
|
||||||
0.181
|
|
||||||
0.191
|
|
||||||
0.201
|
|
||||||
0.211
|
|
||||||
0.221
|
|
||||||
0.231
|
|
||||||
0.241
|
|
||||||
0.251
|
|
||||||
0.261
|
|
||||||
0.271
|
|
||||||
0.281
|
|
||||||
0.291
|
|
||||||
0.301
|
|
||||||
0.311
|
|
||||||
0.321
|
|
||||||
0.331
|
|
||||||
0.341
|
|
||||||
0.351
|
|
||||||
0.361
|
|
||||||
0.371
|
|
||||||
0.381
|
|
||||||
0.391
|
|
||||||
0.401
|
|
||||||
0.411
|
|
||||||
0.421
|
|
||||||
0.431
|
|
||||||
0.441
|
|
||||||
0.451
|
|
||||||
0.461
|
|
||||||
0.471
|
|
||||||
0.481
|
|
||||||
0.491
|
|
||||||
0.501
|
|
||||||
0.511
|
|
||||||
0.521
|
|
||||||
0.531
|
|
||||||
0.541
|
|
||||||
0.551
|
|
||||||
0.561
|
|
||||||
0.571
|
|
||||||
0.581
|
|
||||||
0.591
|
|
||||||
0.601
|
|
||||||
0.611
|
|
||||||
0.621
|
|
||||||
0.631
|
|
||||||
0.641
|
|
||||||
0.651
|
|
||||||
0.661
|
|
||||||
0.671
|
|
||||||
0.681
|
|
||||||
0.691
|
|
||||||
0.701
|
|
||||||
0.711
|
|
||||||
0.721
|
|
||||||
0.731
|
|
||||||
0.741
|
|
||||||
0.751
|
|
||||||
0.761
|
|
||||||
0.771
|
|
||||||
0.781
|
|
||||||
0.791
|
|
||||||
0.801
|
|
||||||
0.811
|
|
||||||
0.821
|
|
||||||
0.831
|
|
||||||
0.841
|
|
||||||
0.851
|
|
||||||
0.861
|
|
||||||
0.871
|
|
||||||
0.881
|
|
||||||
0.891
|
|
||||||
0.901
|
|
||||||
0.911
|
|
||||||
0.921
|
|
||||||
0.931
|
|
||||||
0.941
|
|
||||||
0.951
|
|
||||||
0.961
|
|
||||||
0.971
|
|
||||||
0.981
|
|
||||||
0.991
|
|
||||||
0.999
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
101
|
|
||||||
(
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0.0105883
|
|
||||||
0.0285208
|
|
||||||
0.0461843
|
|
||||||
0.0635849
|
|
||||||
0.0807284
|
|
||||||
0.0976204
|
|
||||||
0.114266
|
|
||||||
0.130672
|
|
||||||
0.146842
|
|
||||||
0.162782
|
|
||||||
0.178496
|
|
||||||
0.193989
|
|
||||||
0.209266
|
|
||||||
0.224332
|
|
||||||
0.23919
|
|
||||||
0.253845
|
|
||||||
0.268301
|
|
||||||
0.282563
|
|
||||||
0.296633
|
|
||||||
0.310517
|
|
||||||
0.324216
|
|
||||||
0.337736
|
|
||||||
0.35108
|
|
||||||
0.364251
|
|
||||||
0.377252
|
|
||||||
0.390087
|
|
||||||
0.402759
|
|
||||||
0.415271
|
|
||||||
0.427625
|
|
||||||
0.439826
|
|
||||||
0.451876
|
|
||||||
0.463777
|
|
||||||
0.475532
|
|
||||||
0.487144
|
|
||||||
0.498616
|
|
||||||
0.50995
|
|
||||||
0.521148
|
|
||||||
0.532214
|
|
||||||
0.543149
|
|
||||||
0.553955
|
|
||||||
0.564635
|
|
||||||
0.575191
|
|
||||||
0.585626
|
|
||||||
0.595941
|
|
||||||
0.606138
|
|
||||||
0.61622
|
|
||||||
0.626187
|
|
||||||
0.636044
|
|
||||||
0.64579
|
|
||||||
0.655428
|
|
||||||
0.66496
|
|
||||||
0.674387
|
|
||||||
0.683712
|
|
||||||
0.692935
|
|
||||||
0.702059
|
|
||||||
0.711085
|
|
||||||
0.720014
|
|
||||||
0.728849
|
|
||||||
0.73759
|
|
||||||
0.74624
|
|
||||||
0.754799
|
|
||||||
0.763269
|
|
||||||
0.771652
|
|
||||||
0.779948
|
|
||||||
0.788159
|
|
||||||
0.796287
|
|
||||||
0.804332
|
|
||||||
0.812297
|
|
||||||
0.820181
|
|
||||||
0.827987
|
|
||||||
0.835715
|
|
||||||
0.843367
|
|
||||||
0.850943
|
|
||||||
0.858445
|
|
||||||
0.865875
|
|
||||||
0.873232
|
|
||||||
0.880518
|
|
||||||
0.887735
|
|
||||||
0.894882
|
|
||||||
0.901961
|
|
||||||
0.908974
|
|
||||||
0.91592
|
|
||||||
0.922802
|
|
||||||
0.929619
|
|
||||||
0.936373
|
|
||||||
0.943064
|
|
||||||
0.949694
|
|
||||||
0.956263
|
|
||||||
0.962772
|
|
||||||
0.969222
|
|
||||||
0.975614
|
|
||||||
0.981948
|
|
||||||
0.988226
|
|
||||||
0.994448
|
|
||||||
0.999385
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
101
|
|
||||||
(
|
|
||||||
0.00200328
|
|
||||||
0.0213922
|
|
||||||
0.0396804
|
|
||||||
0.0569589
|
|
||||||
0.0733092
|
|
||||||
0.088804
|
|
||||||
0.0940165
|
|
||||||
0.0923125
|
|
||||||
0.0906341
|
|
||||||
0.0889806
|
|
||||||
0.0873516
|
|
||||||
0.0857465
|
|
||||||
0.0841647
|
|
||||||
0.0826058
|
|
||||||
0.0810693
|
|
||||||
0.0795547
|
|
||||||
0.0780615
|
|
||||||
0.0765893
|
|
||||||
0.0751376
|
|
||||||
0.073706
|
|
||||||
0.0722942
|
|
||||||
0.0709016
|
|
||||||
0.0695279
|
|
||||||
0.0681728
|
|
||||||
0.0668357
|
|
||||||
0.0655165
|
|
||||||
0.0642147
|
|
||||||
0.06293
|
|
||||||
0.0616621
|
|
||||||
0.0604105
|
|
||||||
0.0591751
|
|
||||||
0.0579555
|
|
||||||
0.0567514
|
|
||||||
0.0555625
|
|
||||||
0.0543885
|
|
||||||
0.0532292
|
|
||||||
0.0520842
|
|
||||||
0.0509534
|
|
||||||
0.0498363
|
|
||||||
0.0487329
|
|
||||||
0.0476428
|
|
||||||
0.0465658
|
|
||||||
0.0455017
|
|
||||||
0.0444503
|
|
||||||
0.0434112
|
|
||||||
0.0423844
|
|
||||||
0.0413695
|
|
||||||
0.0403664
|
|
||||||
0.0393749
|
|
||||||
0.0383948
|
|
||||||
0.0374258
|
|
||||||
0.0364678
|
|
||||||
0.0355206
|
|
||||||
0.0345841
|
|
||||||
0.033658
|
|
||||||
0.0327421
|
|
||||||
0.0318364
|
|
||||||
0.0309406
|
|
||||||
0.0300546
|
|
||||||
0.0291781
|
|
||||||
0.0283112
|
|
||||||
0.0274535
|
|
||||||
0.026605
|
|
||||||
0.0257655
|
|
||||||
0.0249349
|
|
||||||
0.024113
|
|
||||||
0.0232997
|
|
||||||
0.0224948
|
|
||||||
0.0216983
|
|
||||||
0.0209099
|
|
||||||
0.0201297
|
|
||||||
0.0193573
|
|
||||||
0.0185928
|
|
||||||
0.0178361
|
|
||||||
0.0170869
|
|
||||||
0.0163452
|
|
||||||
0.0156108
|
|
||||||
0.0148837
|
|
||||||
0.0141638
|
|
||||||
0.0134509
|
|
||||||
0.0127449
|
|
||||||
0.0120458
|
|
||||||
0.0113535
|
|
||||||
0.0106678
|
|
||||||
0.00998859
|
|
||||||
0.00931588
|
|
||||||
0.00864953
|
|
||||||
0.00798947
|
|
||||||
0.00733558
|
|
||||||
0.0066878
|
|
||||||
0.00604604
|
|
||||||
0.00541021
|
|
||||||
0.00478022
|
|
||||||
0.00415601
|
|
||||||
0.00353749
|
|
||||||
0.00292458
|
|
||||||
0.00231721
|
|
||||||
0.00171531
|
|
||||||
0.00111879
|
|
||||||
0.000527591
|
|
||||||
5.8413e-05
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
101
|
|
||||||
(
|
|
||||||
0.00400655
|
|
||||||
0.0427844
|
|
||||||
0.0793607
|
|
||||||
0.113918
|
|
||||||
0.146618
|
|
||||||
0.177608
|
|
||||||
0.188033
|
|
||||||
0.184625
|
|
||||||
0.181268
|
|
||||||
0.177961
|
|
||||||
0.174703
|
|
||||||
0.171493
|
|
||||||
0.168329
|
|
||||||
0.165212
|
|
||||||
0.162139
|
|
||||||
0.159109
|
|
||||||
0.156123
|
|
||||||
0.153179
|
|
||||||
0.150275
|
|
||||||
0.147412
|
|
||||||
0.144588
|
|
||||||
0.141803
|
|
||||||
0.139056
|
|
||||||
0.136346
|
|
||||||
0.133671
|
|
||||||
0.131033
|
|
||||||
0.128429
|
|
||||||
0.12586
|
|
||||||
0.123324
|
|
||||||
0.120821
|
|
||||||
0.11835
|
|
||||||
0.115911
|
|
||||||
0.113503
|
|
||||||
0.111125
|
|
||||||
0.108777
|
|
||||||
0.106458
|
|
||||||
0.104168
|
|
||||||
0.101907
|
|
||||||
0.0996727
|
|
||||||
0.0974658
|
|
||||||
0.0952856
|
|
||||||
0.0931317
|
|
||||||
0.0910035
|
|
||||||
0.0889006
|
|
||||||
0.0868225
|
|
||||||
0.0847688
|
|
||||||
0.082739
|
|
||||||
0.0807328
|
|
||||||
0.0787498
|
|
||||||
0.0767895
|
|
||||||
0.0748516
|
|
||||||
0.0729356
|
|
||||||
0.0710413
|
|
||||||
0.0691682
|
|
||||||
0.067316
|
|
||||||
0.0654843
|
|
||||||
0.0636728
|
|
||||||
0.0618812
|
|
||||||
0.0601091
|
|
||||||
0.0583563
|
|
||||||
0.0566223
|
|
||||||
0.054907
|
|
||||||
0.05321
|
|
||||||
0.051531
|
|
||||||
0.0498697
|
|
||||||
0.0482259
|
|
||||||
0.0465993
|
|
||||||
0.0449896
|
|
||||||
0.0433965
|
|
||||||
0.0418198
|
|
||||||
0.0402593
|
|
||||||
0.0387147
|
|
||||||
0.0371857
|
|
||||||
0.0356721
|
|
||||||
0.0341737
|
|
||||||
0.0326903
|
|
||||||
0.0312216
|
|
||||||
0.0297674
|
|
||||||
0.0283276
|
|
||||||
0.0269018
|
|
||||||
0.0254899
|
|
||||||
0.0240917
|
|
||||||
0.022707
|
|
||||||
0.0213355
|
|
||||||
0.0199772
|
|
||||||
0.0186318
|
|
||||||
0.0172991
|
|
||||||
0.0159789
|
|
||||||
0.0146712
|
|
||||||
0.0133756
|
|
||||||
0.0120921
|
|
||||||
0.0108204
|
|
||||||
0.00956045
|
|
||||||
0.00831202
|
|
||||||
0.00707498
|
|
||||||
0.00584917
|
|
||||||
0.00463443
|
|
||||||
0.00343062
|
|
||||||
0.00223758
|
|
||||||
0.00105518
|
|
||||||
0.000116826
|
|
||||||
)
|
|
||||||
|
|
||||||
101{0}
|
|
||||||
101{0}
|
|
||||||
)
|
|
||||||
;
|
|
||||||
@ -0,0 +1,20 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object additionalControls;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvePrimaryRegion true;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object chemistryProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
|
||||||
|
|
||||||
|
chemistry off;
|
||||||
|
|
||||||
|
turbulentReaction off;
|
||||||
|
|
||||||
|
chemistrySolver noChemistrySolver;
|
||||||
|
|
||||||
|
initialChemicalTimeStep 1e-07;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,37 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format binary;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object pyrolysisProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
active false;
|
||||||
|
|
||||||
|
pyrolysisModel none;
|
||||||
|
|
||||||
|
regionName panelRegion;
|
||||||
|
|
||||||
|
reactingOneDimCoeffs
|
||||||
|
{
|
||||||
|
filmCoupled false;
|
||||||
|
|
||||||
|
radFluxName Qr;
|
||||||
|
|
||||||
|
minimumDelta 1e-8;
|
||||||
|
|
||||||
|
moveMesh false;
|
||||||
|
}
|
||||||
|
|
||||||
|
infoOutput false;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -49,7 +49,7 @@ constantAbsorptionEmissionCoeffs
|
|||||||
|
|
||||||
greyMeanAbsorptionEmissionCoeffs
|
greyMeanAbsorptionEmissionCoeffs
|
||||||
{
|
{
|
||||||
lookUpTableFileName "SpeciesTable";
|
lookUpTableFileName none;
|
||||||
|
|
||||||
EhrrCoeff 0.0;
|
EhrrCoeff 0.0;
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user