mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev
Conflicts: src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C
This commit is contained in:
@ -24,8 +24,7 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/regionModels/pyrolysisModels/lnInclude \
|
-I$(LIB_SRC)/regionModels/pyrolysisModels/lnInclude \
|
||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||||
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
||||||
-I$(LIB_SRC)/ODE/lnInclude \
|
-I$(LIB_SRC)/ODE/lnInclude
|
||||||
-I$(LIB_SRC)/sampling/lnInclude
|
|
||||||
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
@ -48,5 +47,4 @@ EXE_LIBS = \
|
|||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
-lpyrolysisModels \
|
-lpyrolysisModels \
|
||||||
-llagrangianIntermediate \
|
-llagrangianIntermediate \
|
||||||
-lODE \
|
-lODE
|
||||||
-lsampling
|
|
||||||
|
|||||||
@ -1,6 +1,3 @@
|
|||||||
Info<< "Creating pyrolysis model" << endl;
|
Info<< "Creating pyrolysis model" << endl;
|
||||||
|
|
||||||
autoPtr<regionModels::pyrolysisModels::pyrolysisModel> pyrolysis
|
regionModels::pyrolysisModels::pyrolysisModelCollection pyrolysis(mesh);
|
||||||
(
|
|
||||||
regionModels::pyrolysisModels::pyrolysisModel::New(mesh)
|
|
||||||
);
|
|
||||||
|
|||||||
@ -35,7 +35,7 @@ Description
|
|||||||
#include "turbulenceModel.H"
|
#include "turbulenceModel.H"
|
||||||
#include "basicReactingCloud.H"
|
#include "basicReactingCloud.H"
|
||||||
#include "surfaceFilmModel.H"
|
#include "surfaceFilmModel.H"
|
||||||
#include "pyrolysisModel.H"
|
#include "pyrolysisModelCollection.H"
|
||||||
#include "radiationModel.H"
|
#include "radiationModel.H"
|
||||||
#include "SLGThermo.H"
|
#include "SLGThermo.H"
|
||||||
#include "solidChemistryModel.H"
|
#include "solidChemistryModel.H"
|
||||||
@ -84,7 +84,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
surfaceFilm.evolve();
|
surfaceFilm.evolve();
|
||||||
|
|
||||||
pyrolysis->evolve();
|
pyrolysis.evolve();
|
||||||
|
|
||||||
if (solvePrimaryRegion)
|
if (solvePrimaryRegion)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -29,6 +29,6 @@ Description
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
scalar maxDi = pyrolysis->maxDiff();
|
scalar maxDi = pyrolysis.maxDiff();
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
scalar DiNum = pyrolysis->solidRegionDiffNo();
|
scalar DiNum = pyrolysis.solidRegionDiffNo();
|
||||||
|
|||||||
@ -107,7 +107,7 @@ maxwellSlipUFvPatchVectorField::maxwellSlipUFvPatchVectorField
|
|||||||
if (dict.found("refValue") && dict.found("valueFraction"))
|
if (dict.found("refValue") && dict.found("valueFraction"))
|
||||||
{
|
{
|
||||||
this->refValue() = vectorField("refValue", dict, p.size());
|
this->refValue() = vectorField("refValue", dict, p.size());
|
||||||
this->valueFraction() =
|
this->valueFraction() =
|
||||||
scalarField("valueFraction", dict, p.size());
|
scalarField("valueFraction", dict, p.size());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -68,12 +68,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p.storePrevIter();
|
|
||||||
rho.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
#include "hEqn.H"
|
#include "hEqn.H"
|
||||||
|
|
||||||
|
|||||||
@ -79,12 +79,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p.storePrevIter();
|
|
||||||
rho.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
turbulence->correct();
|
turbulence->correct();
|
||||||
|
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -73,12 +73,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p.storePrevIter();
|
|
||||||
rho.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
#include "hEqn.H"
|
#include "hEqn.H"
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,7 @@ if (simple.transonic())
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Relax the pressure equation to ensure diagonal-dominance
|
// Relax the pressure equation to ensure diagonal-dominance
|
||||||
pEqn.relax(mesh.relaxationFactor("pEqn"));
|
pEqn.relax(mesh.equationRelaxationFactor("pEqn"));
|
||||||
|
|
||||||
pEqn.setReference(pRefCell, pRefValue);
|
pEqn.setReference(pRefCell, pRefValue);
|
||||||
|
|
||||||
|
|||||||
@ -59,9 +59,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p.storePrevIter();
|
|
||||||
rho.storePrevIter();
|
|
||||||
|
|
||||||
// Pressure-velocity SIMPLE corrector
|
// Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -55,9 +55,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p.storePrevIter();
|
|
||||||
rho.storePrevIter();
|
|
||||||
|
|
||||||
// Pressure-velocity SIMPLE corrector
|
// Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -57,14 +57,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p.storePrevIter();
|
|
||||||
rho.storePrevIter();
|
|
||||||
|
|
||||||
if (!simple.transonic())
|
|
||||||
{
|
|
||||||
rho.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Velocity-pressure-enthalpy SIMPLEC corrector
|
// Velocity-pressure-enthalpy SIMPLEC corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -58,9 +58,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p_rgh.storePrevIter();
|
|
||||||
rho.storePrevIter();
|
|
||||||
|
|
||||||
// Pressure-velocity SIMPLE corrector
|
// Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -81,11 +81,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p_rgh.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
#include "TEqn.H"
|
#include "TEqn.H"
|
||||||
|
|
||||||
|
|||||||
@ -71,8 +71,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p_rgh.storePrevIter();
|
|
||||||
|
|
||||||
// Pressure-velocity SIMPLE corrector
|
// Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -74,11 +74,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p_rgh.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
#include "hEqn.H"
|
#include "hEqn.H"
|
||||||
|
|
||||||
|
|||||||
@ -56,9 +56,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p_rgh.storePrevIter();
|
|
||||||
rho.storePrevIter();
|
|
||||||
|
|
||||||
// Pressure-velocity SIMPLE corrector
|
// Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -59,9 +59,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p_rgh.storePrevIter();
|
|
||||||
rho.storePrevIter();
|
|
||||||
|
|
||||||
// Pressure-velocity SIMPLE corrector
|
// Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
cd ${0%/*} || exit 1 # run from this directory
|
cd ${0%/*} || exit 1 # run from this directory
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
wclean libso coupledDerivedFvPatchFields
|
|
||||||
wclean
|
wclean
|
||||||
wclean chtMultiRegionSimpleFoam
|
wclean chtMultiRegionSimpleFoam
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
cd ${0%/*} || exit 1 # run from this directory
|
cd ${0%/*} || exit 1 # run from this directory
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
wmake libso coupledDerivedFvPatchFields
|
|
||||||
wmake
|
wmake
|
||||||
wmake chtMultiRegionSimpleFoam
|
wmake chtMultiRegionSimpleFoam
|
||||||
|
|
||||||
|
|||||||
@ -19,5 +19,4 @@ EXE_LIBS = \
|
|||||||
-lcompressibleLESModels \
|
-lcompressibleLESModels \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lradiationModels \
|
-lradiationModels
|
||||||
-lcoupledDerivedFvPatchFields
|
|
||||||
|
|||||||
@ -20,5 +20,4 @@ EXE_LIBS = \
|
|||||||
-lcompressibleTurbulenceModel \
|
-lcompressibleTurbulenceModel \
|
||||||
-lcompressibleRASModels \
|
-lcompressibleRASModels \
|
||||||
-lcompressibleLESModels \
|
-lcompressibleLESModels \
|
||||||
-lradiationModels \
|
-lradiationModels
|
||||||
-lcoupledDerivedFvPatchFields
|
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
|
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libcoupledDerivedFvPatchFields
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
EXE_INC = \
|
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
|
||||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/basicSolidThermo/lnInclude \
|
|
||||||
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
|
|
||||||
-I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude
|
|
||||||
|
|
||||||
LIB_LIBS = \
|
|
||||||
-lmeshTools \
|
|
||||||
-lbasicThermophysicalModels \
|
|
||||||
-lfiniteVolume \
|
|
||||||
-lradiationModels
|
|
||||||
@ -85,15 +85,13 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p.storePrevIter();
|
|
||||||
|
|
||||||
laminarTransport.lookup("lambda") >> lambda;
|
laminarTransport.lookup("lambda") >> lambda;
|
||||||
|
|
||||||
//alpha +=
|
//alpha +=
|
||||||
// mesh.relaxationFactor("alpha")
|
// mesh.relaxationFactor("alpha")
|
||||||
// *(lambda*max(Ua & U, zeroSensitivity) - alpha);
|
// *(lambda*max(Ua & U, zeroSensitivity) - alpha);
|
||||||
alpha +=
|
alpha +=
|
||||||
mesh.relaxationFactor("alpha")
|
mesh.fieldRelaxationFactor("alpha")
|
||||||
*(min(max(alpha + lambda*(Ua & U), zeroAlpha), alphaMax) - alpha);
|
*(min(max(alpha + lambda*(Ua & U), zeroAlpha), alphaMax) - alpha);
|
||||||
|
|
||||||
zeroCells(alpha, inletCells);
|
zeroCells(alpha, inletCells);
|
||||||
@ -148,8 +146,6 @@ int main(int argc, char *argv[])
|
|||||||
U.correctBoundaryConditions();
|
U.correctBoundaryConditions();
|
||||||
}
|
}
|
||||||
|
|
||||||
pa.storePrevIter();
|
|
||||||
|
|
||||||
// Adjoint Pressure-velocity SIMPLE corrector
|
// Adjoint Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
// Adjoint Momentum predictor
|
// Adjoint Momentum predictor
|
||||||
|
|||||||
@ -67,11 +67,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "UrelEqn.H"
|
#include "UrelEqn.H"
|
||||||
|
|
||||||
// --- PISO loop
|
// --- PISO loop
|
||||||
|
|||||||
@ -88,11 +88,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|
||||||
// --- PISO loop
|
// --- PISO loop
|
||||||
|
|||||||
@ -66,11 +66,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|
||||||
// --- PISO loop
|
// --- PISO loop
|
||||||
|
|||||||
@ -60,8 +60,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p.storePrevIter();
|
|
||||||
|
|
||||||
// --- Pressure-velocity SIMPLE corrector
|
// --- Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -56,8 +56,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p.storePrevIter();
|
|
||||||
|
|
||||||
// --- Pressure-velocity SIMPLE corrector
|
// --- Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UrelEqn.H"
|
#include "UrelEqn.H"
|
||||||
|
|||||||
@ -58,8 +58,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p.storePrevIter();
|
|
||||||
|
|
||||||
// Pressure-velocity SIMPLE corrector
|
// Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -54,8 +54,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p.storePrevIter();
|
|
||||||
|
|
||||||
// --- Pressure-velocity SIMPLE corrector
|
// --- Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -58,8 +58,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
p.storePrevIter();
|
|
||||||
|
|
||||||
// Pressure-velocity SIMPLE corrector
|
// Pressure-velocity SIMPLE corrector
|
||||||
{
|
{
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -89,11 +89,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
turbulence->correct();
|
turbulence->correct();
|
||||||
|
|
||||||
#include "UEqn.H"
|
#include "UEqn.H"
|
||||||
|
|||||||
@ -20,7 +20,6 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/ODE/lnInclude \
|
-I$(LIB_SRC)/ODE/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||||
-I$(LIB_SRC)/sampling/lnInclude \
|
|
||||||
-I$(LIB_SRC)/combustionModels/lnInclude
|
-I$(LIB_SRC)/combustionModels/lnInclude
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
@ -45,5 +44,4 @@ EXE_LIBS = \
|
|||||||
-lODE \
|
-lODE \
|
||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
-lsampling \
|
|
||||||
-lcombustionModels
|
-lcombustionModels
|
||||||
|
|||||||
@ -20,7 +20,6 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||||
-I$(LIB_SRC)/ODE/lnInclude \
|
-I$(LIB_SRC)/ODE/lnInclude \
|
||||||
-I$(LIB_SRC)/sampling/lnInclude \
|
|
||||||
-I$(LIB_SRC)/combustionModels/lnInclude \
|
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||||
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
||||||
|
|
||||||
@ -48,5 +47,4 @@ EXE_LIBS = \
|
|||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
-lODE \
|
-lODE \
|
||||||
-lsampling \
|
|
||||||
-lcombustionModels
|
-lcombustionModels
|
||||||
|
|||||||
@ -14,8 +14,7 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||||
-I$(LIB_SRC)/dynamicMesh/lnInclude \
|
-I$(LIB_SRC)/dynamicMesh/lnInclude \
|
||||||
-I$(LIB_SRC)/dynamicFvMesh/lnInclude \
|
-I$(LIB_SRC)/dynamicFvMesh/lnInclude
|
||||||
-I$(LIB_SRC)/sampling/lnInclude
|
|
||||||
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
@ -34,5 +33,4 @@ EXE_LIBS = \
|
|||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
-ldynamicMesh \
|
-ldynamicMesh \
|
||||||
-ldynamicFvMesh \
|
-ldynamicFvMesh \
|
||||||
-ltopoChangerFvMesh \
|
-ltopoChangerFvMesh
|
||||||
-lsampling
|
|
||||||
|
|||||||
@ -11,8 +11,7 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude
|
||||||
-I$(LIB_SRC)/sampling/lnInclude
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-llagrangian \
|
-llagrangian \
|
||||||
@ -27,5 +26,4 @@ EXE_LIBS = \
|
|||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels
|
||||||
-lsampling
|
|
||||||
|
|||||||
@ -20,7 +20,6 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/ODE/lnInclude \
|
-I$(LIB_SRC)/ODE/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||||
-I$(LIB_SRC)/sampling/lnInclude \
|
|
||||||
-I$(LIB_SRC)/combustionModels/lnInclude \
|
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||||
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
||||||
|
|
||||||
@ -47,5 +46,4 @@ EXE_LIBS = \
|
|||||||
-lODE \
|
-lODE \
|
||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
-lsampling \
|
|
||||||
-lcombustionModels
|
-lcombustionModels
|
||||||
|
|||||||
@ -19,7 +19,6 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||||
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
||||||
-I$(LIB_SRC)/ODE/lnInclude \
|
-I$(LIB_SRC)/ODE/lnInclude \
|
||||||
-I$(LIB_SRC)/sampling/lnInclude \
|
|
||||||
-I$(LIB_SRC)/combustionModels/lnInclude \
|
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||||
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
||||||
|
|
||||||
@ -42,5 +41,4 @@ EXE_LIBS = \
|
|||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
-llagrangianIntermediate \
|
-llagrangianIntermediate \
|
||||||
-lODE \
|
-lODE \
|
||||||
-lsampling \
|
|
||||||
-lcombustionModels
|
-lcombustionModels
|
||||||
|
|||||||
@ -19,7 +19,6 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/ODE/lnInclude \
|
-I$(LIB_SRC)/ODE/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||||
-I$(LIB_SRC)/sampling/lnInclude \
|
|
||||||
-I$(LIB_SRC)/combustionModels/lnInclude \
|
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||||
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
||||||
|
|
||||||
@ -46,5 +45,4 @@ EXE_LIBS = \
|
|||||||
-lODE \
|
-lODE \
|
||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
-lsampling \
|
|
||||||
-lcombustionModels
|
-lcombustionModels
|
||||||
|
|||||||
@ -20,7 +20,6 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/ODE/lnInclude \
|
-I$(LIB_SRC)/ODE/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||||
-I$(LIB_SRC)/sampling/lnInclude \
|
|
||||||
-I$(LIB_SRC)/combustionModels/lnInclude \
|
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||||
-I$(FOAM_SOLVERS)/lagrangian/reactingParcelFoam
|
-I$(FOAM_SOLVERS)/lagrangian/reactingParcelFoam
|
||||||
|
|
||||||
@ -48,5 +47,4 @@ EXE_LIBS = \
|
|||||||
-lODE \
|
-lODE \
|
||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
-lsampling \
|
|
||||||
-lcombustionModels
|
-lcombustionModels
|
||||||
|
|||||||
@ -9,8 +9,7 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude
|
||||||
-I$(LIB_SRC)/sampling/lnInclude
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-llagrangian \
|
-llagrangian \
|
||||||
@ -25,5 +24,4 @@ EXE_LIBS = \
|
|||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels
|
||||||
-lsampling
|
|
||||||
|
|||||||
@ -70,11 +70,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "alphaEqn.H"
|
#include "alphaEqn.H"
|
||||||
#include "liftDragCoeffs.H"
|
#include "liftDragCoeffs.H"
|
||||||
#include "UEqns.H"
|
#include "UEqns.H"
|
||||||
|
|||||||
@ -8,7 +8,6 @@ EXE_INC = \
|
|||||||
-Iaveraging
|
-Iaveraging
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-L$(FOAM_USER_LIBBIN) \
|
|
||||||
-lincompressibleTransportModels \
|
-lincompressibleTransportModels \
|
||||||
-lcompressiblePhaseModel \
|
-lcompressiblePhaseModel \
|
||||||
-lcompressibleEulerianInterfacialModels \
|
-lcompressibleEulerianInterfacialModels \
|
||||||
|
|||||||
@ -79,11 +79,6 @@ int main(int argc, char *argv[])
|
|||||||
// --- Pressure-velocity PIMPLE corrector loop
|
// --- Pressure-velocity PIMPLE corrector loop
|
||||||
for (pimple.start(); pimple.loop(); pimple++)
|
for (pimple.start(); pimple.loop(); pimple++)
|
||||||
{
|
{
|
||||||
if (pimple.nOuterCorr() != 1)
|
|
||||||
{
|
|
||||||
p.storePrevIter();
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "alphaEqn.H"
|
#include "alphaEqn.H"
|
||||||
#include "kEpsilon.H"
|
#include "kEpsilon.H"
|
||||||
#include "interfacialCoeffs.H"
|
#include "interfacialCoeffs.H"
|
||||||
|
|||||||
@ -12,4 +12,4 @@ heatTransferModels/heatTransferModel/heatTransferModel.C
|
|||||||
heatTransferModels/heatTransferModel/newHeatTransferModel.C
|
heatTransferModels/heatTransferModel/newHeatTransferModel.C
|
||||||
heatTransferModels/RanzMarshall/RanzMarshall.C
|
heatTransferModels/RanzMarshall/RanzMarshall.C
|
||||||
|
|
||||||
LIB = $(FOAM_USER_LIBBIN)/libcompressibleEulerianInterfacialModels
|
LIB = $(FOAM_LIBBIN)/libcompressibleEulerianInterfacialModels
|
||||||
|
|||||||
@ -30,4 +30,4 @@ frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C
|
|||||||
frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C
|
frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C
|
||||||
frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C
|
frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C
|
||||||
|
|
||||||
LIB = $(FOAM_USER_LIBBIN)/libcompressibleKineticTheoryModel
|
LIB = $(FOAM_LIBBIN)/libcompressibleKineticTheoryModel
|
||||||
|
|||||||
@ -84,23 +84,12 @@
|
|||||||
+ (alpha2/rho2)*pEqnComp2()
|
+ (alpha2/rho2)*pEqnComp2()
|
||||||
) +
|
) +
|
||||||
pEqnIncomp,
|
pEqnIncomp,
|
||||||
mesh.solver
|
mesh.solver(p.select(pimple.finalInnerIter(corr, nonOrth)))
|
||||||
(
|
|
||||||
p.select(pimple.finalInnerIter(corr, nonOrth))
|
|
||||||
/*
|
|
||||||
(
|
|
||||||
oCorr == pimple.nOuterCorr()-1
|
|
||||||
&& corr == nCorr-1
|
|
||||||
&& nonOrth == nNonOrthCorr
|
|
||||||
)
|
|
||||||
*/
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
if (nonOrth == pimple.nNonOrthCorr())
|
if (nonOrth == pimple.nNonOrthCorr())
|
||||||
{
|
{
|
||||||
surfaceScalarField mSfGradp = pEqnIncomp.flux()/Dp;
|
surfaceScalarField mSfGradp = pEqnIncomp.flux()/Dp;
|
||||||
|
|
||||||
phi1 += rAlphaAU1f*mSfGradp/fvc::interpolate(rho1);
|
phi1 += rAlphaAU1f*mSfGradp/fvc::interpolate(rho1);
|
||||||
phi2 += rAlphaAU2f*mSfGradp/fvc::interpolate(rho2);
|
phi2 += rAlphaAU2f*mSfGradp/fvc::interpolate(rho2);
|
||||||
phi = alpha1f*phi1 + alpha2f*phi2;
|
phi = alpha1f*phi1 + alpha2f*phi2;
|
||||||
|
|||||||
@ -4,4 +4,4 @@ diameterModels/diameterModel/newDiameterModel.C
|
|||||||
diameterModels/constantDiameter/constantDiameter.C
|
diameterModels/constantDiameter/constantDiameter.C
|
||||||
diameterModels/isothermalDiameter/isothermalDiameter.C
|
diameterModels/isothermalDiameter/isothermalDiameter.C
|
||||||
|
|
||||||
LIB = $(FOAM_USER_LIBBIN)/libcompressiblePhaseModel
|
LIB = $(FOAM_LIBBIN)/libcompressiblePhaseModel
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
#include "readTimeControls.H"
|
#include "readTimeControls.H"
|
||||||
|
|
||||||
int nAlphaCorr(readInt(pimple.dict().lookup("nAlphaCorr")));
|
int nAlphaCorr(readInt(pimple.dict().lookup("nAlphaCorr")));
|
||||||
Switch correctAlpha(pimple.dict().lookup("correctAlpha"));
|
|
||||||
|
|||||||
11
applications/solvers/multiphase/multiphaseEulerFoam/Allwclean
Executable file
11
applications/solvers/multiphase/multiphaseEulerFoam/Allwclean
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd ${0%/*} || exit 1 # run from this directory
|
||||||
|
set -x
|
||||||
|
|
||||||
|
wclean libso phaseModel
|
||||||
|
wclean libso multiphaseSystem
|
||||||
|
wclean libso interfacialModels
|
||||||
|
wclean libso kineticTheoryModels
|
||||||
|
wclean
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------- end-of-file
|
||||||
11
applications/solvers/multiphase/multiphaseEulerFoam/Allwmake
Executable file
11
applications/solvers/multiphase/multiphaseEulerFoam/Allwmake
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd ${0%/*} || exit 1 # run from this directory
|
||||||
|
set -x
|
||||||
|
|
||||||
|
wmake libso phaseModel
|
||||||
|
wmake libso interfacialModels
|
||||||
|
wmake libso multiphaseSystem
|
||||||
|
wmake libso kineticTheoryModels
|
||||||
|
wmake
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------- end-of-file
|
||||||
@ -0,0 +1,51 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Global
|
||||||
|
CourantNo
|
||||||
|
|
||||||
|
Description
|
||||||
|
Calculates and outputs the mean and maximum Courant Numbers.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
scalar CoNum = 0.0;
|
||||||
|
scalar meanCoNum = 0.0;
|
||||||
|
|
||||||
|
if (mesh.nInternalFaces())
|
||||||
|
{
|
||||||
|
scalarField sumPhi
|
||||||
|
(
|
||||||
|
fvc::surfaceSum(mag(phi))().internalField()
|
||||||
|
);
|
||||||
|
|
||||||
|
CoNum = 0.5*gMax(sumPhi/mesh.V().field())*runTime.deltaTValue();
|
||||||
|
|
||||||
|
meanCoNum =
|
||||||
|
0.5*(gSum(sumPhi)/gSum(mesh.V().field()))*runTime.deltaTValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
Info<< "Courant Number mean: " << meanCoNum
|
||||||
|
<< " max: " << CoNum << endl;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
# include "CourantNo.H"
|
||||||
|
|
||||||
|
// {
|
||||||
|
// scalar UrCoNum = 0.5*gMax
|
||||||
|
// (
|
||||||
|
// fvc::surfaceSum(mag(phi1 - phi2))().internalField()/mesh.V().field()
|
||||||
|
// )*runTime.deltaTValue();
|
||||||
|
|
||||||
|
// Info<< "Max Ur Courant Number = " << UrCoNum << endl;
|
||||||
|
|
||||||
|
// CoNum = max(CoNum, UrCoNum);
|
||||||
|
// }
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
|
||||||
|
{
|
||||||
|
phaseModel& phase = iter();
|
||||||
|
|
||||||
|
phase.DDtU() =
|
||||||
|
fvc::ddt(phase.U())
|
||||||
|
+ fvc::div(phase.phi(), phase.U())
|
||||||
|
- fvc::div(phase.phi())*phase.U();
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
multiphaseEulerFoam.C
|
||||||
|
|
||||||
|
EXE = $(FOAM_APPBIN)/multiphaseEulerFoam
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
EXE_INC = \
|
||||||
|
-IphaseModel/lnInclude \
|
||||||
|
-ImultiphaseSystem/lnInclude \
|
||||||
|
/*-IkineticTheoryModels/lnInclude*/ \
|
||||||
|
-IinterfacialModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/transportModels \
|
||||||
|
-I$(LIB_SRC)/transportModels/incompressible/lnInclude \
|
||||||
|
-I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
|
||||||
|
-I$(LIB_SRC)/transportModels/incompressible/lnInclude \
|
||||||
|
-I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
|
||||||
|
-I$(LIB_SRC)/turbulenceModels \
|
||||||
|
-I$(LIB_SRC)/turbulenceModels/incompressible/LES/LESModel \
|
||||||
|
-I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
|
||||||
|
-I$(LIB_SRC)/finiteVolume/lnInclude
|
||||||
|
|
||||||
|
EXE_LIBS = \
|
||||||
|
-lmultiphaseSystem \
|
||||||
|
-lcompressibleMultiPhaseModel \
|
||||||
|
-linterfaceProperties \
|
||||||
|
-lincompressibleTransportModels \
|
||||||
|
-lcompressibleMultiphaseEulerianInterfacialModels \
|
||||||
|
/*-lcompressibleKineticTheoryModel*/ \
|
||||||
|
-lincompressibleLESModels \
|
||||||
|
-lfiniteVolume
|
||||||
38
applications/solvers/multiphase/multiphaseEulerFoam/TEqns.H
Normal file
38
applications/solvers/multiphase/multiphaseEulerFoam/TEqns.H
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
volScalarField kByCp1("kByCp1", alpha1*(k1/Cp1/rho1 + sqr(Ct)*nut2/Prt));
|
||||||
|
volScalarField kByCp2("kByCp2", alpha2*(k2/Cp2/rho2 + nut2/Prt));
|
||||||
|
|
||||||
|
fvScalarMatrix T1Eqn
|
||||||
|
(
|
||||||
|
fvm::ddt(alpha1, T1)
|
||||||
|
+ fvm::div(alphaPhi1, T1)
|
||||||
|
- fvm::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), T1)
|
||||||
|
- fvm::laplacian(kByCp1, T1)
|
||||||
|
==
|
||||||
|
heatTransferCoeff*T2/Cp1/rho1
|
||||||
|
- fvm::Sp(heatTransferCoeff/Cp1/rho1, T1)
|
||||||
|
+ alpha1*Dp1Dt/Cp1/rho1
|
||||||
|
);
|
||||||
|
|
||||||
|
fvScalarMatrix T2Eqn
|
||||||
|
(
|
||||||
|
fvm::ddt(alpha2, T2)
|
||||||
|
+ fvm::div(alphaPhi2, T2)
|
||||||
|
- fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), T2)
|
||||||
|
- fvm::laplacian(kByCp2, T2)
|
||||||
|
==
|
||||||
|
heatTransferCoeff*T1/Cp2/rho2
|
||||||
|
- fvm::Sp(heatTransferCoeff/Cp2/rho2, T2)
|
||||||
|
+ alpha2*Dp2Dt/Cp2/rho2
|
||||||
|
);
|
||||||
|
|
||||||
|
T1Eqn.relax();
|
||||||
|
T1Eqn.solve();
|
||||||
|
|
||||||
|
T2Eqn.relax();
|
||||||
|
T2Eqn.solve();
|
||||||
|
|
||||||
|
// Update compressibilities
|
||||||
|
psi1 = 1.0/(R1*T1);
|
||||||
|
psi2 = 1.0/(R2*T2);
|
||||||
|
}
|
||||||
40
applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H
Normal file
40
applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
PtrList<fvVectorMatrix> UEqns(fluid.phases().size());
|
||||||
|
autoPtr<multiphaseSystem::dragCoeffFields> dragCoeffs(fluid.dragCoeffs());
|
||||||
|
|
||||||
|
int phasei = 0;
|
||||||
|
forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
|
||||||
|
{
|
||||||
|
phaseModel& phase = iter();
|
||||||
|
const volScalarField& alpha = phase;
|
||||||
|
volVectorField& U = phase.U();
|
||||||
|
|
||||||
|
volScalarField nuEff(sgsModel->nut() + iter().nu());
|
||||||
|
|
||||||
|
UEqns.set
|
||||||
|
(
|
||||||
|
phasei,
|
||||||
|
new fvVectorMatrix
|
||||||
|
(
|
||||||
|
(scalar(1) + fluid.Cvm(phase)/phase.rho())*
|
||||||
|
(
|
||||||
|
fvm::ddt(alpha, U)
|
||||||
|
+ fvm::div(phase.phiAlpha(), U)
|
||||||
|
- fvm::Sp(fvc::ddt(alpha) + fvc::div(phase.phiAlpha()), U)
|
||||||
|
)
|
||||||
|
- fvm::laplacian(alpha*nuEff, U)
|
||||||
|
- fvc::div
|
||||||
|
(
|
||||||
|
alpha*(nuEff*dev(T(fvc::grad(U))) /*- ((2.0/3.0)*I)*k*/),
|
||||||
|
"div(Rc)"
|
||||||
|
)
|
||||||
|
==
|
||||||
|
- fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U)
|
||||||
|
//- (alpha*phase.rho())*fluid.lift(phase)
|
||||||
|
+ (alpha/phase.rho())*fluid.Svm(phase)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
mrfZones.addCoriolis(alpha, UEqns[phasei]);
|
||||||
|
UEqns[phasei].relax();
|
||||||
|
|
||||||
|
phasei++;
|
||||||
|
}
|
||||||
@ -0,0 +1,105 @@
|
|||||||
|
surfaceScalarField alphaPhi1("alphaPhi1", phi1);
|
||||||
|
surfaceScalarField alphaPhi2("alphaPhi2", phi2);
|
||||||
|
|
||||||
|
{
|
||||||
|
word scheme("div(phi,alpha1)");
|
||||||
|
word schemer("div(phir,alpha1)");
|
||||||
|
|
||||||
|
surfaceScalarField phic("phic", phi);
|
||||||
|
surfaceScalarField phir("phir", phi1 - phi2);
|
||||||
|
|
||||||
|
if (g0.value() > 0.0)
|
||||||
|
{
|
||||||
|
surfaceScalarField alpha1f = fvc::interpolate(alpha1);
|
||||||
|
surfaceScalarField phipp = ppMagf*fvc::snGrad(alpha1)*mesh.magSf();
|
||||||
|
phir += phipp;
|
||||||
|
phic += fvc::interpolate(alpha1)*phipp;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int acorr=0; acorr<nAlphaCorr; acorr++)
|
||||||
|
{
|
||||||
|
volScalarField::DimensionedInternalField Sp
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"Sp",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedScalar("Sp", dgdt.dimensions(), 0.0)
|
||||||
|
);
|
||||||
|
|
||||||
|
volScalarField::DimensionedInternalField Su
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"Su",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh
|
||||||
|
),
|
||||||
|
// Divergence term is handled explicitly to be
|
||||||
|
// consistent with the explicit transport solution
|
||||||
|
fvc::div(phi)*min(alpha1, scalar(1))
|
||||||
|
);
|
||||||
|
|
||||||
|
forAll(dgdt, celli)
|
||||||
|
{
|
||||||
|
if (dgdt[celli] > 0.0 && alpha1[celli] > 0.0)
|
||||||
|
{
|
||||||
|
Sp[celli] -= dgdt[celli]*alpha1[celli];
|
||||||
|
Su[celli] += dgdt[celli]*alpha1[celli];
|
||||||
|
}
|
||||||
|
else if (dgdt[celli] < 0.0 && alpha1[celli] < 1.0)
|
||||||
|
{
|
||||||
|
Sp[celli] += dgdt[celli]*(1.0 - alpha1[celli]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fvScalarMatrix alpha1Eqn
|
||||||
|
(
|
||||||
|
fvm::ddt(alpha1)
|
||||||
|
+ fvm::div(phic, alpha1, scheme)
|
||||||
|
+ fvm::div(-fvc::flux(-phir, alpha2, schemer), alpha1, schemer)
|
||||||
|
==
|
||||||
|
fvm::Sp(Sp, alpha1) + Su
|
||||||
|
);
|
||||||
|
|
||||||
|
if (g0.value() > 0.0)
|
||||||
|
{
|
||||||
|
ppMagf = rU1Af*fvc::interpolate
|
||||||
|
(
|
||||||
|
(1.0/(rho1*(alpha1 + scalar(0.0001))))
|
||||||
|
*g0*min(exp(preAlphaExp*(alpha1 - alphaMax)), expMax)
|
||||||
|
);
|
||||||
|
|
||||||
|
alpha1Eqn -= fvm::laplacian
|
||||||
|
(
|
||||||
|
(fvc::interpolate(alpha1) + scalar(0.0001))*ppMagf,
|
||||||
|
alpha1,
|
||||||
|
"laplacian(alphaPpMag,alpha1)"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
alpha1Eqn.relax();
|
||||||
|
alpha1Eqn.solve();
|
||||||
|
|
||||||
|
//***HGW temporary boundedness-fix pending the introduction of MULES
|
||||||
|
alpha1 = max(min(alpha1, 1.0), 0.0);
|
||||||
|
|
||||||
|
#include "packingLimiter.H"
|
||||||
|
|
||||||
|
alphaPhi1 = alpha1Eqn.flux();
|
||||||
|
alphaPhi2 = phi - alphaPhi1;
|
||||||
|
alpha2 = scalar(1) - alpha1;
|
||||||
|
|
||||||
|
Info<< "Dispersed phase volume fraction = "
|
||||||
|
<< alpha1.weightedAverage(mesh.V()).value()
|
||||||
|
<< " Min(alpha1) = " << min(alpha1).value()
|
||||||
|
<< " Max(alpha1) = " << max(alpha1).value()
|
||||||
|
<< endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rho = alpha1*rho1 + alpha2*rho2;
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
{
|
||||||
|
#include "continuityErrs.H"
|
||||||
|
|
||||||
|
wordList pcorrTypes
|
||||||
|
(
|
||||||
|
p.boundaryField().size(),
|
||||||
|
zeroGradientFvPatchScalarField::typeName
|
||||||
|
);
|
||||||
|
|
||||||
|
forAll (p.boundaryField(), i)
|
||||||
|
{
|
||||||
|
if (p.boundaryField()[i].fixesValue())
|
||||||
|
{
|
||||||
|
pcorrTypes[i] = fixedValueFvPatchScalarField::typeName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
volScalarField pcorr
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"pcorr",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedScalar("pcorr", p.dimensions(), 0.0),
|
||||||
|
pcorrTypes
|
||||||
|
);
|
||||||
|
|
||||||
|
dimensionedScalar rAUf("(1|A(U))", dimTime/rho.dimensions(), 1.0);
|
||||||
|
|
||||||
|
adjustPhi(phi, U, pcorr);
|
||||||
|
|
||||||
|
for (int nonOrth=0; nonOrth<=pimple.nNonOrthCorr(); nonOrth++)
|
||||||
|
{
|
||||||
|
fvScalarMatrix pcorrEqn
|
||||||
|
(
|
||||||
|
fvm::laplacian(rAUf, pcorr) == fvc::div(phi)
|
||||||
|
);
|
||||||
|
|
||||||
|
pcorrEqn.setReference(pRefCell, pRefValue);
|
||||||
|
pcorrEqn.solve();
|
||||||
|
|
||||||
|
if (nonOrth == pimple.nNonOrthCorr())
|
||||||
|
{
|
||||||
|
phi -= pcorrEqn.flux();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#include "continuityErrs.H"
|
||||||
|
}
|
||||||
@ -0,0 +1,85 @@
|
|||||||
|
#include "readGravitationalAcceleration.H"
|
||||||
|
|
||||||
|
Info<< "Reading field p\n" << endl;
|
||||||
|
volScalarField p
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"p",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
mesh
|
||||||
|
);
|
||||||
|
|
||||||
|
volVectorField U
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"U",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedVector("U", dimVelocity, vector::zero)
|
||||||
|
);
|
||||||
|
|
||||||
|
surfaceScalarField phi
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"phi",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedScalar("phi", dimArea*dimVelocity, 0)
|
||||||
|
);
|
||||||
|
|
||||||
|
multiphaseSystem fluid(mesh, phi);
|
||||||
|
|
||||||
|
forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
|
||||||
|
{
|
||||||
|
phaseModel& phase = iter();
|
||||||
|
const volScalarField& alpha = phase;
|
||||||
|
|
||||||
|
U += alpha*phase.U();
|
||||||
|
phi += fvc::interpolate(alpha)*phase.phi();
|
||||||
|
}
|
||||||
|
|
||||||
|
// dimensionedScalar pMin
|
||||||
|
// (
|
||||||
|
// "pMin",
|
||||||
|
// dimPressure,
|
||||||
|
// fluid.lookup("pMin")
|
||||||
|
// );
|
||||||
|
|
||||||
|
volScalarField rho
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"rho",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
fluid.rho()
|
||||||
|
);
|
||||||
|
|
||||||
|
label pRefCell = 0;
|
||||||
|
scalar pRefValue = 0.0;
|
||||||
|
setRefCell(p, mesh.solutionDict().subDict("PIMPLE"), pRefCell, pRefValue);
|
||||||
|
|
||||||
|
singlePhaseTransportModel laminarTransport(U, phi);
|
||||||
|
|
||||||
|
autoPtr<incompressible::LESModel> sgsModel
|
||||||
|
(
|
||||||
|
incompressible::LESModel::New(U, phi, laminarTransport)
|
||||||
|
);
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
MRFZones mrfZones(mesh);
|
||||||
|
mrfZones.correctBoundaryVelocity(U);
|
||||||
@ -0,0 +1,80 @@
|
|||||||
|
volScalarField dragCoeff
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"dragCoeff",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedScalar("dragCoeff", dimensionSet(1, -3, -1, 0, 0), 0)
|
||||||
|
);
|
||||||
|
|
||||||
|
volVectorField liftForce
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"liftForce",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedVector("liftForce", dimensionSet(1, -2, -2, 0, 0), vector::zero)
|
||||||
|
);
|
||||||
|
|
||||||
|
volScalarField heatTransferCoeff
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"heatTransferCoeff",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedScalar("heatTransferCoeff", dimensionSet(1, -1, -3, -1, 0), 0)
|
||||||
|
);
|
||||||
|
|
||||||
|
{
|
||||||
|
volVectorField Ur = U1 - U2;
|
||||||
|
volScalarField magUr = mag(Ur);
|
||||||
|
|
||||||
|
if (dispersedPhase == "1")
|
||||||
|
{
|
||||||
|
dragCoeff = drag1->K(magUr);
|
||||||
|
heatTransferCoeff = heatTransfer1->K(magUr);
|
||||||
|
}
|
||||||
|
else if (dispersedPhase == "2")
|
||||||
|
{
|
||||||
|
dragCoeff = drag2->K(magUr);
|
||||||
|
heatTransferCoeff = heatTransfer2->K(magUr);
|
||||||
|
}
|
||||||
|
else if (dispersedPhase == "both")
|
||||||
|
{
|
||||||
|
dragCoeff =
|
||||||
|
(
|
||||||
|
alpha2*drag1->K(magUr)
|
||||||
|
+ alpha1*drag2->K(magUr)
|
||||||
|
);
|
||||||
|
|
||||||
|
heatTransferCoeff =
|
||||||
|
(
|
||||||
|
alpha2*heatTransfer1->K(magUr)
|
||||||
|
+ alpha1*heatTransfer2->K(magUr)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FatalErrorIn(args.executable())
|
||||||
|
<< "dispersedPhase: " << dispersedPhase << " is incorrect"
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
|
||||||
|
volScalarField alphaCoeff
|
||||||
|
(
|
||||||
|
(alpha1 + minInterfaceAlpha)*(alpha2 + minInterfaceAlpha)
|
||||||
|
);
|
||||||
|
dragCoeff *= alphaCoeff;
|
||||||
|
heatTransferCoeff *= alphaCoeff;
|
||||||
|
|
||||||
|
liftForce = Cl*(alpha1*rho1 + alpha2*rho2)*(Ur ^ fvc::curl(U));
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
dragModels/dragModel/dragModel.C
|
||||||
|
dragModels/dragModel/newDragModel.C
|
||||||
|
dragModels/Ergun/Ergun.C
|
||||||
|
dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C
|
||||||
|
dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
|
||||||
|
dragModels/SchillerNaumann/SchillerNaumann.C
|
||||||
|
dragModels/Gibilaro/Gibilaro.C
|
||||||
|
dragModels/WenYu/WenYu.C
|
||||||
|
dragModels/SyamlalOBrien/SyamlalOBrien.C
|
||||||
|
dragModels/blended/blended.C
|
||||||
|
|
||||||
|
heatTransferModels/heatTransferModel/heatTransferModel.C
|
||||||
|
heatTransferModels/heatTransferModel/newHeatTransferModel.C
|
||||||
|
heatTransferModels/RanzMarshall/RanzMarshall.C
|
||||||
|
|
||||||
|
LIB = $(FOAM_LIBBIN)/libcompressibleMultiphaseEulerianInterfacialModels
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
EXE_INC = \
|
||||||
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
|
-I../phaseModel/lnInclude
|
||||||
|
|
||||||
|
LIB_LIBS = \
|
||||||
|
-lphaseModel
|
||||||
@ -0,0 +1,82 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "Ergun.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(Ergun, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
dragModel,
|
||||||
|
Ergun,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::Ergun::Ergun
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
dragModel(interfaceDict, phase1, phase2)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::Ergun::~Ergun()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField> Foam::dragModels::Ergun::K
|
||||||
|
(
|
||||||
|
const volScalarField& Ur
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
volScalarField beta(max(phase2_, scalar(1.0e-6)));
|
||||||
|
|
||||||
|
return
|
||||||
|
150.0*phase1_*phase2_.nu()*phase2_.rho()
|
||||||
|
/sqr(beta*phase1_.d())
|
||||||
|
+ 1.75*phase2_.rho()*Ur/(beta*phase1_.d());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,95 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModels::Ergun
|
||||||
|
|
||||||
|
Description
|
||||||
|
H, Enwald, E. Peirano, A-E Almstedt
|
||||||
|
'Eulerian Two-Phase Flow Theory Applied to Fluidization'
|
||||||
|
Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996)
|
||||||
|
Eq. 104, p. 42
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
Ergun.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef Ergun_H
|
||||||
|
#define Ergun_H
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class Ergun Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class Ergun
|
||||||
|
:
|
||||||
|
public dragModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("Ergun");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
Ergun
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~Ergun();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> K(const volScalarField& Ur) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace dragModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,81 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "Gibilaro.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(Gibilaro, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
dragModel,
|
||||||
|
Gibilaro,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::Gibilaro::Gibilaro
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
dragModel(interfaceDict, phase1, phase2)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::Gibilaro::~Gibilaro()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField> Foam::dragModels::Gibilaro::K
|
||||||
|
(
|
||||||
|
const volScalarField& Ur
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
volScalarField beta(max(phase2_, scalar(1.0e-6)));
|
||||||
|
volScalarField bp(pow(beta, -2.8));
|
||||||
|
volScalarField Re(max(beta*Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
|
||||||
|
|
||||||
|
return (17.3/Re + scalar(0.336))*phase2_.rho()*Ur*bp/phase1_.d();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,95 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModels::Gibilaro
|
||||||
|
|
||||||
|
Description
|
||||||
|
H, Enwald, E. Peirano, A-E Almstedt
|
||||||
|
'Eulerian Two-Phase Flow Theory Applied to Fluidization'
|
||||||
|
Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996)
|
||||||
|
Eq. 106, p. 43
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
Gibilaro.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef Gibilaro_H
|
||||||
|
#define Gibilaro_H
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class Gibilaro Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class Gibilaro
|
||||||
|
:
|
||||||
|
public dragModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("Gibilaro");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
Gibilaro
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~Gibilaro();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> K(const volScalarField& Ur) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace dragModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,109 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "GidaspowErgunWenYu.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(GidaspowErgunWenYu, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
dragModel,
|
||||||
|
GidaspowErgunWenYu,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
dragModel(interfaceDict, phase1, phase2)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::GidaspowErgunWenYu::~GidaspowErgunWenYu()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField> Foam::dragModels::GidaspowErgunWenYu::K
|
||||||
|
(
|
||||||
|
const volScalarField& Ur
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
volScalarField beta(max(phase2_, scalar(1.0e-6)));
|
||||||
|
volScalarField d = phase1_.d();
|
||||||
|
volScalarField bp(pow(beta, -2.65));
|
||||||
|
volScalarField Re(max(Ur*d/phase2_.nu(), scalar(1.0e-3)));
|
||||||
|
|
||||||
|
volScalarField Cds(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re);
|
||||||
|
|
||||||
|
forAll(Re, celli)
|
||||||
|
{
|
||||||
|
if (Re[celli] > 1000.0)
|
||||||
|
{
|
||||||
|
Cds[celli] = 0.44;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wen and Yu (1966)
|
||||||
|
tmp<volScalarField> tKWenYu = 0.75*Cds*phase2_.rho()*Ur*bp/d;
|
||||||
|
volScalarField& KWenYu = tKWenYu();
|
||||||
|
|
||||||
|
// Ergun
|
||||||
|
forAll (beta, cellj)
|
||||||
|
{
|
||||||
|
if (beta[cellj] <= 0.8)
|
||||||
|
{
|
||||||
|
KWenYu[cellj] =
|
||||||
|
150.0*phase1_[cellj]*phase2_.nu().value()*phase2_.rho().value()
|
||||||
|
/sqr(beta[cellj]*d[cellj])
|
||||||
|
+ 1.75*phase2_.rho().value()*Ur[cellj]
|
||||||
|
/(beta[cellj]*d[cellj]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return tKWenYu;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,93 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModels::GidaspowErgunWenYu
|
||||||
|
|
||||||
|
Description
|
||||||
|
D. Gidaspow, Multiphase flow and fluidization,
|
||||||
|
Academic Press, New York, 1994.
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
GidaspowErgunWenYu.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef GidaspowErgunWenYu_H
|
||||||
|
#define GidaspowErgunWenYu_H
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class GidaspowErgunWenYu Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class GidaspowErgunWenYu
|
||||||
|
:
|
||||||
|
public dragModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("GidaspowErgunWenYu");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
GidaspowErgunWenYu
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~GidaspowErgunWenYu();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> K(const volScalarField& Ur) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace dragModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "GidaspowSchillerNaumann.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(GidaspowSchillerNaumann, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
dragModel,
|
||||||
|
GidaspowSchillerNaumann,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::GidaspowSchillerNaumann::GidaspowSchillerNaumann
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
dragModel(interfaceDict, phase1, phase2)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::GidaspowSchillerNaumann::~GidaspowSchillerNaumann()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField> Foam::dragModels::GidaspowSchillerNaumann::K
|
||||||
|
(
|
||||||
|
const volScalarField& Ur
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
volScalarField beta(max(phase2_, scalar(1e-6)));
|
||||||
|
volScalarField bp(pow(beta, -2.65));
|
||||||
|
|
||||||
|
volScalarField Re(max(beta*Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
|
||||||
|
volScalarField Cds(24.0*(scalar(1) + 0.15*pow(Re, 0.687))/Re);
|
||||||
|
|
||||||
|
forAll(Re, celli)
|
||||||
|
{
|
||||||
|
if (Re[celli] > 1000.0)
|
||||||
|
{
|
||||||
|
Cds[celli] = 0.44;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0.75*Cds*phase2_.rho()*Ur*bp/phase1_.d();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,102 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModels::GidaspowSchillerNaumann
|
||||||
|
|
||||||
|
Description
|
||||||
|
H, Enwald, E. Peirano, A-E Almstedt
|
||||||
|
'Eulerian Two-Phase Flow Theory Applied to Fluidization'
|
||||||
|
Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996)
|
||||||
|
Eq. 86-87, p. 40
|
||||||
|
|
||||||
|
This is identical to the Wen and Yu, Rowe model Table 3.6 p.56 in
|
||||||
|
the Ph.D. thesis of Berend van Wachem
|
||||||
|
'Derivation, Implementation and Validation
|
||||||
|
of
|
||||||
|
Computer Simulation Models
|
||||||
|
for Gas-Solid Fluidized Beds'
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
GidaspowSchillerNaumann.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef GidaspowSchillerNaumann_H
|
||||||
|
#define GidaspowSchillerNaumann_H
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class GidaspowSchillerNaumann Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class GidaspowSchillerNaumann
|
||||||
|
:
|
||||||
|
public dragModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("GidaspowSchillerNaumann");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
GidaspowSchillerNaumann
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~GidaspowSchillerNaumann();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> K(const volScalarField& Ur) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace dragModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,88 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "SchillerNaumann.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(SchillerNaumann, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
dragModel,
|
||||||
|
SchillerNaumann,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::SchillerNaumann::SchillerNaumann
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
dragModel(interfaceDict, phase1, phase2)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::SchillerNaumann::~SchillerNaumann()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField> Foam::dragModels::SchillerNaumann::K
|
||||||
|
(
|
||||||
|
const volScalarField& Ur
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
|
||||||
|
volScalarField Cds(24.0*(scalar(1) + 0.15*pow(Re, 0.687))/Re);
|
||||||
|
|
||||||
|
forAll(Re, celli)
|
||||||
|
{
|
||||||
|
if (Re[celli] > 1000.0)
|
||||||
|
{
|
||||||
|
Cds[celli] = 0.44;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0.75*Cds*phase2_.rho()*Ur/phase1_.d();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModels::SchillerNaumann
|
||||||
|
|
||||||
|
Description
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
SchillerNaumann.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef SchillerNaumann_H
|
||||||
|
#define SchillerNaumann_H
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class SchillerNaumann Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class SchillerNaumann
|
||||||
|
:
|
||||||
|
public dragModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("SchillerNaumann");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
SchillerNaumann
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~SchillerNaumann();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> K(const volScalarField& Ur) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace dragModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,101 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "SyamlalOBrien.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(SyamlalOBrien, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
dragModel,
|
||||||
|
SyamlalOBrien,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::SyamlalOBrien::SyamlalOBrien
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
dragModel(interfaceDict, phase1, phase2)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::SyamlalOBrien::~SyamlalOBrien()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::K
|
||||||
|
(
|
||||||
|
const volScalarField& Ur
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
volScalarField beta(max(phase2_, scalar(1.0e-6)));
|
||||||
|
volScalarField A(pow(beta, 4.14));
|
||||||
|
volScalarField B(0.8*pow(beta, 1.28));
|
||||||
|
|
||||||
|
forAll (beta, celli)
|
||||||
|
{
|
||||||
|
if (beta[celli] > 0.85)
|
||||||
|
{
|
||||||
|
B[celli] = pow(beta[celli], 2.65);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
|
||||||
|
|
||||||
|
volScalarField Vr
|
||||||
|
(
|
||||||
|
0.5*
|
||||||
|
(
|
||||||
|
A - 0.06*Re + sqrt(sqr(0.06*Re) + 0.12*Re*(2.0*B - A) + sqr(A))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
volScalarField Cds(sqr(0.63 + 4.8*sqrt(Vr/Re)));
|
||||||
|
|
||||||
|
return 0.75*Cds*phase2_.rho()*Ur/(phase1_.d()*sqr(Vr));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,94 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModels::SyamlalOBrien
|
||||||
|
|
||||||
|
Description
|
||||||
|
Syamlal, M., Rogers, W. and O'Brien, T. J. (1993) MFIX documentation,
|
||||||
|
Theory Guide. Technical Note DOE/METC-94/1004. Morgantown, West Virginia,
|
||||||
|
USA.
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
SyamlalOBrien.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef SyamlalOBrien_H
|
||||||
|
#define SyamlalOBrien_H
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class SyamlalOBrien Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class SyamlalOBrien
|
||||||
|
:
|
||||||
|
public dragModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("SyamlalOBrien");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
SyamlalOBrien
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~SyamlalOBrien();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> K(const volScalarField& Ur) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace dragModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "WenYu.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(WenYu, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
dragModel,
|
||||||
|
WenYu,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::WenYu::WenYu
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
dragModel(interfaceDict, phase1, phase2)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::WenYu::~WenYu()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField> Foam::dragModels::WenYu::K
|
||||||
|
(
|
||||||
|
const volScalarField& Ur
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
volScalarField beta(max(phase2_, scalar(1.0e-6)));
|
||||||
|
volScalarField bp(pow(beta, -2.65));
|
||||||
|
|
||||||
|
volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3)));
|
||||||
|
volScalarField Cds(24.0*(scalar(1) + 0.15*pow(Re, 0.687))/Re);
|
||||||
|
|
||||||
|
forAll(Re, celli)
|
||||||
|
{
|
||||||
|
if (Re[celli] > 1000.0)
|
||||||
|
{
|
||||||
|
Cds[celli] = 0.44;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0.75*Cds*phase2_.rho()*Ur*bp/phase1_.d();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,105 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModels::WenYu
|
||||||
|
|
||||||
|
Description
|
||||||
|
H, Enwald, E. Peirano, A-E Almstedt
|
||||||
|
'Eulerian Two-Phase Flow Theory Applied to Fluidization'
|
||||||
|
Int. J. Multiphase Flow, Vol. 22, Suppl, pp. 21-66 (1996)
|
||||||
|
Eq. 86-87, p. 40
|
||||||
|
|
||||||
|
This is identical to the Wen and Yu, Rowe model Table 3.6 p.56 in
|
||||||
|
the Ph.D. thesis of Berend van Wachem
|
||||||
|
'Derivation, Implementation and Validation
|
||||||
|
of
|
||||||
|
Computer Simulation Models
|
||||||
|
for Gas-Solid Fluidized Beds'
|
||||||
|
|
||||||
|
NB: The difference between the Gidaspow-version is the void-fraction
|
||||||
|
in the Re-number
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
WenYu.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef WenYu_H
|
||||||
|
#define WenYu_H
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class WenYu Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class WenYu
|
||||||
|
:
|
||||||
|
public dragModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("WenYu");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
WenYu
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~WenYu();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> K(const volScalarField& Ur) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace dragModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,79 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "blended.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(blended, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
dragModel,
|
||||||
|
blended,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::blended::blended
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
dragModel(interfaceDict, phase1, phase2),
|
||||||
|
dragModel1_(New(interfaceDict.subDict(phase1.name()), phase1, phase2)),
|
||||||
|
dragModel2_(New(interfaceDict.subDict(phase2.name()), phase2, phase1))
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::blended::~blended()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField> Foam::dragModels::blended::K
|
||||||
|
(
|
||||||
|
const volScalarField& Ur
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
return phase2()*dragModel1_->K(Ur) + phase1()*dragModel2_->K(Ur);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,99 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModels::blended
|
||||||
|
|
||||||
|
Description
|
||||||
|
Blends two drag models based on the phase fractions to handle
|
||||||
|
phase-inversion.
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
blended.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef blended_H
|
||||||
|
#define blended_H
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class blended Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class blended
|
||||||
|
:
|
||||||
|
public dragModel
|
||||||
|
{
|
||||||
|
// Private data
|
||||||
|
|
||||||
|
// The two drag models to be blended
|
||||||
|
autoPtr<dragModel> dragModel1_;
|
||||||
|
autoPtr<dragModel> dragModel2_;
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("blended");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
blended
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~blended();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> K(const volScalarField& Ur) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace dragModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(dragModel, 0);
|
||||||
|
defineRunTimeSelectionTable(dragModel, dictionary);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModel::dragModel
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
interfaceDict_(interfaceDict),
|
||||||
|
phase1_(phase1),
|
||||||
|
phase2_(phase2),
|
||||||
|
residualDrag_
|
||||||
|
(
|
||||||
|
"residualDrag",
|
||||||
|
dimensionSet(1, -3, -1, 0, 0),
|
||||||
|
interfaceDict.lookup("residualDrag")
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModel::~dragModel()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,145 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModel
|
||||||
|
|
||||||
|
Description
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
dragModel.C
|
||||||
|
newDragModel.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef dragModel_H
|
||||||
|
#define dragModel_H
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#include "dictionary.H"
|
||||||
|
#include "phaseModel.H"
|
||||||
|
#include "runTimeSelectionTables.H"
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class dragModel Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class dragModel
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Protected data
|
||||||
|
|
||||||
|
const dictionary& interfaceDict_;
|
||||||
|
const phaseModel& phase1_;
|
||||||
|
const phaseModel& phase2_;
|
||||||
|
dimensionedScalar residualDrag_;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("dragModel");
|
||||||
|
|
||||||
|
|
||||||
|
// Declare runtime construction
|
||||||
|
|
||||||
|
declareRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
autoPtr,
|
||||||
|
dragModel,
|
||||||
|
dictionary,
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
),
|
||||||
|
(interfaceDict, phase1, phase2)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
dragModel
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~dragModel();
|
||||||
|
|
||||||
|
|
||||||
|
// Selectors
|
||||||
|
|
||||||
|
static autoPtr<dragModel> New
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
const phaseModel& phase1() const
|
||||||
|
{
|
||||||
|
return phase1_;
|
||||||
|
}
|
||||||
|
|
||||||
|
const phaseModel& phase2() const
|
||||||
|
{
|
||||||
|
return phase2_;
|
||||||
|
}
|
||||||
|
|
||||||
|
const dimensionedScalar& residualDrag() const
|
||||||
|
{
|
||||||
|
return residualDrag_;
|
||||||
|
}
|
||||||
|
|
||||||
|
//- the dragfunction K used in the momentum eq.
|
||||||
|
// ddt(alpha*rhoa*Ua) + ... = ... alpha*beta*K*(Ua-Ub)
|
||||||
|
// ddt(beta*rhob*Ub) + ... = ... alpha*beta*K*(Ub-Ua)
|
||||||
|
// **********************************<2A>NB ! *****************************
|
||||||
|
// for numerical reasons alpha and beta has been
|
||||||
|
// extracted from the dragFunction K,
|
||||||
|
// so you MUST divide K by alpha*beta when implemnting the drag function
|
||||||
|
// **********************************<2A>NB ! *****************************
|
||||||
|
virtual tmp<volScalarField> K(const volScalarField& Ur) const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::autoPtr<Foam::dragModel> Foam::dragModel::New
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
{
|
||||||
|
word dragModelType(interfaceDict.lookup("type"));
|
||||||
|
|
||||||
|
Info << "Selecting dragModel for phase "
|
||||||
|
<< phase1.name()
|
||||||
|
<< ": "
|
||||||
|
<< dragModelType << endl;
|
||||||
|
|
||||||
|
dictionaryConstructorTable::iterator cstrIter =
|
||||||
|
dictionaryConstructorTablePtr_->find(dragModelType);
|
||||||
|
|
||||||
|
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
||||||
|
{
|
||||||
|
FatalErrorIn("dragModel::New")
|
||||||
|
<< "Unknown dragModelType type "
|
||||||
|
<< dragModelType << endl << endl
|
||||||
|
<< "Valid dragModel types are : " << endl
|
||||||
|
<< dictionaryConstructorTablePtr_->sortedToc()
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
|
||||||
|
return cstrIter()(interfaceDict, phase1, phase2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,83 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "RanzMarshall.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace heatTransferModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(RanzMarshall, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
heatTransferModel,
|
||||||
|
RanzMarshall,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::heatTransferModels::RanzMarshall::RanzMarshall
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
heatTransferModel(interfaceDict, alpha, phase1, phase2)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::heatTransferModels::RanzMarshall::~RanzMarshall()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField> Foam::heatTransferModels::RanzMarshall::K
|
||||||
|
(
|
||||||
|
const volScalarField& Ur
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
volScalarField Re = max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3));
|
||||||
|
dimensionedScalar Prb =
|
||||||
|
phase2_.rho()*phase2_.nu()*phase2_.Cp()/phase2_.kappa();
|
||||||
|
volScalarField Nu = scalar(2) + 0.6*sqrt(Re)*cbrt(Prb);
|
||||||
|
|
||||||
|
return 6.0*phase2_.kappa()*Nu/sqr(phase1_.d());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,92 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::heatTransferModels::RanzMarshall
|
||||||
|
|
||||||
|
Description
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
RanzMarshall.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef RanzMarshall_H
|
||||||
|
#define RanzMarshall_H
|
||||||
|
|
||||||
|
#include "heatTransferModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace heatTransferModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class RanzMarshall Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class RanzMarshall
|
||||||
|
:
|
||||||
|
public heatTransferModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("RanzMarshall");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
RanzMarshall
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~RanzMarshall();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> K(const volScalarField& Ur) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace heatTransferModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "heatTransferModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(heatTransferModel, 0);
|
||||||
|
defineRunTimeSelectionTable(heatTransferModel, dictionary);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::heatTransferModel::heatTransferModel
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
:
|
||||||
|
interfaceDict_(interfaceDict),
|
||||||
|
alpha_(alpha),
|
||||||
|
phase1_(phase1),
|
||||||
|
phase2_(phase2)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::heatTransferModel::~heatTransferModel()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,135 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::heatTransferModel
|
||||||
|
|
||||||
|
Description
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
heatTransferModel.C
|
||||||
|
newHeatTransferModel.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef heatTransferModel_H
|
||||||
|
#define heatTransferModel_H
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#include "dictionary.H"
|
||||||
|
#include "phaseModel.H"
|
||||||
|
#include "runTimeSelectionTables.H"
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class heatTransferModel Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class heatTransferModel
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Protected data
|
||||||
|
|
||||||
|
const dictionary& interfaceDict_;
|
||||||
|
const volScalarField& alpha_;
|
||||||
|
const phaseModel& phase1_;
|
||||||
|
const phaseModel& phase2_;
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("heatTransferModel");
|
||||||
|
|
||||||
|
|
||||||
|
// Declare runtime construction
|
||||||
|
|
||||||
|
declareRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
autoPtr,
|
||||||
|
heatTransferModel,
|
||||||
|
dictionary,
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
),
|
||||||
|
(interfaceDict, alpha, phase1, phase2)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
heatTransferModel
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~heatTransferModel();
|
||||||
|
|
||||||
|
|
||||||
|
// Selectors
|
||||||
|
|
||||||
|
static autoPtr<heatTransferModel> New
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
//- the heat-transfer function K used in the enthalpy eq.
|
||||||
|
// ddt(alpha*rhoa*ha) + ... = ... alpha*beta*K*(Ta - Tb)
|
||||||
|
// ddt(beta*rhob*hb) + ... = ... alpha*beta*K*(Tb - Ta)
|
||||||
|
// **********************************<2A>NB ! *****************************
|
||||||
|
// for numerical reasons alpha and beta has been
|
||||||
|
// extracted from the heat-transfer function K,
|
||||||
|
// so you MUST divide K by alpha*beta when implementing the
|
||||||
|
// heat-transfer function
|
||||||
|
// **********************************<2A>NB ! *****************************
|
||||||
|
virtual tmp<volScalarField> K(const volScalarField& Ur) const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,65 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "heatTransferModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::autoPtr<Foam::heatTransferModel> Foam::heatTransferModel::New
|
||||||
|
(
|
||||||
|
const dictionary& interfaceDict,
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const phaseModel& phase1,
|
||||||
|
const phaseModel& phase2
|
||||||
|
)
|
||||||
|
{
|
||||||
|
word heatTransferModelType
|
||||||
|
(
|
||||||
|
interfaceDict.lookup("heatTransferModel" + phase1.name())
|
||||||
|
);
|
||||||
|
|
||||||
|
Info<< "Selecting heatTransferModel for phase "
|
||||||
|
<< phase1.name()
|
||||||
|
<< ": "
|
||||||
|
<< heatTransferModelType << endl;
|
||||||
|
|
||||||
|
dictionaryConstructorTable::iterator cstrIter =
|
||||||
|
dictionaryConstructorTablePtr_->find(heatTransferModelType);
|
||||||
|
|
||||||
|
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
||||||
|
{
|
||||||
|
FatalErrorIn("heatTransferModel::New")
|
||||||
|
<< "Unknown heatTransferModelType type "
|
||||||
|
<< heatTransferModelType << endl << endl
|
||||||
|
<< "Valid heatTransferModel types are : " << endl
|
||||||
|
<< dictionaryConstructorTablePtr_->sortedToc()
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
|
||||||
|
return cstrIter()(interfaceDict, alpha, phase1, phase2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
kineticTheoryModel/kineticTheoryModel.C
|
||||||
|
|
||||||
|
viscosityModel/viscosityModel/viscosityModel.C
|
||||||
|
viscosityModel/viscosityModel/newViscosityModel.C
|
||||||
|
viscosityModel/Gidaspow/GidaspowViscosity.C
|
||||||
|
viscosityModel/Syamlal/SyamlalViscosity.C
|
||||||
|
viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C
|
||||||
|
viscosityModel/none/noneViscosity.C
|
||||||
|
|
||||||
|
conductivityModel/conductivityModel/conductivityModel.C
|
||||||
|
conductivityModel/conductivityModel/newConductivityModel.C
|
||||||
|
conductivityModel/Gidaspow/GidaspowConductivity.C
|
||||||
|
conductivityModel/Syamlal/SyamlalConductivity.C
|
||||||
|
conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C
|
||||||
|
|
||||||
|
radialModel/radialModel/radialModel.C
|
||||||
|
radialModel/radialModel/newRadialModel.C
|
||||||
|
radialModel/CarnahanStarling/CarnahanStarlingRadial.C
|
||||||
|
radialModel/Gidaspow/GidaspowRadial.C
|
||||||
|
radialModel/LunSavage/LunSavageRadial.C
|
||||||
|
radialModel/SinclairJackson/SinclairJacksonRadial.C
|
||||||
|
|
||||||
|
granularPressureModel/granularPressureModel/granularPressureModel.C
|
||||||
|
granularPressureModel/granularPressureModel/newGranularPressureModel.C
|
||||||
|
granularPressureModel/Lun/LunPressure.C
|
||||||
|
granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C
|
||||||
|
|
||||||
|
frictionalStressModel/frictionalStressModel/frictionalStressModel.C
|
||||||
|
frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C
|
||||||
|
frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C
|
||||||
|
frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C
|
||||||
|
|
||||||
|
LIB = $(FOAM_LIBBIN)/libcompressibleMultiphaseKineticTheoryModel
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
EXE_INC = \
|
||||||
|
-I$(LIB_SRC)/foam/lnInclude \
|
||||||
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
|
-I../phaseModel/lnInclude \
|
||||||
|
-I../interfacialModels/lnInclude
|
||||||
@ -0,0 +1,93 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "GidaspowConductivity.H"
|
||||||
|
#include "mathematicalConstants.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace conductivityModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(Gidaspow, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
conductivityModel,
|
||||||
|
Gidaspow,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::Gidaspow::Gidaspow
|
||||||
|
(
|
||||||
|
const dictionary& dict
|
||||||
|
)
|
||||||
|
:
|
||||||
|
conductivityModel(dict)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::Gidaspow::~Gidaspow()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::Gidaspow::kappa
|
||||||
|
(
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const volScalarField& Theta,
|
||||||
|
const volScalarField& g0,
|
||||||
|
const dimensionedScalar& rhoa,
|
||||||
|
const volScalarField& da,
|
||||||
|
const dimensionedScalar& e
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
||||||
|
|
||||||
|
return rhoa*da*sqrt(Theta)*
|
||||||
|
(
|
||||||
|
2.0*sqr(alpha)*g0*(1.0 + e)/sqrtPi
|
||||||
|
+ (9.0/8.0)*sqrtPi*g0*0.5*(1.0 + e)*sqr(alpha)
|
||||||
|
+ (15.0/16.0)*sqrtPi*alpha
|
||||||
|
+ (25.0/64.0)*sqrtPi/((1.0 + e)*g0)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,97 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::Gidaspow
|
||||||
|
|
||||||
|
Description
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
Gidaspow.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef Gidaspow_H
|
||||||
|
#define Gidaspow_H
|
||||||
|
|
||||||
|
#include "conductivityModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace conductivityModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class Gidaspow Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class Gidaspow
|
||||||
|
:
|
||||||
|
public conductivityModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("Gidaspow");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
Gidaspow(const dictionary& dict);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~Gidaspow();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> kappa
|
||||||
|
(
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const volScalarField& Theta,
|
||||||
|
const volScalarField& g0,
|
||||||
|
const dimensionedScalar& rhoa,
|
||||||
|
const volScalarField& da,
|
||||||
|
const dimensionedScalar& e
|
||||||
|
) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace conductivityModels
|
||||||
|
} // End namespace kineticTheoryModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,104 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "HrenyaSinclairConductivity.H"
|
||||||
|
#include "mathematicalConstants.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace conductivityModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(HrenyaSinclair, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
conductivityModel,
|
||||||
|
HrenyaSinclair,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::HrenyaSinclair
|
||||||
|
(
|
||||||
|
const dictionary& dict
|
||||||
|
)
|
||||||
|
:
|
||||||
|
conductivityModel(dict),
|
||||||
|
coeffsDict_(dict.subDict(typeName + "Coeffs")),
|
||||||
|
L_(coeffsDict_.lookup("L"))
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::
|
||||||
|
~HrenyaSinclair()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::kappa
|
||||||
|
(
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const volScalarField& Theta,
|
||||||
|
const volScalarField& g0,
|
||||||
|
const dimensionedScalar& rhoa,
|
||||||
|
const volScalarField& da,
|
||||||
|
const dimensionedScalar& e
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
||||||
|
|
||||||
|
volScalarField lamda
|
||||||
|
(
|
||||||
|
scalar(1) + da/(6.0*sqrt(2.0)*(alpha + scalar(1.0e-5)))/L_
|
||||||
|
);
|
||||||
|
|
||||||
|
return rhoa*da*sqrt(Theta)*
|
||||||
|
(
|
||||||
|
2.0*sqr(alpha)*g0*(1.0 + e)/sqrtPi
|
||||||
|
+ (9.0/8.0)*sqrtPi*0.25*sqr(1.0 + e)*(2.0*e - 1.0)*sqr(alpha)
|
||||||
|
/(49.0/16.0 - 33.0*e/16.0)
|
||||||
|
+ (15.0/16.0)*sqrtPi*alpha*(0.5*sqr(e) + 0.25*e - 0.75 + lamda)
|
||||||
|
/((49.0/16.0 - 33.0*e/16.0)*lamda)
|
||||||
|
+ (25.0/64.0)*sqrtPi
|
||||||
|
/((1.0 + e)*(49.0/16.0 - 33.0*e/16.0)*lamda*g0)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,102 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair
|
||||||
|
|
||||||
|
Description
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
HrenyaSinclair.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef HrenyaSinclair_H
|
||||||
|
#define HrenyaSinclair_H
|
||||||
|
|
||||||
|
#include "conductivityModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace conductivityModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class HrenyaSinclair Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class HrenyaSinclair
|
||||||
|
:
|
||||||
|
public conductivityModel
|
||||||
|
{
|
||||||
|
|
||||||
|
dictionary coeffsDict_;
|
||||||
|
|
||||||
|
//- characteristic length of geometry
|
||||||
|
dimensionedScalar L_;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("HrenyaSinclair");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
HrenyaSinclair(const dictionary& dict);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~HrenyaSinclair();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> kappa
|
||||||
|
(
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const volScalarField& Theta,
|
||||||
|
const volScalarField& g0,
|
||||||
|
const dimensionedScalar& rhoa,
|
||||||
|
const volScalarField& da,
|
||||||
|
const dimensionedScalar& e
|
||||||
|
) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace conductivityModels
|
||||||
|
} // End namespace kineticTheoryModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,93 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "SyamlalConductivity.H"
|
||||||
|
#include "mathematicalConstants.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace conductivityModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(Syamlal, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
conductivityModel,
|
||||||
|
Syamlal,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::Syamlal::Syamlal
|
||||||
|
(
|
||||||
|
const dictionary& dict
|
||||||
|
)
|
||||||
|
:
|
||||||
|
conductivityModel(dict)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::Syamlal::~Syamlal()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::Syamlal::kappa
|
||||||
|
(
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const volScalarField& Theta,
|
||||||
|
const volScalarField& g0,
|
||||||
|
const dimensionedScalar& rhoa,
|
||||||
|
const volScalarField& da,
|
||||||
|
const dimensionedScalar& e
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
||||||
|
|
||||||
|
return rhoa*da*sqrt(Theta)*
|
||||||
|
(
|
||||||
|
2.0*sqr(alpha)*g0*(1.0 + e)/sqrtPi
|
||||||
|
+ (9.0/8.0)*sqrtPi*g0*0.25*sqr(1.0 + e)*(2.0*e - 1.0)*sqr(alpha)
|
||||||
|
/(49.0/16.0 - 33.0*e/16.0)
|
||||||
|
+ (15.0/32.0)*sqrtPi*alpha/(49.0/16.0 - 33.0*e/16.0)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,97 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::kineticTheoryModels::conductivityModels::Syamlal
|
||||||
|
|
||||||
|
Description
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
Syamlal.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef Syamlal_H
|
||||||
|
#define Syamlal_H
|
||||||
|
|
||||||
|
#include "conductivityModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace conductivityModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class Syamlal Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class Syamlal
|
||||||
|
:
|
||||||
|
public conductivityModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("Syamlal");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
Syamlal(const dictionary& dict);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~Syamlal();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
tmp<volScalarField> kappa
|
||||||
|
(
|
||||||
|
const volScalarField& alpha,
|
||||||
|
const volScalarField& Theta,
|
||||||
|
const volScalarField& g0,
|
||||||
|
const dimensionedScalar& rhoa,
|
||||||
|
const volScalarField& da,
|
||||||
|
const dimensionedScalar& e
|
||||||
|
) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace conductivityModels
|
||||||
|
} // End namespace kineticTheoryModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user