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
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
EXE_INC = \
|
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}/sampling/lnInclude \
|
||||||
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||||
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
||||||
@ -20,12 +21,14 @@ 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)/combustionModels/lnInclude \
|
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/fieldSources/lnInclude \
|
||||||
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
||||||
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
|
-lsampling \
|
||||||
-lcompressibleTurbulenceModel \
|
-lcompressibleTurbulenceModel \
|
||||||
-lcompressibleRASModels \
|
-lcompressibleRASModels \
|
||||||
-lcompressibleLESModels \
|
-lcompressibleLESModels \
|
||||||
@ -45,4 +48,5 @@ EXE_LIBS = \
|
|||||||
-lODE \
|
-lODE \
|
||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
|
-lfieldSources \
|
||||||
-lcombustionModels
|
-lcombustionModels
|
||||||
|
|||||||
@ -10,8 +10,10 @@
|
|||||||
|
|
||||||
UEqn.relax();
|
UEqn.relax();
|
||||||
|
|
||||||
|
sources.constrain(UEqn);
|
||||||
|
|
||||||
if (pimple.momentumPredictor())
|
if (pimple.momentumPredictor())
|
||||||
{
|
{
|
||||||
solve(UEqn == -fvc::grad(p));
|
solve(UEqn == -fvc::grad(p) + sources(rho, U));
|
||||||
K = 0.5*magSqr(U);
|
K = 0.5*magSqr(U);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,7 +5,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
|||||||
mesh,
|
mesh,
|
||||||
fields,
|
fields,
|
||||||
phi,
|
phi,
|
||||||
mesh.divScheme("div(phi,Yi_h)")
|
mesh.divScheme("div(phi,Yi_hs)")
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -30,9 +30,13 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
|||||||
==
|
==
|
||||||
parcels.SYi(i, Yi)
|
parcels.SYi(i, Yi)
|
||||||
+ combustion->R(Yi)
|
+ combustion->R(Yi)
|
||||||
|
+ sources(rho, Yi)
|
||||||
);
|
);
|
||||||
|
|
||||||
YiEqn.relax();
|
YiEqn.relax();
|
||||||
|
|
||||||
|
sources.constrain(YiEqn);
|
||||||
|
|
||||||
YiEqn.solve(mesh.solver("Yi"));
|
YiEqn.solve(mesh.solver("Yi"));
|
||||||
|
|
||||||
Yi.max(0.0);
|
Yi.max(0.0);
|
||||||
|
|||||||
@ -97,3 +97,6 @@
|
|||||||
mesh,
|
mesh,
|
||||||
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
|
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Info<< "Creating sources\n" << endl;
|
||||||
|
IObasicSourceList sources(mesh);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
fvScalarMatrix hEqn
|
fvScalarMatrix hsEqn
|
||||||
(
|
(
|
||||||
fvm::ddt(rho, hs)
|
fvm::ddt(rho, hs)
|
||||||
+ mvConvection->fvmDiv(phi, hs)
|
+ mvConvection->fvmDiv(phi, hs)
|
||||||
@ -10,11 +10,14 @@
|
|||||||
+ parcels.Sh(hs)
|
+ parcels.Sh(hs)
|
||||||
+ radiation->Sh(thermo)
|
+ radiation->Sh(thermo)
|
||||||
+ combustion->Sh()
|
+ combustion->Sh()
|
||||||
|
+ sources(rho, hs)
|
||||||
);
|
);
|
||||||
|
|
||||||
hEqn.relax();
|
hsEqn.relax();
|
||||||
|
|
||||||
hEqn.solve();
|
sources.constrain(hsEqn);
|
||||||
|
|
||||||
|
hsEqn.solve();
|
||||||
|
|
||||||
thermo.correct();
|
thermo.correct();
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ rho = thermo.rho();
|
|||||||
|
|
||||||
volScalarField rAU(1.0/UEqn.A());
|
volScalarField rAU(1.0/UEqn.A());
|
||||||
volVectorField HbyA("HbyA", U);
|
volVectorField HbyA("HbyA", U);
|
||||||
HbyA = rAU*UEqn.H();
|
HbyA = rAU*(UEqn == sources(rho, U))().H();
|
||||||
|
|
||||||
if (pimple.transonic())
|
if (pimple.transonic())
|
||||||
{
|
{
|
||||||
@ -25,6 +25,7 @@ if (pimple.transonic())
|
|||||||
- fvm::laplacian(rho*rAU, p)
|
- fvm::laplacian(rho*rAU, p)
|
||||||
==
|
==
|
||||||
parcels.Srho()
|
parcels.Srho()
|
||||||
|
+ sources(psi, p, rho.name())
|
||||||
);
|
);
|
||||||
|
|
||||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||||
@ -56,6 +57,7 @@ else
|
|||||||
- fvm::laplacian(rho*rAU, p)
|
- fvm::laplacian(rho*rAU, p)
|
||||||
==
|
==
|
||||||
parcels.Srho()
|
parcels.Srho()
|
||||||
|
+ sources(psi, p, rho.name())
|
||||||
);
|
);
|
||||||
|
|
||||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||||
@ -72,6 +74,7 @@ else
|
|||||||
|
|
||||||
U = HbyA - rAU*fvc::grad(p);
|
U = HbyA - rAU*fvc::grad(p);
|
||||||
U.correctBoundaryConditions();
|
U.correctBoundaryConditions();
|
||||||
|
sources.correct(U);
|
||||||
K = 0.5*magSqr(U);
|
K = 0.5*magSqr(U);
|
||||||
|
|
||||||
dpdt = fvc::ddt(p);
|
dpdt = fvc::ddt(p);
|
||||||
|
|||||||
@ -37,6 +37,7 @@ Description
|
|||||||
#include "radiationModel.H"
|
#include "radiationModel.H"
|
||||||
#include "SLGThermo.H"
|
#include "SLGThermo.H"
|
||||||
#include "pimpleControl.H"
|
#include "pimpleControl.H"
|
||||||
|
#include "IObasicSourceList.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -30,13 +30,18 @@ Description
|
|||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
{
|
{
|
||||||
solve
|
fvScalarMatrix rhoEqn
|
||||||
(
|
(
|
||||||
fvm::ddt(rho)
|
fvm::ddt(rho)
|
||||||
+ fvc::div(phi)
|
+ fvc::div(phi)
|
||||||
==
|
==
|
||||||
parcels.Srho(rho)
|
parcels.Srho(rho)
|
||||||
|
+ sources(rho)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
sources.constrain(rhoEqn);
|
||||||
|
|
||||||
|
rhoEqn.solve();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -2,6 +2,7 @@ EXE_INC = \
|
|||||||
-I$(FOAM_SOLVERS)/lagrangian/reactingParcelFoam \
|
-I$(FOAM_SOLVERS)/lagrangian/reactingParcelFoam \
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
-I${LIB_SRC}/meshTools/lnInclude \
|
-I${LIB_SRC}/meshTools/lnInclude \
|
||||||
|
-I${LIB_SRC}/sampling/lnInclude \
|
||||||
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||||
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
||||||
@ -21,12 +22,14 @@ 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)/fieldSources/lnInclude \
|
||||||
-I$(LIB_SRC)/combustionModels/lnInclude
|
-I$(LIB_SRC)/combustionModels/lnInclude
|
||||||
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
|
-lsampling \
|
||||||
-lcompressibleTurbulenceModel \
|
-lcompressibleTurbulenceModel \
|
||||||
-lcompressibleRASModels \
|
-lcompressibleRASModels \
|
||||||
-lcompressibleLESModels \
|
-lcompressibleLESModels \
|
||||||
@ -47,4 +50,5 @@ EXE_LIBS = \
|
|||||||
-lODE \
|
-lODE \
|
||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
|
-lfieldSources \
|
||||||
-lcombustionModels
|
-lcombustionModels
|
||||||
|
|||||||
@ -3,6 +3,7 @@ EXE_INC = \
|
|||||||
-I$(FOAM_SOLVERS)/lagrangian/reactingParcelFoam \
|
-I$(FOAM_SOLVERS)/lagrangian/reactingParcelFoam \
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
-I${LIB_SRC}/meshTools/lnInclude \
|
-I${LIB_SRC}/meshTools/lnInclude \
|
||||||
|
-I${LIB_SRC}/sampling/lnInclude \
|
||||||
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||||
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
||||||
@ -23,12 +24,14 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/engine/lnInclude \
|
-I$(LIB_SRC)/engine/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)/fieldSources/lnInclude \
|
||||||
-I$(LIB_SRC)/combustionModels/lnInclude
|
-I$(LIB_SRC)/combustionModels/lnInclude
|
||||||
|
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
|
-lsampling \
|
||||||
-lcompressibleTurbulenceModel \
|
-lcompressibleTurbulenceModel \
|
||||||
-lcompressibleRASModels \
|
-lcompressibleRASModels \
|
||||||
-lcompressibleLESModels \
|
-lcompressibleLESModels \
|
||||||
@ -50,4 +53,5 @@ EXE_LIBS = \
|
|||||||
-lengine \
|
-lengine \
|
||||||
-lregionModels \
|
-lregionModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
|
-lfieldSources \
|
||||||
-lcombustionModels
|
-lcombustionModels
|
||||||
|
|||||||
@ -2,7 +2,7 @@ rho = thermo.rho();
|
|||||||
|
|
||||||
volScalarField rAU(1.0/UEqn.A());
|
volScalarField rAU(1.0/UEqn.A());
|
||||||
volVectorField HbyA("HbyA", U);
|
volVectorField HbyA("HbyA", U);
|
||||||
HbyA = rAU*UEqn.H();
|
HbyA = rAU*(UEqn == sources(rho, U))().H();
|
||||||
|
|
||||||
if (pimple.transonic())
|
if (pimple.transonic())
|
||||||
{
|
{
|
||||||
@ -25,6 +25,7 @@ if (pimple.transonic())
|
|||||||
- fvm::laplacian(rho*rAU, p)
|
- fvm::laplacian(rho*rAU, p)
|
||||||
==
|
==
|
||||||
parcels.Srho()
|
parcels.Srho()
|
||||||
|
+ sources(psi, p, rho.name())
|
||||||
);
|
);
|
||||||
|
|
||||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||||
@ -56,6 +57,7 @@ else
|
|||||||
- fvm::laplacian(rho*rAU, p)
|
- fvm::laplacian(rho*rAU, p)
|
||||||
==
|
==
|
||||||
parcels.Srho()
|
parcels.Srho()
|
||||||
|
+ sources(psi, p, rho.name())
|
||||||
);
|
);
|
||||||
|
|
||||||
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
|
||||||
@ -72,6 +74,7 @@ else
|
|||||||
|
|
||||||
U = HbyA - rAU*fvc::grad(p);
|
U = HbyA - rAU*fvc::grad(p);
|
||||||
U.correctBoundaryConditions();
|
U.correctBoundaryConditions();
|
||||||
|
sources.correct(U);
|
||||||
K = 0.5*magSqr(U);
|
K = 0.5*magSqr(U);
|
||||||
|
|
||||||
dpdt = fvc::ddt(p);
|
dpdt = fvc::ddt(p);
|
||||||
|
|||||||
@ -39,6 +39,7 @@ Description
|
|||||||
#include "radiationModel.H"
|
#include "radiationModel.H"
|
||||||
#include "SLGThermo.H"
|
#include "SLGThermo.H"
|
||||||
#include "pimpleControl.H"
|
#include "pimpleControl.H"
|
||||||
|
#include "IObasicSourceList.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|||||||
@ -37,6 +37,7 @@ Description
|
|||||||
#include "radiationModel.H"
|
#include "radiationModel.H"
|
||||||
#include "SLGThermo.H"
|
#include "SLGThermo.H"
|
||||||
#include "pimpleControl.H"
|
#include "pimpleControl.H"
|
||||||
|
#include "IObasicSourceList.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|||||||
@ -68,10 +68,11 @@ surfaceScalarField alphaPhi2("alphaPhi2", phi2);
|
|||||||
|
|
||||||
if (g0.value() > 0.0)
|
if (g0.value() > 0.0)
|
||||||
{
|
{
|
||||||
ppMagf = rAU1f*fvc::interpolate
|
ppMagf =
|
||||||
|
fvc::interpolate((1.0/rho1)*rAU1)
|
||||||
|
*fvc::interpolate
|
||||||
(
|
(
|
||||||
(1.0/(rho1*(alpha1 + scalar(0.0001))))
|
g0*min(exp(preAlphaExp*(alpha1 - alphaMax)), expMax)
|
||||||
*g0*min(exp(preAlphaExp*(alpha1 - alphaMax)), expMax)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
alpha1Eqn -= fvm::laplacian
|
alpha1Eqn -= fvm::laplacian
|
||||||
|
|||||||
@ -333,11 +333,11 @@
|
|||||||
drag1
|
drag1
|
||||||
);
|
);
|
||||||
|
|
||||||
surfaceScalarField rAU1f
|
volScalarField rAU1
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
"rAU1f",
|
"rAU1",
|
||||||
runTime.timeName(),
|
runTime.timeName(),
|
||||||
mesh,
|
mesh,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
|
|||||||
@ -16,7 +16,6 @@ conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C
|
|||||||
radialModel/radialModel/radialModel.C
|
radialModel/radialModel/radialModel.C
|
||||||
radialModel/radialModel/newRadialModel.C
|
radialModel/radialModel/newRadialModel.C
|
||||||
radialModel/CarnahanStarling/CarnahanStarlingRadial.C
|
radialModel/CarnahanStarling/CarnahanStarlingRadial.C
|
||||||
radialModel/Gidaspow/GidaspowRadial.C
|
|
||||||
radialModel/LunSavage/LunSavageRadial.C
|
radialModel/LunSavage/LunSavageRadial.C
|
||||||
radialModel/SinclairJackson/SinclairJacksonRadial.C
|
radialModel/SinclairJackson/SinclairJacksonRadial.C
|
||||||
|
|
||||||
|
|||||||
@ -69,30 +69,29 @@ Foam::kineticTheoryModels::radialModels::CarnahanStarling::~CarnahanStarling()
|
|||||||
Foam::tmp<Foam::volScalarField>
|
Foam::tmp<Foam::volScalarField>
|
||||||
Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0
|
Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
|
|
||||||
return
|
return
|
||||||
1.0/(1.0 - alpha1)
|
1.0/(1.0 - alpha)
|
||||||
+ 3.0*alpha1/(2.0*sqr(1.0 - alpha1))
|
+ 3.0*alpha/(2.0*sqr(1.0 - alpha))
|
||||||
+ sqr(alpha1)/(2.0*pow(1.0 - alpha1, 3));
|
+ sqr(alpha)/(2.0*pow(1.0 - alpha, 3));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
Foam::tmp<Foam::volScalarField>
|
||||||
Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0prime
|
Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
- alpha1/sqr(1.0 - alpha1)
|
2.5/sqr(1.0 - alpha)
|
||||||
+ (3.0*(1.0 - alpha1) + 6.0*sqr(alpha1))/(2.0*(1.0 - alpha1))
|
+ 4.0*alpha/pow(1.0 - alpha, 3.0)
|
||||||
+ (2.0*alpha1*(1.0 - alpha1) + 3.0*pow(alpha1, 3))
|
+ 1.5*sqr(alpha)/pow(1.0 - alpha, 4.0);
|
||||||
/(2.0*pow(1.0 - alpha1, 4));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -75,13 +75,13 @@ public:
|
|||||||
|
|
||||||
tmp<volScalarField> g0
|
tmp<volScalarField> g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
tmp<volScalarField> g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,93 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "GidaspowRadial.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(Gidaspow, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
radialModel,
|
|
||||||
Gidaspow,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::Gidaspow::Gidaspow
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
radialModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::Gidaspow::~Gidaspow()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::Gidaspow::g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return 0.6/(1.0 - pow(alpha1/alphaMax, 1.0/3.0));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::Gidaspow::g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
(-1.0/5.0)*pow(alpha1/alphaMax, -2.0/3.0)
|
|
||||||
/(alphaMax*sqr(1.0 - pow(alpha1/alphaMax, 1.0/3.0)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,99 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::radialModels::Gidaspow
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
GidaspowRadial.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef Gidaspow_H
|
|
||||||
#define Gidaspow_H
|
|
||||||
|
|
||||||
#include "radialModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class Gidaspow Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class Gidaspow
|
|
||||||
:
|
|
||||||
public radialModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("Gidaspow");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
Gidaspow(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~Gidaspow();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
tmp<volScalarField> g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace radialModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -69,23 +69,23 @@ Foam::kineticTheoryModels::radialModels::LunSavage::~LunSavage()
|
|||||||
Foam::tmp<Foam::volScalarField>
|
Foam::tmp<Foam::volScalarField>
|
||||||
Foam::kineticTheoryModels::radialModels::LunSavage::g0
|
Foam::kineticTheoryModels::radialModels::LunSavage::g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
|
|
||||||
return pow(1.0 - alpha1/alphaMax, -2.5*alphaMax);
|
return pow(1.0 - alpha/alphaMax, -2.5*alphaMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
Foam::tmp<Foam::volScalarField>
|
||||||
Foam::kineticTheoryModels::radialModels::LunSavage::g0prime
|
Foam::kineticTheoryModels::radialModels::LunSavage::g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return 2.5*alphaMax*alpha1*pow(1.0 - alpha1, -1.0 - 2.5*alphaMax);
|
return 2.5*pow(1.0 - alpha/alphaMax, -1.0 - 2.5*alphaMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -74,13 +74,13 @@ public:
|
|||||||
|
|
||||||
tmp<volScalarField> g0
|
tmp<volScalarField> g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
tmp<volScalarField> g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -69,24 +69,24 @@ Foam::kineticTheoryModels::radialModels::SinclairJackson::~SinclairJackson()
|
|||||||
Foam::tmp<Foam::volScalarField>
|
Foam::tmp<Foam::volScalarField>
|
||||||
Foam::kineticTheoryModels::radialModels::SinclairJackson::g0
|
Foam::kineticTheoryModels::radialModels::SinclairJackson::g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return 1.0/(1.0 - pow(alpha1/alphaMax, 1.0/3.0));
|
return 1.0/(1.0 - pow(alpha/alphaMax, 1.0/3.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
Foam::tmp<Foam::volScalarField>
|
||||||
Foam::kineticTheoryModels::radialModels::SinclairJackson::g0prime
|
Foam::kineticTheoryModels::radialModels::SinclairJackson::g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
(-1.0/3.0)*pow(alpha1/alphaMax, -2.0/3.0)
|
(1.0/3.0)*pow(max(alpha, 1.0e-6)/alphaMax, -2.0/3.0)
|
||||||
/(alphaMax*sqr(1.0 - pow(alpha1/alphaMax, 1.0/3.0)));
|
/(alphaMax*sqr(1.0 - pow(alpha/alphaMax, 1.0/3.0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -74,13 +74,13 @@ public:
|
|||||||
|
|
||||||
tmp<volScalarField> g0
|
tmp<volScalarField> g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
tmp<volScalarField> g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -107,14 +107,14 @@ public:
|
|||||||
//- Radial distribution function
|
//- Radial distribution function
|
||||||
virtual tmp<volScalarField> g0
|
virtual tmp<volScalarField> g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const = 0;
|
) const = 0;
|
||||||
|
|
||||||
//- Derivative of the radial distribution function
|
//- Derivative of the radial distribution function
|
||||||
virtual tmp<volScalarField> g0prime
|
virtual tmp<volScalarField> g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const = 0;
|
) const = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
surfaceScalarField alpha1f(fvc::interpolate(alpha1));
|
surfaceScalarField alpha1f(fvc::interpolate(alpha1));
|
||||||
surfaceScalarField alpha2f(scalar(1) - alpha1f);
|
surfaceScalarField alpha2f(scalar(1) - alpha1f);
|
||||||
|
|
||||||
volScalarField rAU1(1.0/U1Eqn.A());
|
rAU1 = 1.0/U1Eqn.A();
|
||||||
volScalarField rAU2(1.0/U2Eqn.A());
|
volScalarField rAU2(1.0/U2Eqn.A());
|
||||||
|
|
||||||
surfaceScalarField rAlphaAU1f(fvc::interpolate(alpha1*rAU1));
|
surfaceScalarField rAlphaAU1f(fvc::interpolate(alpha1*rAU1));
|
||||||
@ -30,6 +30,19 @@
|
|||||||
+ fvc::interpolate((1.0/rho1)*rAU1*dragCoeff)*phi2
|
+ fvc::interpolate((1.0/rho1)*rAU1*dragCoeff)*phi2
|
||||||
+ rAlphaAU1f*(g & mesh.Sf())
|
+ rAlphaAU1f*(g & mesh.Sf())
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (g0.value() > 0.0)
|
||||||
|
{
|
||||||
|
phiHbyA1 -= ppMagf*fvc::snGrad(alpha1)*mesh.magSf();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (kineticTheory.on())
|
||||||
|
{
|
||||||
|
phiHbyA1 -=
|
||||||
|
fvc::interpolate((1.0/rho1)*rAU1)
|
||||||
|
*fvc::snGrad(kineticTheory.pa())*mesh.magSf();
|
||||||
|
}
|
||||||
|
|
||||||
mrfZones.relativeFlux(phiHbyA1);
|
mrfZones.relativeFlux(phiHbyA1);
|
||||||
|
|
||||||
surfaceScalarField phiHbyA2
|
surfaceScalarField phiHbyA2
|
||||||
|
|||||||
@ -5,7 +5,6 @@ set -x
|
|||||||
wclean libso phaseModel
|
wclean libso phaseModel
|
||||||
wclean libso multiphaseSystem
|
wclean libso multiphaseSystem
|
||||||
wclean libso interfacialModels
|
wclean libso interfacialModels
|
||||||
wclean libso kineticTheoryModels
|
|
||||||
wclean
|
wclean
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
# ----------------------------------------------------------------- end-of-file
|
||||||
|
|||||||
@ -5,7 +5,6 @@ set -x
|
|||||||
wmake libso phaseModel
|
wmake libso phaseModel
|
||||||
wmake libso interfacialModels
|
wmake libso interfacialModels
|
||||||
wmake libso multiphaseSystem
|
wmake libso multiphaseSystem
|
||||||
wmake libso kineticTheoryModels
|
|
||||||
wmake
|
wmake
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
# ----------------------------------------------------------------- end-of-file
|
||||||
|
|||||||
@ -2,7 +2,6 @@ EXE_INC = \
|
|||||||
-IphaseModel/lnInclude \
|
-IphaseModel/lnInclude \
|
||||||
-ImultiphaseSystem/lnInclude \
|
-ImultiphaseSystem/lnInclude \
|
||||||
-ImultiphaseFixedFluxPressure \
|
-ImultiphaseFixedFluxPressure \
|
||||||
/*-IkineticTheoryModels/lnInclude*/ \
|
|
||||||
-IinterfacialModels/lnInclude \
|
-IinterfacialModels/lnInclude \
|
||||||
-I$(LIB_SRC)/transportModels \
|
-I$(LIB_SRC)/transportModels \
|
||||||
-I$(LIB_SRC)/transportModels/incompressible/lnInclude \
|
-I$(LIB_SRC)/transportModels/incompressible/lnInclude \
|
||||||
@ -20,6 +19,5 @@ EXE_LIBS = \
|
|||||||
-linterfaceProperties \
|
-linterfaceProperties \
|
||||||
-lincompressibleTransportModels \
|
-lincompressibleTransportModels \
|
||||||
-lcompressibleMultiphaseEulerianInterfacialModels \
|
-lcompressibleMultiphaseEulerianInterfacialModels \
|
||||||
/*-lcompressibleKineticTheoryModel*/ \
|
|
||||||
-lincompressibleLESModels \
|
-lincompressibleLESModels \
|
||||||
-lfiniteVolume
|
-lfiniteVolume
|
||||||
|
|||||||
@ -1,33 +0,0 @@
|
|||||||
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
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
EXE_INC = \
|
|
||||||
-I$(LIB_SRC)/foam/lnInclude \
|
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
|
||||||
-I../phaseModel/lnInclude \
|
|
||||||
-I../interfacialModels/lnInclude
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
|
||||||
|
|
||||||
return rho1*da*sqrt(Theta)*
|
|
||||||
(
|
|
||||||
2.0*sqr(alpha1)*g0*(1.0 + e)/sqrtPi
|
|
||||||
+ (9.0/8.0)*sqrtPi*g0*0.5*(1.0 + e)*sqr(alpha1)
|
|
||||||
+ (15.0/16.0)*sqrtPi*alpha1
|
|
||||||
+ (25.0/64.0)*sqrtPi/((1.0 + e)*g0)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,97 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace conductivityModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,104 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
|
||||||
|
|
||||||
volScalarField lamda
|
|
||||||
(
|
|
||||||
scalar(1) + da/(6.0*sqrt(2.0)*(alpha1 + scalar(1.0e-5)))/L_
|
|
||||||
);
|
|
||||||
|
|
||||||
return rho1*da*sqrt(Theta)*
|
|
||||||
(
|
|
||||||
2.0*sqr(alpha1)*g0*(1.0 + e)/sqrtPi
|
|
||||||
+ (9.0/8.0)*sqrtPi*0.25*sqr(1.0 + e)*(2.0*e - 1.0)*sqr(alpha1)
|
|
||||||
/(49.0/16.0 - 33.0*e/16.0)
|
|
||||||
+ (15.0/16.0)*sqrtPi*alpha1*(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)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,102 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace conductivityModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
|
||||||
|
|
||||||
return rho1*da*sqrt(Theta)*
|
|
||||||
(
|
|
||||||
2.0*sqr(alpha1)*g0*(1.0 + e)/sqrtPi
|
|
||||||
+ (9.0/8.0)*sqrtPi*g0*0.25*sqr(1.0 + e)*(2.0*e - 1.0)*sqr(alpha1)
|
|
||||||
/(49.0/16.0 - 33.0*e/16.0)
|
|
||||||
+ (15.0/32.0)*sqrtPi*alpha1/(49.0/16.0 - 33.0*e/16.0)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,97 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace conductivityModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "conductivityModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(conductivityModel, 0);
|
|
||||||
|
|
||||||
defineRunTimeSelectionTable(conductivityModel, dictionary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::conductivityModel::conductivityModel
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
dict_(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::conductivityModel::~conductivityModel()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,128 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::conductivityModel
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
conductivityModel.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef conductivityModel_H
|
|
||||||
#define conductivityModel_H
|
|
||||||
|
|
||||||
#include "dictionary.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
#include "dimensionedTypes.H"
|
|
||||||
#include "runTimeSelectionTables.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class conductivityModel Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class conductivityModel
|
|
||||||
{
|
|
||||||
// Private member functions
|
|
||||||
|
|
||||||
//- Disallow default bitwise copy construct
|
|
||||||
conductivityModel(const conductivityModel&);
|
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
|
||||||
void operator=(const conductivityModel&);
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected data
|
|
||||||
|
|
||||||
const dictionary& dict_;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("conductivityModel");
|
|
||||||
|
|
||||||
// Declare runtime constructor selection table
|
|
||||||
declareRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
autoPtr,
|
|
||||||
conductivityModel,
|
|
||||||
dictionary,
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
),
|
|
||||||
(dict)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
conductivityModel(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
|
||||||
|
|
||||||
static autoPtr<conductivityModel> New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~conductivityModel();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> kappa
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,59 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "conductivityModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::autoPtr<Foam::kineticTheoryModels::conductivityModel>
|
|
||||||
Foam::kineticTheoryModels::conductivityModel::New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
{
|
|
||||||
word conductivityModelType(dict.lookup("conductivityModel"));
|
|
||||||
|
|
||||||
Info<< "Selecting conductivityModel "
|
|
||||||
<< conductivityModelType << endl;
|
|
||||||
|
|
||||||
dictionaryConstructorTable::iterator cstrIter =
|
|
||||||
dictionaryConstructorTablePtr_->find(conductivityModelType);
|
|
||||||
|
|
||||||
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
|
||||||
{
|
|
||||||
FatalError
|
|
||||||
<< "conductivityModel::New(const dictionary&) : " << endl
|
|
||||||
<< " unknown conductivityModelType type "
|
|
||||||
<< conductivityModelType
|
|
||||||
<< ", constructor not in hash table" << endl << endl
|
|
||||||
<< " Valid conductivityModelType types are :" << endl;
|
|
||||||
Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
return autoPtr<conductivityModel>(cstrIter()(dict));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,125 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "JohnsonJacksonFrictionalStress.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace frictionalStressModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(JohnsonJackson, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
frictionalStressModel,
|
|
||||||
JohnsonJackson,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson::
|
|
||||||
JohnsonJackson
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
frictionalStressModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson::
|
|
||||||
~JohnsonJackson()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson::
|
|
||||||
frictionalPressure
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& eta,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
|
|
||||||
return
|
|
||||||
Fr*pow(max(alpha1 - alphaMinFriction, scalar(0)), eta)
|
|
||||||
/pow(max(alphaMax - alpha1, scalar(5.0e-2)), p);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson::
|
|
||||||
frictionalPressurePrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& eta,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return Fr*
|
|
||||||
(
|
|
||||||
eta*pow(max(alpha1 - alphaMinFriction, scalar(0)), eta - 1.0)
|
|
||||||
*(alphaMax-alpha1)
|
|
||||||
+ p*pow(max(alpha1 - alphaMinFriction, scalar(0)), eta)
|
|
||||||
)/pow(max(alphaMax - alpha1, scalar(5.0e-2)), p + 1.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson::muf
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const volScalarField& pf,
|
|
||||||
const volSymmTensorField& D,
|
|
||||||
const dimensionedScalar& phi
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return dimensionedScalar("0.5", dimTime, 0.5)*pf*sin(phi);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,116 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::frictionalStressModels::JohnsonJackson
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
JohnsonJacksonFrictionalStress.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef JohnsonJackson_H
|
|
||||||
#define JohnsonJackson_H
|
|
||||||
|
|
||||||
#include "frictionalStressModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace frictionalStressModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class JohnsonJackson Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class JohnsonJackson
|
|
||||||
:
|
|
||||||
public frictionalStressModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("JohnsonJackson");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
JohnsonJackson(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~JohnsonJackson();
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> frictionalPressure
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& eta,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const;
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> frictionalPressurePrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& eta,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const;
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> muf
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const volScalarField& pf,
|
|
||||||
const volSymmTensorField& D,
|
|
||||||
const dimensionedScalar& phi
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace frictionalStressModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,158 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "SchaefferFrictionalStress.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace frictionalStressModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(Schaeffer, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
frictionalStressModel,
|
|
||||||
Schaeffer,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::Schaeffer
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
frictionalStressModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::~Schaeffer()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::
|
|
||||||
frictionalPressure
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& eta,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
dimensionedScalar("1e24", dimensionSet(1, -1, -2, 0, 0), 1e24)
|
|
||||||
*pow(Foam::max(alpha1 - alphaMinFriction, scalar(0)), 10.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::
|
|
||||||
frictionalPressurePrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& eta,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
dimensionedScalar("1e25", dimensionSet(1, -1, -2, 0, 0), 1e25)
|
|
||||||
*pow(Foam::max(alpha1 - alphaMinFriction, scalar(0)), 9.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::muf
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const volScalarField& pf,
|
|
||||||
const volSymmTensorField& D,
|
|
||||||
const dimensionedScalar& phi
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const scalar I2Dsmall = 1.0e-15;
|
|
||||||
|
|
||||||
// Creating muf assuming it should be 0 on the boundary which may not be
|
|
||||||
// true
|
|
||||||
tmp<volScalarField> tmuf
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"muf",
|
|
||||||
alpha1.mesh().time().timeName(),
|
|
||||||
alpha1.mesh()
|
|
||||||
),
|
|
||||||
alpha1.mesh(),
|
|
||||||
dimensionedScalar("muf", dimensionSet(1, -1, -1, 0, 0), 0.0)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
volScalarField& muff = tmuf();
|
|
||||||
|
|
||||||
forAll (D, celli)
|
|
||||||
{
|
|
||||||
if (alpha1[celli] > alphaMax.value() - 5e-2)
|
|
||||||
{
|
|
||||||
muff[celli] =
|
|
||||||
0.5*pf[celli]*sin(phi.value())
|
|
||||||
/(
|
|
||||||
sqrt(1.0/6.0*(sqr(D[celli].xx() - D[celli].yy())
|
|
||||||
+ sqr(D[celli].yy() - D[celli].zz())
|
|
||||||
+ sqr(D[celli].zz() - D[celli].xx()))
|
|
||||||
+ sqr(D[celli].xy()) + sqr(D[celli].xz())
|
|
||||||
+ sqr(D[celli].yz())) + I2Dsmall
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
muff.correctBoundaryConditions();
|
|
||||||
|
|
||||||
return tmuf;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,116 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::frictionalStressModels::Schaeffer
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
SchaefferFrictionalStress.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef Schaeffer_H
|
|
||||||
#define Schaeffer_H
|
|
||||||
|
|
||||||
#include "frictionalStressModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace frictionalStressModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class Schaeffer Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class Schaeffer
|
|
||||||
:
|
|
||||||
public frictionalStressModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("Schaeffer");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
Schaeffer(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~Schaeffer();
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> frictionalPressure
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& eta,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const;
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> frictionalPressurePrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& n,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const;
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> muf
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const volScalarField& pf,
|
|
||||||
const volSymmTensorField& D,
|
|
||||||
const dimensionedScalar& phi
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace frictionalStressModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "frictionalStressModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(frictionalStressModel, 0);
|
|
||||||
|
|
||||||
defineRunTimeSelectionTable(frictionalStressModel, dictionary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModel::frictionalStressModel
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
dict_(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModel::~frictionalStressModel()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,147 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::frictionalStressModel
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
frictionalStressModel.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef frictionalStressModel_H
|
|
||||||
#define frictionalStressModel_H
|
|
||||||
|
|
||||||
#include "dictionary.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
#include "dimensionedTypes.H"
|
|
||||||
#include "runTimeSelectionTables.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class frictionalStressModel Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class frictionalStressModel
|
|
||||||
{
|
|
||||||
// Private member functions
|
|
||||||
|
|
||||||
//- Disallow default bitwise copy construct
|
|
||||||
frictionalStressModel(const frictionalStressModel&);
|
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
|
||||||
void operator=(const frictionalStressModel&);
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected data
|
|
||||||
|
|
||||||
const dictionary& dict_;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("frictionalStressModel");
|
|
||||||
|
|
||||||
// Declare runtime constructor selection table
|
|
||||||
declareRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
autoPtr,
|
|
||||||
frictionalStressModel,
|
|
||||||
dictionary,
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
),
|
|
||||||
(dict)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
frictionalStressModel(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
|
||||||
|
|
||||||
static autoPtr<frictionalStressModel> New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~frictionalStressModel();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> frictionalPressure
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& eta,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const = 0;
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> frictionalPressurePrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1f,
|
|
||||||
const dimensionedScalar& alphaMinFriction,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const dimensionedScalar& Fr,
|
|
||||||
const dimensionedScalar& eta,
|
|
||||||
const dimensionedScalar& p
|
|
||||||
) const = 0;
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> muf
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax,
|
|
||||||
const volScalarField& pf,
|
|
||||||
const volSymmTensorField& D,
|
|
||||||
const dimensionedScalar& phi
|
|
||||||
) const = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "frictionalStressModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::autoPtr<Foam::kineticTheoryModels::frictionalStressModel>
|
|
||||||
Foam::kineticTheoryModels::frictionalStressModel::New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
{
|
|
||||||
word frictionalStressModelType(dict.lookup("frictionalStressModel"));
|
|
||||||
|
|
||||||
Info<< "Selecting frictionalStressModel "
|
|
||||||
<< frictionalStressModelType << endl;
|
|
||||||
|
|
||||||
dictionaryConstructorTable::iterator cstrIter =
|
|
||||||
dictionaryConstructorTablePtr_->find(frictionalStressModelType);
|
|
||||||
|
|
||||||
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
|
||||||
{
|
|
||||||
FatalError
|
|
||||||
<< "frictionalStressModel::New(const dictionary&) : " << endl
|
|
||||||
<< " unknown frictionalStressModelType type "
|
|
||||||
<< frictionalStressModelType
|
|
||||||
<< ", constructor not in hash table" << endl << endl
|
|
||||||
<< " Valid frictionalStressModelType types are :" << endl;
|
|
||||||
Info<< dictionaryConstructorTablePtr_->sortedToc()
|
|
||||||
<< abort(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
return autoPtr<frictionalStressModel>(cstrIter()(dict));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,98 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "LunPressure.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace granularPressureModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(Lun, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
granularPressureModel,
|
|
||||||
Lun,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::granularPressureModels::Lun::Lun
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
granularPressureModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::granularPressureModels::Lun::~Lun()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::granularPressureModels::Lun::granularPressureCoeff
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
|
|
||||||
return rho1*alpha1*(1.0 + 2.0*(1.0 + e)*alpha1*g0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::granularPressureModels::Lun::
|
|
||||||
granularPressureCoeffPrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const volScalarField& g0prime,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return rho1*(1.0 + alpha1*(1.0 + e)*(4.0*g0 + 2.0*g0prime*alpha1));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,104 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::Lun
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
LunPressure.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef Lun_H
|
|
||||||
#define Lun_H
|
|
||||||
|
|
||||||
#include "granularPressureModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace granularPressureModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class Lun Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class Lun
|
|
||||||
:
|
|
||||||
public granularPressureModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("Lun");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
Lun(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~Lun();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
tmp<volScalarField> granularPressureCoeff
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
|
|
||||||
tmp<volScalarField> granularPressureCoeffPrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const volScalarField& g0prime,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace granularPressureModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,101 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "SyamlalRogersOBrienPressure.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace granularPressureModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(SyamlalRogersOBrien, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
granularPressureModel,
|
|
||||||
SyamlalRogersOBrien,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::granularPressureModels::SyamlalRogersOBrien::
|
|
||||||
SyamlalRogersOBrien
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
granularPressureModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::granularPressureModels::SyamlalRogersOBrien::
|
|
||||||
~SyamlalRogersOBrien()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::granularPressureModels::SyamlalRogersOBrien::
|
|
||||||
granularPressureCoeff
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
|
|
||||||
return 2.0*rho1*(1.0 + e)*sqr(alpha1)*g0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::granularPressureModels::SyamlalRogersOBrien::
|
|
||||||
granularPressureCoeffPrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const volScalarField& g0prime,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return rho1*alpha1*(1.0 + e)*(4.0*g0 + 2.0*g0prime*alpha1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,104 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::SyamlalRogersOBrien
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
SyamlalRogersOBrienPressure.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef SyamlalRogersOBrien_H
|
|
||||||
#define SyamlalRogersOBrien_H
|
|
||||||
|
|
||||||
#include "granularPressureModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace granularPressureModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class SyamlalRogersOBrien Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class SyamlalRogersOBrien
|
|
||||||
:
|
|
||||||
public granularPressureModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("SyamlalRogersOBrien");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
SyamlalRogersOBrien(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~SyamlalRogersOBrien();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
tmp<volScalarField> granularPressureCoeff
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
|
|
||||||
tmp<volScalarField> granularPressureCoeffPrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const volScalarField& g0prime,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace granularPressureModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "granularPressureModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(granularPressureModel, 0);
|
|
||||||
|
|
||||||
defineRunTimeSelectionTable(granularPressureModel, dictionary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::granularPressureModel::granularPressureModel
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
dict_(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::granularPressureModel::~granularPressureModel()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,137 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::granularPressureModel
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
granularPressureModel.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef granularPressureModel_H
|
|
||||||
#define granularPressureModel_H
|
|
||||||
|
|
||||||
#include "dictionary.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
#include "dimensionedTypes.H"
|
|
||||||
#include "runTimeSelectionTables.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class granularPressureModel Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class granularPressureModel
|
|
||||||
{
|
|
||||||
// Private member functions
|
|
||||||
|
|
||||||
//- Disallow default bitwise copy construct
|
|
||||||
granularPressureModel(const granularPressureModel&);
|
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
|
||||||
void operator=(const granularPressureModel&);
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected data
|
|
||||||
|
|
||||||
const dictionary& dict_;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("granularPressureModel");
|
|
||||||
|
|
||||||
// Declare runtime constructor selection table
|
|
||||||
declareRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
autoPtr,
|
|
||||||
granularPressureModel,
|
|
||||||
dictionary,
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
),
|
|
||||||
(dict)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
granularPressureModel(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
|
||||||
|
|
||||||
static autoPtr<granularPressureModel> New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~granularPressureModel();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
//- Granular pressure coefficient
|
|
||||||
virtual tmp<volScalarField> granularPressureCoeff
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const = 0;
|
|
||||||
|
|
||||||
//- Derivative of the granular pressure coefficient
|
|
||||||
virtual tmp<volScalarField> granularPressureCoeffPrime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const volScalarField& g0prime,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "granularPressureModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::autoPtr<Foam::kineticTheoryModels::granularPressureModel>
|
|
||||||
Foam::kineticTheoryModels::granularPressureModel::New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
{
|
|
||||||
word granularPressureModelType(dict.lookup("granularPressureModel"));
|
|
||||||
|
|
||||||
Info<< "Selecting granularPressureModel "
|
|
||||||
<< granularPressureModelType << endl;
|
|
||||||
|
|
||||||
dictionaryConstructorTable::iterator cstrIter =
|
|
||||||
dictionaryConstructorTablePtr_->find(granularPressureModelType);
|
|
||||||
|
|
||||||
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
|
||||||
{
|
|
||||||
FatalError
|
|
||||||
<< "granularPressureModel::New(const dictionary&) : " << endl
|
|
||||||
<< " unknown granularPressureModelType type "
|
|
||||||
<< granularPressureModelType
|
|
||||||
<< ", constructor not in hash table" << endl << endl
|
|
||||||
<< " Valid granularPressureModelType types are :" << endl;
|
|
||||||
Info<< dictionaryConstructorTablePtr_->sortedToc()
|
|
||||||
<< abort(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
return autoPtr<granularPressureModel>(cstrIter()(dict));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,390 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "kineticTheoryModel.H"
|
|
||||||
#include "surfaceInterpolate.H"
|
|
||||||
#include "mathematicalConstants.H"
|
|
||||||
#include "fvCFD.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModel::kineticTheoryModel
|
|
||||||
(
|
|
||||||
const Foam::phaseModel& phase1,
|
|
||||||
const Foam::volVectorField& U2,
|
|
||||||
const Foam::volScalarField& alpha1,
|
|
||||||
const Foam::dragModel& drag1
|
|
||||||
)
|
|
||||||
:
|
|
||||||
phase1_(phase1),
|
|
||||||
U1_(phase1.U()),
|
|
||||||
U2_(U2),
|
|
||||||
alpha1_(alpha1),
|
|
||||||
phi1_(phase1.phi()),
|
|
||||||
drag1_(drag1),
|
|
||||||
|
|
||||||
rho1_(phase1.rho()),
|
|
||||||
nu1_(phase1.nu()),
|
|
||||||
|
|
||||||
kineticTheoryProperties_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"kineticTheoryProperties",
|
|
||||||
U1_.time().constant(),
|
|
||||||
U1_.mesh(),
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
)
|
|
||||||
),
|
|
||||||
kineticTheory_(kineticTheoryProperties_.lookup("kineticTheory")),
|
|
||||||
equilibrium_(kineticTheoryProperties_.lookup("equilibrium")),
|
|
||||||
|
|
||||||
viscosityModel_
|
|
||||||
(
|
|
||||||
kineticTheoryModels::viscosityModel::New
|
|
||||||
(
|
|
||||||
kineticTheoryProperties_
|
|
||||||
)
|
|
||||||
),
|
|
||||||
conductivityModel_
|
|
||||||
(
|
|
||||||
kineticTheoryModels::conductivityModel::New
|
|
||||||
(
|
|
||||||
kineticTheoryProperties_
|
|
||||||
)
|
|
||||||
),
|
|
||||||
radialModel_
|
|
||||||
(
|
|
||||||
kineticTheoryModels::radialModel::New
|
|
||||||
(
|
|
||||||
kineticTheoryProperties_
|
|
||||||
)
|
|
||||||
),
|
|
||||||
granularPressureModel_
|
|
||||||
(
|
|
||||||
kineticTheoryModels::granularPressureModel::New
|
|
||||||
(
|
|
||||||
kineticTheoryProperties_
|
|
||||||
)
|
|
||||||
),
|
|
||||||
frictionalStressModel_
|
|
||||||
(
|
|
||||||
kineticTheoryModels::frictionalStressModel::New
|
|
||||||
(
|
|
||||||
kineticTheoryProperties_
|
|
||||||
)
|
|
||||||
),
|
|
||||||
e_(kineticTheoryProperties_.lookup("e")),
|
|
||||||
alphaMax_(kineticTheoryProperties_.lookup("alphaMax")),
|
|
||||||
alphaMinFriction_(kineticTheoryProperties_.lookup("alphaMinFriction")),
|
|
||||||
Fr_(kineticTheoryProperties_.lookup("Fr")),
|
|
||||||
eta_(kineticTheoryProperties_.lookup("eta")),
|
|
||||||
p_(kineticTheoryProperties_.lookup("p")),
|
|
||||||
phi_(dimensionedScalar(kineticTheoryProperties_.lookup("phi"))*M_PI/180.0),
|
|
||||||
Theta_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"Theta",
|
|
||||||
U1_.time().timeName(),
|
|
||||||
U1_.mesh(),
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
U1_.mesh()
|
|
||||||
),
|
|
||||||
mu1_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"mu1",
|
|
||||||
U1_.time().timeName(),
|
|
||||||
U1_.mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
U1_.mesh(),
|
|
||||||
dimensionedScalar("zero", dimensionSet(1, -1, -1, 0, 0), 0.0)
|
|
||||||
),
|
|
||||||
lambda_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"lambda",
|
|
||||||
U1_.time().timeName(),
|
|
||||||
U1_.mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
U1_.mesh(),
|
|
||||||
dimensionedScalar("zero", dimensionSet(1, -1, -1, 0, 0), 0.0)
|
|
||||||
),
|
|
||||||
pa_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"pa",
|
|
||||||
U1_.time().timeName(),
|
|
||||||
U1_.mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
U1_.mesh(),
|
|
||||||
dimensionedScalar("zero", dimensionSet(1, -1, -2, 0, 0), 0.0)
|
|
||||||
),
|
|
||||||
kappa_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"kappa",
|
|
||||||
U1_.time().timeName(),
|
|
||||||
U1_.mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
U1_.mesh(),
|
|
||||||
dimensionedScalar("zero", dimensionSet(1, -1, -1, 0, 0), 0.0)
|
|
||||||
),
|
|
||||||
gs0_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"gs0",
|
|
||||||
U1_.time().timeName(),
|
|
||||||
U1_.mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
U1_.mesh(),
|
|
||||||
dimensionedScalar("zero", dimensionSet(0, 0, 0, 0, 0), 1.0)
|
|
||||||
)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModel::~kineticTheoryModel()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
void Foam::kineticTheoryModel::solve(const volTensorField& gradU1t)
|
|
||||||
{
|
|
||||||
if (!kineticTheory_)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
|
||||||
|
|
||||||
volScalarField da_(phase1_.d());
|
|
||||||
|
|
||||||
surfaceScalarField phi(1.5*rho1_*phi1_*fvc::interpolate(alpha1_));
|
|
||||||
|
|
||||||
volTensorField dU(gradU1t.T()); //fvc::grad(U1_);
|
|
||||||
volSymmTensorField D(symm(dU));
|
|
||||||
|
|
||||||
// NB, drag = K*alpha1*alpha2,
|
|
||||||
// (the alpha1 and alpha2 has been extracted from the drag function for
|
|
||||||
// numerical reasons)
|
|
||||||
volScalarField Ur(mag(U1_ - U2_));
|
|
||||||
volScalarField alpha2Prim(alpha1_*(1.0 - alpha1_)*drag1_.K(Ur));
|
|
||||||
|
|
||||||
// Calculating the radial distribution function (solid volume fraction is
|
|
||||||
// limited close to the packing limit, but this needs improvements)
|
|
||||||
// The solution is higly unstable close to the packing limit.
|
|
||||||
gs0_ = radialModel_->g0
|
|
||||||
(
|
|
||||||
min(max(alpha1_, scalar(1e-6)), alphaMax_ - 0.01),
|
|
||||||
alphaMax_
|
|
||||||
);
|
|
||||||
|
|
||||||
// particle pressure - coefficient in front of Theta (Eq. 3.22, p. 45)
|
|
||||||
volScalarField PsCoeff
|
|
||||||
(
|
|
||||||
granularPressureModel_->granularPressureCoeff
|
|
||||||
(
|
|
||||||
alpha1_,
|
|
||||||
gs0_,
|
|
||||||
rho1_,
|
|
||||||
e_
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// 'thermal' conductivity (Table 3.3, p. 49)
|
|
||||||
kappa_ = conductivityModel_->kappa(alpha1_, Theta_, gs0_, rho1_, da_, e_);
|
|
||||||
|
|
||||||
// particle viscosity (Table 3.2, p.47)
|
|
||||||
mu1_ = viscosityModel_->mu1(alpha1_, Theta_, gs0_, rho1_, da_, e_);
|
|
||||||
|
|
||||||
dimensionedScalar Tsmall
|
|
||||||
(
|
|
||||||
"small",
|
|
||||||
dimensionSet(0 , 2 ,-2 ,0 , 0, 0, 0),
|
|
||||||
1.0e-6
|
|
||||||
);
|
|
||||||
|
|
||||||
dimensionedScalar TsmallSqrt = sqrt(Tsmall);
|
|
||||||
volScalarField ThetaSqrt(sqrt(Theta_));
|
|
||||||
|
|
||||||
// dissipation (Eq. 3.24, p.50)
|
|
||||||
volScalarField gammaCoeff
|
|
||||||
(
|
|
||||||
12.0*(1.0 - sqr(e_))*sqr(alpha1_)*rho1_*gs0_*(1.0/da_)*ThetaSqrt/sqrtPi
|
|
||||||
);
|
|
||||||
|
|
||||||
// Eq. 3.25, p. 50 Js = J1 - J2
|
|
||||||
volScalarField J1(3.0*alpha2Prim);
|
|
||||||
volScalarField J2
|
|
||||||
(
|
|
||||||
0.25*sqr(alpha2Prim)*da_*sqr(Ur)
|
|
||||||
/(max(alpha1_, scalar(1e-6))*rho1_*sqrtPi*(ThetaSqrt + TsmallSqrt))
|
|
||||||
);
|
|
||||||
|
|
||||||
// bulk viscosity p. 45 (Lun et al. 1984).
|
|
||||||
lambda_ = (4.0/3.0)*sqr(alpha1_)*rho1_*da_*gs0_*(1.0+e_)*ThetaSqrt/sqrtPi;
|
|
||||||
|
|
||||||
// stress tensor, Definitions, Table 3.1, p. 43
|
|
||||||
volSymmTensorField tau(2.0*mu1_*D + (lambda_ - (2.0/3.0)*mu1_)*tr(D)*I);
|
|
||||||
|
|
||||||
if (!equilibrium_)
|
|
||||||
{
|
|
||||||
// construct the granular temperature equation (Eq. 3.20, p. 44)
|
|
||||||
// NB. note that there are two typos in Eq. 3.20
|
|
||||||
// no grad infront of Ps
|
|
||||||
// wrong sign infront of laplacian
|
|
||||||
fvScalarMatrix ThetaEqn
|
|
||||||
(
|
|
||||||
fvm::ddt(1.5*alpha1_*rho1_, Theta_)
|
|
||||||
+ fvm::div(phi, Theta_, "div(phi,Theta)")
|
|
||||||
==
|
|
||||||
fvm::SuSp(-((PsCoeff*I) && dU), Theta_)
|
|
||||||
+ (tau && dU)
|
|
||||||
+ fvm::laplacian(kappa_, Theta_, "laplacian(kappa,Theta)")
|
|
||||||
+ fvm::Sp(-gammaCoeff, Theta_)
|
|
||||||
+ fvm::Sp(-J1, Theta_)
|
|
||||||
+ fvm::Sp(J2/(Theta_ + Tsmall), Theta_)
|
|
||||||
);
|
|
||||||
|
|
||||||
ThetaEqn.relax();
|
|
||||||
ThetaEqn.solve();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// equilibrium => dissipation == production
|
|
||||||
// Eq. 4.14, p.82
|
|
||||||
volScalarField K1(2.0*(1.0 + e_)*rho1_*gs0_);
|
|
||||||
volScalarField K3
|
|
||||||
(
|
|
||||||
0.5*da_*rho1_*
|
|
||||||
(
|
|
||||||
(sqrtPi/(3.0*(3.0-e_)))
|
|
||||||
*(1.0 + 0.4*(1.0 + e_)*(3.0*e_ - 1.0)*alpha1_*gs0_)
|
|
||||||
+1.6*alpha1_*gs0_*(1.0 + e_)/sqrtPi
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
volScalarField K2
|
|
||||||
(
|
|
||||||
4.0*da_*rho1_*(1.0 + e_)*alpha1_*gs0_/(3.0*sqrtPi) - 2.0*K3/3.0
|
|
||||||
);
|
|
||||||
|
|
||||||
volScalarField K4(12.0*(1.0 - sqr(e_))*rho1_*gs0_/(da_*sqrtPi));
|
|
||||||
|
|
||||||
volScalarField trD(tr(D));
|
|
||||||
volScalarField tr2D(sqr(trD));
|
|
||||||
volScalarField trD2(tr(D & D));
|
|
||||||
|
|
||||||
volScalarField t1(K1*alpha1_ + rho1_);
|
|
||||||
volScalarField l1(-t1*trD);
|
|
||||||
volScalarField l2(sqr(t1)*tr2D);
|
|
||||||
volScalarField l3
|
|
||||||
(
|
|
||||||
4.0
|
|
||||||
*K4
|
|
||||||
*max(alpha1_, scalar(1e-6))
|
|
||||||
*(2.0*K3*trD2 + K2*tr2D)
|
|
||||||
);
|
|
||||||
|
|
||||||
Theta_ = sqr((l1 + sqrt(l2 + l3))/(2.0*(alpha1_ + 1.0e-4)*K4));
|
|
||||||
}
|
|
||||||
|
|
||||||
Theta_.max(1.0e-15);
|
|
||||||
Theta_.min(1.0e+3);
|
|
||||||
|
|
||||||
volScalarField pf
|
|
||||||
(
|
|
||||||
frictionalStressModel_->frictionalPressure
|
|
||||||
(
|
|
||||||
alpha1_,
|
|
||||||
alphaMinFriction_,
|
|
||||||
alphaMax_,
|
|
||||||
Fr_,
|
|
||||||
eta_,
|
|
||||||
p_
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
PsCoeff += pf/(Theta_+Tsmall);
|
|
||||||
|
|
||||||
PsCoeff.min(1.0e+10);
|
|
||||||
PsCoeff.max(-1.0e+10);
|
|
||||||
|
|
||||||
// update particle pressure
|
|
||||||
pa_ = PsCoeff*Theta_;
|
|
||||||
|
|
||||||
// frictional shear stress, Eq. 3.30, p. 52
|
|
||||||
volScalarField muf
|
|
||||||
(
|
|
||||||
frictionalStressModel_->muf
|
|
||||||
(
|
|
||||||
alpha1_,
|
|
||||||
alphaMax_,
|
|
||||||
pf,
|
|
||||||
D,
|
|
||||||
phi_
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// add frictional stress
|
|
||||||
mu1_ += muf;
|
|
||||||
mu1_.min(1.0e+2);
|
|
||||||
mu1_.max(0.0);
|
|
||||||
|
|
||||||
Info<< "kinTheory: max(Theta) = " << max(Theta_).value() << endl;
|
|
||||||
|
|
||||||
volScalarField ktn(mu1_/rho1_);
|
|
||||||
|
|
||||||
Info<< "kinTheory: min(nu1) = " << min(ktn).value()
|
|
||||||
<< ", max(nu1) = " << max(ktn).value() << endl;
|
|
||||||
|
|
||||||
Info<< "kinTheory: min(pa) = " << min(pa_).value()
|
|
||||||
<< ", max(pa) = " << max(pa_).value() << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,197 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::kineticTheoryModel
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
kineticTheoryModel.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef kineticTheoryModel_H
|
|
||||||
#define kineticTheoryModel_H
|
|
||||||
|
|
||||||
#include "dragModel.H"
|
|
||||||
#include "phaseModel.H"
|
|
||||||
#include "autoPtr.H"
|
|
||||||
#include "viscosityModel.H"
|
|
||||||
#include "conductivityModel.H"
|
|
||||||
#include "radialModel.H"
|
|
||||||
#include "granularPressureModel.H"
|
|
||||||
#include "frictionalStressModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class kineticTheoryModel Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class kineticTheoryModel
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
const phaseModel& phase1_;
|
|
||||||
const volVectorField& U1_;
|
|
||||||
const volVectorField& U2_;
|
|
||||||
const volScalarField& alpha1_;
|
|
||||||
const surfaceScalarField& phi1_;
|
|
||||||
|
|
||||||
const dragModel& drag1_;
|
|
||||||
|
|
||||||
const dimensionedScalar& rho1_;
|
|
||||||
const dimensionedScalar& nu1_;
|
|
||||||
|
|
||||||
//- dictionary holding the modeling info
|
|
||||||
IOdictionary kineticTheoryProperties_;
|
|
||||||
|
|
||||||
//- use kinetic theory or not.
|
|
||||||
Switch kineticTheory_;
|
|
||||||
|
|
||||||
//- use generation == dissipation
|
|
||||||
Switch equilibrium_;
|
|
||||||
|
|
||||||
autoPtr<kineticTheoryModels::viscosityModel> viscosityModel_;
|
|
||||||
|
|
||||||
autoPtr<kineticTheoryModels::conductivityModel> conductivityModel_;
|
|
||||||
|
|
||||||
autoPtr<kineticTheoryModels::radialModel> radialModel_;
|
|
||||||
|
|
||||||
autoPtr<kineticTheoryModels::granularPressureModel>
|
|
||||||
granularPressureModel_;
|
|
||||||
|
|
||||||
autoPtr<kineticTheoryModels::frictionalStressModel>
|
|
||||||
frictionalStressModel_;
|
|
||||||
|
|
||||||
//- coefficient of restitution
|
|
||||||
const dimensionedScalar e_;
|
|
||||||
|
|
||||||
//- maximum packing
|
|
||||||
const dimensionedScalar alphaMax_;
|
|
||||||
|
|
||||||
//- min value for which the frictional stresses are zero
|
|
||||||
const dimensionedScalar alphaMinFriction_;
|
|
||||||
|
|
||||||
//- material constant for frictional normal stress
|
|
||||||
const dimensionedScalar Fr_;
|
|
||||||
|
|
||||||
//- material constant for frictional normal stress
|
|
||||||
const dimensionedScalar eta_;
|
|
||||||
|
|
||||||
//- material constant for frictional normal stress
|
|
||||||
const dimensionedScalar p_;
|
|
||||||
|
|
||||||
//- angle of internal friction
|
|
||||||
const dimensionedScalar phi_;
|
|
||||||
|
|
||||||
//- The granular energy/temperature
|
|
||||||
volScalarField Theta_;
|
|
||||||
|
|
||||||
//- The granular viscosity
|
|
||||||
volScalarField mu1_;
|
|
||||||
|
|
||||||
//- The granular bulk viscosity
|
|
||||||
volScalarField lambda_;
|
|
||||||
|
|
||||||
//- The granular pressure
|
|
||||||
volScalarField pa_;
|
|
||||||
|
|
||||||
//- The granular temperature conductivity
|
|
||||||
volScalarField kappa_;
|
|
||||||
|
|
||||||
//- The radial distribution function
|
|
||||||
volScalarField gs0_;
|
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
|
||||||
|
|
||||||
//- Disallow default bitwise copy construct
|
|
||||||
kineticTheoryModel(const kineticTheoryModel&);
|
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
|
||||||
void operator=(const kineticTheoryModel&);
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
kineticTheoryModel
|
|
||||||
(
|
|
||||||
const phaseModel& phase1,
|
|
||||||
const volVectorField& U2,
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dragModel& drag1
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~kineticTheoryModel();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
void solve(const volTensorField& gradU1t);
|
|
||||||
|
|
||||||
bool on() const
|
|
||||||
{
|
|
||||||
return kineticTheory_;
|
|
||||||
}
|
|
||||||
|
|
||||||
const volScalarField& mu1() const
|
|
||||||
{
|
|
||||||
return mu1_;
|
|
||||||
}
|
|
||||||
|
|
||||||
const volScalarField& pa() const
|
|
||||||
{
|
|
||||||
return pa_;
|
|
||||||
}
|
|
||||||
|
|
||||||
const volScalarField& lambda() const
|
|
||||||
{
|
|
||||||
return lambda_;
|
|
||||||
}
|
|
||||||
|
|
||||||
const volScalarField& kappa() const
|
|
||||||
{
|
|
||||||
return kappa_;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,99 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "CarnahanStarlingRadial.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(CarnahanStarling, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
radialModel,
|
|
||||||
CarnahanStarling,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::CarnahanStarling::CarnahanStarling
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
radialModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::CarnahanStarling::~CarnahanStarling()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
|
|
||||||
return
|
|
||||||
1.0/(1.0 - alpha1)
|
|
||||||
+ 3.0*alpha1/(2.0*sqr(1.0 - alpha1))
|
|
||||||
+ sqr(alpha1)/(2.0*pow(1.0 - alpha1, 3));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
- alpha1/sqr(1.0 - alpha1)
|
|
||||||
+ (3.0*(1.0 - alpha1) + 6.0*sqr(alpha1))/(2.0*(1.0 - alpha1))
|
|
||||||
+ (2.0*alpha1*(1.0 - alpha1) + 3.0*pow(alpha1, 3))
|
|
||||||
/(2.0*pow(1.0 - alpha1, 4));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,100 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::radialModels::CarnahanStarling
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
CarnahanStarlingRadial.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef CarnahanStarling_H
|
|
||||||
#define CarnahanStarling_H
|
|
||||||
|
|
||||||
#include "radialModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class CarnahanStarling Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class CarnahanStarling
|
|
||||||
:
|
|
||||||
public radialModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("CarnahanStarling");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
CarnahanStarling(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~CarnahanStarling();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace radialModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "GidaspowRadial.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(Gidaspow, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
radialModel,
|
|
||||||
Gidaspow,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::Gidaspow::Gidaspow
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
radialModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::Gidaspow::~Gidaspow()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::Gidaspow::g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return 0.6/(1.0 - pow(alpha1/alphaMax, 1.0/3.0));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::Gidaspow::g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
(-1.0/5.0)*pow(alpha1/alphaMax, -2.0/3.0)
|
|
||||||
/(alphaMax*sqr(1.0 - pow(alpha1/alphaMax, 1.0/3.0)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,99 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::radialModels::Gidaspow
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
GidaspowRadial.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef Gidaspow_H
|
|
||||||
#define Gidaspow_H
|
|
||||||
|
|
||||||
#include "radialModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class Gidaspow Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class Gidaspow
|
|
||||||
:
|
|
||||||
public radialModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("Gidaspow");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
Gidaspow(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~Gidaspow();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
tmp<volScalarField> g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace radialModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,92 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "LunSavageRadial.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(LunSavage, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
radialModel,
|
|
||||||
LunSavage,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::LunSavage::LunSavage
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
radialModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::LunSavage::~LunSavage()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::LunSavage::g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
|
|
||||||
return pow(1.0 - alpha1/alphaMax, -2.5*alphaMax);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::LunSavage::g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return 2.5*alphaMax*alpha1*pow(1.0 - alpha1, -1.0 - 2.5*alphaMax);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,99 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::radialModels::LunSavage
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
LunSavage.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef LunSavage_H
|
|
||||||
#define LunSavage_H
|
|
||||||
|
|
||||||
#include "radialModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class LunSavage Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class LunSavage
|
|
||||||
:
|
|
||||||
public radialModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("LunSavage");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
LunSavage(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~LunSavage();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
tmp<volScalarField> g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace radialModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "SinclairJacksonRadial.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(SinclairJackson, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
radialModel,
|
|
||||||
SinclairJackson,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::SinclairJackson::SinclairJackson
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
radialModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModels::SinclairJackson::~SinclairJackson()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::SinclairJackson::g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return 1.0/(1.0 - pow(alpha1/alphaMax, 1.0/3.0));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::radialModels::SinclairJackson::g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
(-1.0/3.0)*pow(alpha1/alphaMax, -2.0/3.0)
|
|
||||||
/(alphaMax*sqr(1.0 - pow(alpha1/alphaMax, 1.0/3.0)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,99 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::SinclairJackson
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
SinclairJacksonRadial.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef SinclairJackson_H
|
|
||||||
#define SinclairJackson_H
|
|
||||||
|
|
||||||
#include "radialModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace radialModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class SinclairJackson Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class SinclairJackson
|
|
||||||
:
|
|
||||||
public radialModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("SinclairJackson");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
SinclairJackson(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~SinclairJackson();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
tmp<volScalarField> g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace radialModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "radialModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::autoPtr<Foam::kineticTheoryModels::radialModel>
|
|
||||||
Foam::kineticTheoryModels::radialModel::New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
{
|
|
||||||
word radialModelType(dict.lookup("radialModel"));
|
|
||||||
|
|
||||||
Info<< "Selecting radialModel "
|
|
||||||
<< radialModelType << endl;
|
|
||||||
|
|
||||||
dictionaryConstructorTable::iterator cstrIter =
|
|
||||||
dictionaryConstructorTablePtr_->find(radialModelType);
|
|
||||||
|
|
||||||
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
|
||||||
{
|
|
||||||
FatalError
|
|
||||||
<< "radialModel::New(const dictionary&) : " << endl
|
|
||||||
<< " unknown radialModelType type "
|
|
||||||
<< radialModelType
|
|
||||||
<< ", constructor not in hash table" << endl << endl
|
|
||||||
<< " Valid radialModelType types are :" << endl;
|
|
||||||
Info<< dictionaryConstructorTablePtr_->sortedToc()
|
|
||||||
<< abort(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
return autoPtr<radialModel>(cstrIter()(dict));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "radialModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(radialModel, 0);
|
|
||||||
|
|
||||||
defineRunTimeSelectionTable(radialModel, dictionary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModel::radialModel
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
dict_(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::radialModel::~radialModel()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,132 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::radialModel
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
radialModel.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef radialModel_H
|
|
||||||
#define radialModel_H
|
|
||||||
|
|
||||||
#include "dictionary.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
#include "dimensionedTypes.H"
|
|
||||||
#include "runTimeSelectionTables.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class radialModel Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class radialModel
|
|
||||||
{
|
|
||||||
// Private member functions
|
|
||||||
|
|
||||||
//- Disallow default bitwise copy construct
|
|
||||||
radialModel(const radialModel&);
|
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
|
||||||
void operator=(const radialModel&);
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected data
|
|
||||||
|
|
||||||
const dictionary& dict_;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("radialModel");
|
|
||||||
|
|
||||||
// Declare runtime constructor selection table
|
|
||||||
declareRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
autoPtr,
|
|
||||||
radialModel,
|
|
||||||
dictionary,
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
),
|
|
||||||
(dict)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
radialModel(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
|
||||||
|
|
||||||
static autoPtr<radialModel> New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~radialModel();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
//- Radial distribution function
|
|
||||||
virtual tmp<volScalarField> g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const = 0;
|
|
||||||
|
|
||||||
//- Derivative of the radial distribution function
|
|
||||||
virtual tmp<volScalarField> g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,87 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "GidaspowViscosity.H"
|
|
||||||
#include "mathematicalConstants.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace viscosityModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(Gidaspow, 0);
|
|
||||||
addToRunTimeSelectionTable(viscosityModel, Gidaspow, dictionary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::viscosityModels::Gidaspow::Gidaspow
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
viscosityModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::viscosityModels::Gidaspow::~Gidaspow()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::viscosityModels::Gidaspow::mu1
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
|
||||||
|
|
||||||
return rho1*da*sqrt(Theta)*
|
|
||||||
(
|
|
||||||
(4.0/5.0)*sqr(alpha1)*g0*(1.0 + e)/sqrtPi
|
|
||||||
+ (1.0/15.0)*sqrtPi*g0*(1.0 + e)*sqr(alpha1)
|
|
||||||
+ (1.0/6.0)*sqrtPi*alpha1
|
|
||||||
+ (10.0/96.0)*sqrtPi/((1.0 + e)*g0)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,96 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::viscosityModels::Gidaspow
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
GidaspowViscosity.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef Gidaspow_H
|
|
||||||
#define Gidaspow_H
|
|
||||||
|
|
||||||
#include "viscosityModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace viscosityModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class Gidaspow Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class Gidaspow
|
|
||||||
:
|
|
||||||
public viscosityModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("Gidaspow");
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
Gidaspow(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~Gidaspow();
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
tmp<volScalarField> mu1
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace viscosityModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,101 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "HrenyaSinclairViscosity.H"
|
|
||||||
#include "mathematicalConstants.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace viscosityModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(HrenyaSinclair, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
viscosityModel,
|
|
||||||
HrenyaSinclair,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::HrenyaSinclair
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
viscosityModel(dict),
|
|
||||||
coeffsDict_(dict.subDict(typeName + "Coeffs")),
|
|
||||||
L_(coeffsDict_.lookup("L"))
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::~HrenyaSinclair()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::mu1
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
|
||||||
|
|
||||||
volScalarField lamda
|
|
||||||
(
|
|
||||||
scalar(1) + da/(6.0*sqrt(2.0)*(alpha1 + scalar(1.0e-5)))/L_
|
|
||||||
);
|
|
||||||
|
|
||||||
return rho1*da*sqrt(Theta)*
|
|
||||||
(
|
|
||||||
(4.0/5.0)*sqr(alpha1)*g0*(1.0 + e)/sqrtPi
|
|
||||||
+ (1.0/15.0)*sqrtPi*g0*(1.0 + e)*(3.0*e - 1)*sqr(alpha1)/(3.0-e)
|
|
||||||
+ (1.0/6.0)*sqrtPi*alpha1*(0.5*lamda + 0.25*(3.0*e - 1.0))
|
|
||||||
/(0.5*(3.0 - e)*lamda)
|
|
||||||
+ (10/96.0)*sqrtPi/((1.0 + e)*0.5*(3.0 - e)*g0*lamda)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,104 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::viscosityModels::HrenyaSinclair
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
HrenyaSinclairViscosity.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef HrenyaSinclair_H
|
|
||||||
#define HrenyaSinclair_H
|
|
||||||
|
|
||||||
#include "viscosityModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace viscosityModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class HrenyaSinclair Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class HrenyaSinclair
|
|
||||||
:
|
|
||||||
public viscosityModel
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
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> mu1
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace viscosityModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,86 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "SyamlalViscosity.H"
|
|
||||||
#include "mathematicalConstants.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace viscosityModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(Syamlal, 0);
|
|
||||||
addToRunTimeSelectionTable(viscosityModel, Syamlal, dictionary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::viscosityModels::Syamlal::Syamlal
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
viscosityModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::viscosityModels::Syamlal::~Syamlal()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField>
|
|
||||||
Foam::kineticTheoryModels::viscosityModels::Syamlal::mu1
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const scalar sqrtPi = sqrt(constant::mathematical::pi);
|
|
||||||
|
|
||||||
return rho1*da*sqrt(Theta)*
|
|
||||||
(
|
|
||||||
(4.0/5.0)*sqr(alpha1)*g0*(1.0 + e)/sqrtPi
|
|
||||||
+ (1.0/15.0)*sqrtPi*g0*(1.0 + e)*(3.0*e - 1.0)*sqr(alpha1)/(3.0 - e)
|
|
||||||
+ (1.0/6.0)*alpha1*sqrtPi/(3.0 - e)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,97 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::viscosityModels::Syamlal
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
SyamlalViscosity.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef Syamlal_H
|
|
||||||
#define Syamlal_H
|
|
||||||
|
|
||||||
#include "viscosityModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
namespace viscosityModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class Syamlal Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class Syamlal
|
|
||||||
:
|
|
||||||
public viscosityModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("Syamlal");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
Syamlal(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~Syamlal();
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
tmp<volScalarField> mu1
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace viscosityModels
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "noneViscosity.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(noneViscosity, 0);
|
|
||||||
addToRunTimeSelectionTable(viscosityModel, noneViscosity, dictionary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::noneViscosity::noneViscosity(const dictionary& dict)
|
|
||||||
:
|
|
||||||
viscosityModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::noneViscosity::~noneViscosity()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::kineticTheoryModels::noneViscosity::mu1
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return dimensionedScalar
|
|
||||||
(
|
|
||||||
"0",
|
|
||||||
dimensionSet(1, -1, -1, 0, 0, 0, 0),
|
|
||||||
0.0
|
|
||||||
)*alpha1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,94 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::noneViscosity
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
noneViscosity.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef noneViscosity_H
|
|
||||||
#define noneViscosity_H
|
|
||||||
|
|
||||||
#include "viscosityModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class noneViscosity Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class noneViscosity
|
|
||||||
:
|
|
||||||
public viscosityModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("none");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
noneViscosity(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~noneViscosity();
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
tmp<volScalarField> mu1
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,59 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "viscosityModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::autoPtr<Foam::kineticTheoryModels::viscosityModel>
|
|
||||||
Foam::kineticTheoryModels::viscosityModel::New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
{
|
|
||||||
word viscosityModelType(dict.lookup("viscosityModel"));
|
|
||||||
|
|
||||||
Info<< "Selecting viscosityModel "
|
|
||||||
<< viscosityModelType << endl;
|
|
||||||
|
|
||||||
dictionaryConstructorTable::iterator cstrIter =
|
|
||||||
dictionaryConstructorTablePtr_->find(viscosityModelType);
|
|
||||||
|
|
||||||
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
|
||||||
{
|
|
||||||
FatalError
|
|
||||||
<< "viscosityModel::New(const dictionary&) : " << endl
|
|
||||||
<< " unknown viscosityModelType type "
|
|
||||||
<< viscosityModelType
|
|
||||||
<< ", constructor not in hash table" << endl << endl
|
|
||||||
<< " Valid viscosityModelType types are :" << endl;
|
|
||||||
Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
return autoPtr<viscosityModel>(cstrIter()(dict));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,57 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / 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 "viscosityModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(viscosityModel, 0);
|
|
||||||
defineRunTimeSelectionTable(viscosityModel, dictionary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::viscosityModel::viscosityModel
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
dict_(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::kineticTheoryModels::viscosityModel::~viscosityModel()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,130 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::viscosityModel
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
viscosityModel.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef viscosityModel_H
|
|
||||||
#define viscosityModel_H
|
|
||||||
|
|
||||||
#include "dictionary.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
#include "dimensionedTypes.H"
|
|
||||||
#include "runTimeSelectionTables.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace kineticTheoryModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class viscosityModel Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class viscosityModel
|
|
||||||
{
|
|
||||||
// Private member functions
|
|
||||||
|
|
||||||
//- Disallow default bitwise copy construct
|
|
||||||
viscosityModel(const viscosityModel&);
|
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
|
||||||
void operator=(const viscosityModel&);
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected data
|
|
||||||
|
|
||||||
const dictionary& dict_;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("viscosityModel");
|
|
||||||
|
|
||||||
// Declare runtime constructor selection table
|
|
||||||
declareRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
autoPtr,
|
|
||||||
viscosityModel,
|
|
||||||
dictionary,
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
),
|
|
||||||
(dict)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
viscosityModel(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
// Selectors
|
|
||||||
|
|
||||||
static autoPtr<viscosityModel> New
|
|
||||||
(
|
|
||||||
const dictionary& dict
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~viscosityModel();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
virtual tmp<volScalarField> mu1
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const volScalarField& Theta,
|
|
||||||
const volScalarField& g0,
|
|
||||||
const dimensionedScalar& rho1,
|
|
||||||
const volScalarField& da,
|
|
||||||
const dimensionedScalar& e
|
|
||||||
) const = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace kineticTheoryModels
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -58,8 +58,6 @@ void Foam::multiphaseSystem::calcAlphas()
|
|||||||
|
|
||||||
void Foam::multiphaseSystem::solveAlphas()
|
void Foam::multiphaseSystem::solveAlphas()
|
||||||
{
|
{
|
||||||
surfaceScalarField phic(mag(phi_/mesh_.magSf()));
|
|
||||||
|
|
||||||
PtrList<surfaceScalarField> phiAlphaCorrs(phases_.size());
|
PtrList<surfaceScalarField> phiAlphaCorrs(phases_.size());
|
||||||
int phasei = 0;
|
int phasei = 0;
|
||||||
|
|
||||||
@ -94,6 +92,11 @@ void Foam::multiphaseSystem::solveAlphas()
|
|||||||
|
|
||||||
if (&phase2 == &phase1) continue;
|
if (&phase2 == &phase1) continue;
|
||||||
|
|
||||||
|
surfaceScalarField phic
|
||||||
|
(
|
||||||
|
(mag(phi_) + mag(phase1.phi() - phase2.phi()))/mesh_.magSf()
|
||||||
|
);
|
||||||
|
|
||||||
surfaceScalarField phir
|
surfaceScalarField phir
|
||||||
(
|
(
|
||||||
(phase1.phi() - phase2.phi())
|
(phase1.phi() - phase2.phi())
|
||||||
@ -186,32 +189,6 @@ void Foam::multiphaseSystem::solveAlphas()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::dimensionedScalar Foam::multiphaseSystem::sigma
|
|
||||||
(
|
|
||||||
const phaseModel& phase1,
|
|
||||||
const phaseModel& phase2
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
scalarCoeffTable::const_iterator sigma
|
|
||||||
(
|
|
||||||
sigmas_.find(interfacePair(phase1, phase2))
|
|
||||||
);
|
|
||||||
|
|
||||||
if (sigma == sigmas_.end())
|
|
||||||
{
|
|
||||||
FatalErrorIn
|
|
||||||
(
|
|
||||||
"multiphaseSystem::sigma(const phaseModel& phase1,"
|
|
||||||
"const phaseModel& phase2) const"
|
|
||||||
) << "Cannot find interface " << interfacePair(phase1, phase2)
|
|
||||||
<< " in list of sigma values"
|
|
||||||
<< exit(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
return dimensionedScalar("sigma", dimSigma_, sigma());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::scalar Foam::multiphaseSystem::cAlpha
|
Foam::scalar Foam::multiphaseSystem::cAlpha
|
||||||
(
|
(
|
||||||
const phaseModel& phase1,
|
const phaseModel& phase1,
|
||||||
@ -263,10 +240,10 @@ Foam::dimensionedScalar Foam::multiphaseSystem::Cvm
|
|||||||
|
|
||||||
FatalErrorIn
|
FatalErrorIn
|
||||||
(
|
(
|
||||||
"multiphaseSystem::sigma"
|
"multiphaseSystem::Cvm"
|
||||||
"(const phaseModel& phase1, const phaseModel& phase2) const"
|
"(const phaseModel& phase1, const phaseModel& phase2) const"
|
||||||
) << "Cannot find interface " << interfacePair(phase1, phase2)
|
) << "Cannot find interface " << interfacePair(phase1, phase2)
|
||||||
<< " in list of sigma values"
|
<< " in list of Cvm values"
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
|
|
||||||
return Cvm()*phase2.rho();
|
return Cvm()*phase2.rho();
|
||||||
@ -729,43 +706,46 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseSystem::dragCoeff
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::surfaceScalarField>
|
Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseSystem::surfaceTension
|
||||||
Foam::multiphaseSystem::surfaceTensionForce() const
|
(
|
||||||
|
const phaseModel& phase1
|
||||||
|
) const
|
||||||
{
|
{
|
||||||
tmp<surfaceScalarField> tstf
|
tmp<surfaceScalarField> tSurfaceTension
|
||||||
(
|
(
|
||||||
new surfaceScalarField
|
new surfaceScalarField
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
"surfaceTensionForce",
|
"surfaceTension",
|
||||||
mesh_.time().timeName(),
|
mesh_.time().timeName(),
|
||||||
mesh_
|
mesh_
|
||||||
),
|
),
|
||||||
mesh_,
|
mesh_,
|
||||||
dimensionedScalar
|
dimensionedScalar
|
||||||
(
|
(
|
||||||
"surfaceTensionForce",
|
"surfaceTension",
|
||||||
dimensionSet(1, -2, -2, 0, 0),
|
dimensionSet(1, -2, -2, 0, 0),
|
||||||
0.0
|
0
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
surfaceScalarField& stf = tstf();
|
forAllConstIter(PtrDictionary<phaseModel>, phases_, iter)
|
||||||
|
|
||||||
forAllConstIter(PtrDictionary<phaseModel>, phases_, iter1)
|
|
||||||
{
|
{
|
||||||
const phaseModel& phase1 = iter1();
|
const phaseModel& phase2 = iter();
|
||||||
|
|
||||||
PtrDictionary<phaseModel>::const_iterator iter2 = iter1;
|
if (&phase2 != &phase1)
|
||||||
++iter2;
|
|
||||||
|
|
||||||
for (; iter2 != phases_.end(); ++iter2)
|
|
||||||
{
|
{
|
||||||
const phaseModel& phase2 = iter2();
|
scalarCoeffTable::const_iterator sigma
|
||||||
|
(
|
||||||
|
sigmas_.find(interfacePair(phase1, phase2))
|
||||||
|
);
|
||||||
|
|
||||||
stf += sigma(phase1, phase2)
|
if (sigma != sigmas_.end())
|
||||||
|
{
|
||||||
|
tSurfaceTension() +=
|
||||||
|
dimensionedScalar("sigma", dimSigma_, sigma())
|
||||||
*fvc::interpolate(K(phase1, phase2))*
|
*fvc::interpolate(K(phase1, phase2))*
|
||||||
(
|
(
|
||||||
fvc::interpolate(phase2)*fvc::snGrad(phase1)
|
fvc::interpolate(phase2)*fvc::snGrad(phase1)
|
||||||
@ -773,8 +753,9 @@ Foam::multiphaseSystem::surfaceTensionForce() const
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return tstf;
|
return tSurfaceTension;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -196,12 +196,6 @@ private:
|
|||||||
|
|
||||||
void solveAlphas();
|
void solveAlphas();
|
||||||
|
|
||||||
dimensionedScalar sigma
|
|
||||||
(
|
|
||||||
const phaseModel& phase1,
|
|
||||||
const phaseModel& phase2
|
|
||||||
) const;
|
|
||||||
|
|
||||||
scalar cAlpha
|
scalar cAlpha
|
||||||
(
|
(
|
||||||
const phaseModel& phase1,
|
const phaseModel& phase1,
|
||||||
@ -299,7 +293,7 @@ public:
|
|||||||
const dragCoeffFields& dragCoeffs
|
const dragCoeffFields& dragCoeffs
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
tmp<surfaceScalarField> surfaceTensionForce() const;
|
tmp<surfaceScalarField> surfaceTension(const phaseModel& phase) const;
|
||||||
|
|
||||||
//- Indicator of the proximity of the interface
|
//- Indicator of the proximity of the interface
|
||||||
// Field values are 1 near and 0 away for the interface.
|
// Field values are 1 near and 0 away for the interface.
|
||||||
|
|||||||
@ -74,7 +74,11 @@
|
|||||||
(
|
(
|
||||||
(fvc::interpolate(HbyAs[phasei]) & mesh.Sf())
|
(fvc::interpolate(HbyAs[phasei]) & mesh.Sf())
|
||||||
+ fvc::ddtPhiCorr(rAUs[phasei], alpha, phase.U(), phase.phi())
|
+ fvc::ddtPhiCorr(rAUs[phasei], alpha, phase.U(), phase.phi())
|
||||||
+ rAlphaAUfs[phasei]*(g & mesh.Sf())
|
+ rAlphaAUfs[phasei]
|
||||||
|
*(
|
||||||
|
fluid.surfaceTension(phase)*mesh.magSf()/phase.rho()
|
||||||
|
+ (g & mesh.Sf())
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
mrfZones.relativeFlux(phiHbyAs[phasei]);
|
mrfZones.relativeFlux(phiHbyAs[phasei]);
|
||||||
|
|||||||
@ -16,7 +16,6 @@ conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C
|
|||||||
radialModel/radialModel/radialModel.C
|
radialModel/radialModel/radialModel.C
|
||||||
radialModel/radialModel/newRadialModel.C
|
radialModel/radialModel/newRadialModel.C
|
||||||
radialModel/CarnahanStarling/CarnahanStarlingRadial.C
|
radialModel/CarnahanStarling/CarnahanStarlingRadial.C
|
||||||
radialModel/Gidaspow/GidaspowRadial.C
|
|
||||||
radialModel/LunSavage/LunSavageRadial.C
|
radialModel/LunSavage/LunSavageRadial.C
|
||||||
radialModel/SinclairJackson/SinclairJacksonRadial.C
|
radialModel/SinclairJackson/SinclairJacksonRadial.C
|
||||||
|
|
||||||
|
|||||||
@ -79,7 +79,7 @@ Foam::kineticTheoryModel::kineticTheoryModel
|
|||||||
),
|
),
|
||||||
radialModel_
|
radialModel_
|
||||||
(
|
(
|
||||||
radialModel::New
|
kineticTheoryModels::radialModel::New
|
||||||
(
|
(
|
||||||
kineticTheoryProperties_
|
kineticTheoryProperties_
|
||||||
)
|
)
|
||||||
|
|||||||
@ -81,7 +81,7 @@ class kineticTheoryModel
|
|||||||
|
|
||||||
autoPtr<conductivityModel> conductivityModel_;
|
autoPtr<conductivityModel> conductivityModel_;
|
||||||
|
|
||||||
autoPtr<radialModel> radialModel_;
|
autoPtr<kineticTheoryModels::radialModel> radialModel_;
|
||||||
|
|
||||||
autoPtr<granularPressureModel> granularPressureModel_;
|
autoPtr<granularPressureModel> granularPressureModel_;
|
||||||
|
|
||||||
|
|||||||
@ -30,20 +30,29 @@ License
|
|||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(CarnahanStarlingRadial, 0);
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace radialModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(CarnahanStarling, 0);
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
addToRunTimeSelectionTable
|
||||||
(
|
(
|
||||||
radialModel,
|
radialModel,
|
||||||
CarnahanStarlingRadial,
|
CarnahanStarling,
|
||||||
dictionary
|
dictionary
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::CarnahanStarlingRadial::CarnahanStarlingRadial(const dictionary& dict)
|
Foam::kineticTheoryModels::radialModels::CarnahanStarling::CarnahanStarling
|
||||||
|
(
|
||||||
|
const dictionary& dict
|
||||||
|
)
|
||||||
:
|
:
|
||||||
radialModel(dict)
|
radialModel(dict)
|
||||||
{}
|
{}
|
||||||
@ -51,37 +60,38 @@ Foam::CarnahanStarlingRadial::CarnahanStarlingRadial(const dictionary& dict)
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::CarnahanStarlingRadial::~CarnahanStarlingRadial()
|
Foam::kineticTheoryModels::radialModels::CarnahanStarling::~CarnahanStarling()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::CarnahanStarlingRadial::g0
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
|
|
||||||
return
|
return
|
||||||
1.0/(1.0 - alpha1)
|
1.0/(1.0 - alpha)
|
||||||
+ 3.0*alpha1/(2.0*sqr(1.0 - alpha1))
|
+ 3.0*alpha/(2.0*sqr(1.0 - alpha))
|
||||||
+ sqr(alpha1)/(2.0*pow(1.0 - alpha1, 3));
|
+ sqr(alpha)/(2.0*pow(1.0 - alpha, 3));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::CarnahanStarlingRadial::g0prime
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::kineticTheoryModels::radialModels::CarnahanStarling::g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
- alpha1/sqr(1.0 - alpha1)
|
2.5/sqr(1.0 - alpha)
|
||||||
+ (3.0*(1.0 - alpha1) + 6.0*sqr(alpha1))/(2.0*(1.0 - alpha1))
|
+ 4.0*alpha/pow(1.0 - alpha, 3.0)
|
||||||
+ (2.0*alpha1*(1.0 - alpha1) + 3.0*pow(alpha1, 3))
|
+ 1.5*sqr(alpha)/pow(1.0 - alpha, 4.0);
|
||||||
/(2.0*pow(1.0 - alpha1, 4));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Class
|
Class
|
||||||
Foam::CarnahanStarlingRadial
|
Foam::kineticTheoryModels::radialModels::CarnahanStarling
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
||||||
@ -31,8 +31,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef CarnahanStarlingRadial_H
|
#ifndef CarnahanStarling_H
|
||||||
#define CarnahanStarlingRadial_H
|
#define CarnahanStarling_H
|
||||||
|
|
||||||
#include "radialModel.H"
|
#include "radialModel.H"
|
||||||
|
|
||||||
@ -40,12 +40,16 @@ SourceFiles
|
|||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace radialModels
|
||||||
|
{
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
Class CarnahanStarlingradial Declaration
|
Class CarnahanStarling Declaration
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
class CarnahanStarlingRadial
|
class CarnahanStarling
|
||||||
:
|
:
|
||||||
public radialModel
|
public radialModel
|
||||||
{
|
{
|
||||||
@ -59,11 +63,11 @@ public:
|
|||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from components
|
//- Construct from components
|
||||||
CarnahanStarlingRadial(const dictionary& dict);
|
CarnahanStarling(const dictionary& dict);
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~CarnahanStarlingRadial();
|
virtual ~CarnahanStarling();
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
// Member Functions
|
||||||
@ -71,13 +75,13 @@ public:
|
|||||||
|
|
||||||
tmp<volScalarField> g0
|
tmp<volScalarField> g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
tmp<volScalarField> g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
};
|
};
|
||||||
@ -85,6 +89,8 @@ public:
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace radialModels
|
||||||
|
} // End namespace kineticTheoryModels
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -1,82 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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 "GidaspowRadial.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
defineTypeNameAndDebug(GidaspowRadial, 0);
|
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
|
||||||
(
|
|
||||||
radialModel,
|
|
||||||
GidaspowRadial,
|
|
||||||
dictionary
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::GidaspowRadial::GidaspowRadial(const dictionary& dict)
|
|
||||||
:
|
|
||||||
radialModel(dict)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::GidaspowRadial::~GidaspowRadial()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::GidaspowRadial::g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return 0.6/(1.0 - pow(alpha1/alphaMax, 1.0/3.0));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::GidaspowRadial::g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return
|
|
||||||
(-1.0/5.0)*pow(alpha1/alphaMax, -2.0/3.0)
|
|
||||||
/(alphaMax*sqr(1.0 - pow(alpha1/alphaMax, 1.0/3.0)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2011-2012 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::GidaspowRadial
|
|
||||||
|
|
||||||
Description
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
GidaspowRadial.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef GidaspowRadial_H
|
|
||||||
#define GidaspowRadial_H
|
|
||||||
|
|
||||||
#include "radialModel.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class Gidaspowradial Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class GidaspowRadial
|
|
||||||
:
|
|
||||||
public radialModel
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("Gidaspow");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
GidaspowRadial(const dictionary& dict);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~GidaspowRadial();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
tmp<volScalarField> g0
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
|
||||||
(
|
|
||||||
const volScalarField& alpha1,
|
|
||||||
const dimensionedScalar& alphaMax
|
|
||||||
) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -30,20 +30,29 @@ License
|
|||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(LunSavageRadial, 0);
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace radialModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(LunSavage, 0);
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
addToRunTimeSelectionTable
|
||||||
(
|
(
|
||||||
radialModel,
|
radialModel,
|
||||||
LunSavageRadial,
|
LunSavage,
|
||||||
dictionary
|
dictionary
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::LunSavageRadial::LunSavageRadial(const dictionary& dict)
|
Foam::kineticTheoryModels::radialModels::LunSavage::LunSavage
|
||||||
|
(
|
||||||
|
const dictionary& dict
|
||||||
|
)
|
||||||
:
|
:
|
||||||
radialModel(dict)
|
radialModel(dict)
|
||||||
{}
|
{}
|
||||||
@ -51,30 +60,32 @@ Foam::LunSavageRadial::LunSavageRadial(const dictionary& dict)
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::LunSavageRadial::~LunSavageRadial()
|
Foam::kineticTheoryModels::radialModels::LunSavage::~LunSavage()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::LunSavageRadial::g0
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::kineticTheoryModels::radialModels::LunSavage::g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
|
|
||||||
return pow(1.0 - alpha1/alphaMax, -2.5*alphaMax);
|
return pow(1.0 - alpha/alphaMax, -2.5*alphaMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::LunSavageRadial::g0prime
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::kineticTheoryModels::radialModels::LunSavage::g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return 2.5*alphaMax*alpha1*pow(1.0 - alpha1, -1.0 - 2.5*alphaMax);
|
return 2.5*pow(1.0 - alpha/alphaMax, -1.0 - 2.5*alphaMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -22,17 +22,17 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Class
|
Class
|
||||||
Foam::LunSavageRadial
|
Foam::kineticTheoryModels::radialModels::LunSavage
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
LunSavageRadial.C
|
LunSavage.C
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef LunSavageRadial_H
|
#ifndef LunSavage_H
|
||||||
#define LunSavageRadial_H
|
#define LunSavage_H
|
||||||
|
|
||||||
#include "radialModel.H"
|
#include "radialModel.H"
|
||||||
|
|
||||||
@ -40,12 +40,16 @@ SourceFiles
|
|||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace radialModels
|
||||||
|
{
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
Class LunSavageradial Declaration
|
Class LunSavage Declaration
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
class LunSavageRadial
|
class LunSavage
|
||||||
:
|
:
|
||||||
public radialModel
|
public radialModel
|
||||||
{
|
{
|
||||||
@ -59,24 +63,24 @@ public:
|
|||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from components
|
//- Construct from components
|
||||||
LunSavageRadial(const dictionary& dict);
|
LunSavage(const dictionary& dict);
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~LunSavageRadial();
|
virtual ~LunSavage();
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
// Member Functions
|
||||||
|
|
||||||
tmp<volScalarField> g0
|
tmp<volScalarField> g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
tmp<volScalarField> g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
};
|
};
|
||||||
@ -84,6 +88,8 @@ public:
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace radialModels
|
||||||
|
} // End namespace kineticTheoryModels
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -30,20 +30,29 @@ License
|
|||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(SinclairJacksonRadial, 0);
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace radialModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(SinclairJackson, 0);
|
||||||
|
|
||||||
addToRunTimeSelectionTable
|
addToRunTimeSelectionTable
|
||||||
(
|
(
|
||||||
radialModel,
|
radialModel,
|
||||||
SinclairJacksonRadial,
|
SinclairJackson,
|
||||||
dictionary
|
dictionary
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::SinclairJacksonRadial::SinclairJacksonRadial(const dictionary& dict)
|
Foam::kineticTheoryModels::radialModels::SinclairJackson::SinclairJackson
|
||||||
|
(
|
||||||
|
const dictionary& dict
|
||||||
|
)
|
||||||
:
|
:
|
||||||
radialModel(dict)
|
radialModel(dict)
|
||||||
{}
|
{}
|
||||||
@ -51,31 +60,33 @@ Foam::SinclairJacksonRadial::SinclairJacksonRadial(const dictionary& dict)
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::SinclairJacksonRadial::~SinclairJacksonRadial()
|
Foam::kineticTheoryModels::radialModels::SinclairJackson::~SinclairJackson()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::SinclairJacksonRadial::g0
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::kineticTheoryModels::radialModels::SinclairJackson::g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return 1.0/(1.0 - pow(alpha1/alphaMax, 1.0/3.0));
|
return 1.0/(1.0 - pow(alpha/alphaMax, 1.0/3.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::SinclairJacksonRadial::g0prime
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::kineticTheoryModels::radialModels::SinclairJackson::g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
(-1.0/3.0)*pow(alpha1/alphaMax, -2.0/3.0)
|
(1.0/3.0)*pow(max(alpha, 1.0e-6)/alphaMax, -2.0/3.0)
|
||||||
/(alphaMax*sqr(1.0 - pow(alpha1/alphaMax, 1.0/3.0)));
|
/(alphaMax*sqr(1.0 - pow(alpha/alphaMax, 1.0/3.0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Class
|
Class
|
||||||
Foam::SinclairJacksonRadial
|
Foam::SinclairJackson
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
||||||
@ -31,8 +31,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef SinclairJacksonRadial_H
|
#ifndef SinclairJackson_H
|
||||||
#define SinclairJacksonRadial_H
|
#define SinclairJackson_H
|
||||||
|
|
||||||
#include "radialModel.H"
|
#include "radialModel.H"
|
||||||
|
|
||||||
@ -40,12 +40,16 @@ SourceFiles
|
|||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
namespace radialModels
|
||||||
|
{
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
Class SinclairJacksonradial Declaration
|
Class SinclairJackson Declaration
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
class SinclairJacksonRadial
|
class SinclairJackson
|
||||||
:
|
:
|
||||||
public radialModel
|
public radialModel
|
||||||
{
|
{
|
||||||
@ -59,24 +63,24 @@ public:
|
|||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from components
|
//- Construct from components
|
||||||
SinclairJacksonRadial(const dictionary& dict);
|
SinclairJackson(const dictionary& dict);
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~SinclairJacksonRadial();
|
virtual ~SinclairJackson();
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
// Member Functions
|
||||||
|
|
||||||
tmp<volScalarField> g0
|
tmp<volScalarField> g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
tmp<volScalarField> g0prime
|
tmp<volScalarField> g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const;
|
) const;
|
||||||
};
|
};
|
||||||
@ -84,6 +88,8 @@ public:
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace radialModels
|
||||||
|
} // End namespace kineticTheoryModels
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -27,7 +27,8 @@ License
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::autoPtr<Foam::radialModel> Foam::radialModel::New
|
Foam::autoPtr<Foam::kineticTheoryModels::radialModel>
|
||||||
|
Foam::kineticTheoryModels::radialModel::New
|
||||||
(
|
(
|
||||||
const dictionary& dict
|
const dictionary& dict
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -28,16 +28,19 @@ License
|
|||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(radialModel, 0);
|
defineTypeNameAndDebug(radialModel, 0);
|
||||||
|
|
||||||
defineRunTimeSelectionTable(radialModel, dictionary);
|
defineRunTimeSelectionTable(radialModel, dictionary);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::radialModel::radialModel
|
Foam::kineticTheoryModels::radialModel::radialModel
|
||||||
(
|
(
|
||||||
const dictionary& dict
|
const dictionary& dict
|
||||||
)
|
)
|
||||||
@ -48,7 +51,7 @@ Foam::radialModel::radialModel
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::radialModel::~radialModel()
|
Foam::kineticTheoryModels::radialModel::~radialModel()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Class
|
Class
|
||||||
Foam::radialModel
|
Foam::kineticTheoryModels::radialModel
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
radialModel.C
|
radialModel.C
|
||||||
@ -41,6 +41,8 @@ SourceFiles
|
|||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
|
namespace kineticTheoryModels
|
||||||
|
{
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
Class radialModel Declaration
|
Class radialModel Declaration
|
||||||
@ -105,14 +107,14 @@ public:
|
|||||||
//- Radial distribution function
|
//- Radial distribution function
|
||||||
virtual tmp<volScalarField> g0
|
virtual tmp<volScalarField> g0
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const = 0;
|
) const = 0;
|
||||||
|
|
||||||
//- Derivative of the radial distribution function
|
//- Derivative of the radial distribution function
|
||||||
virtual tmp<volScalarField> g0prime
|
virtual tmp<volScalarField> g0prime
|
||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha,
|
||||||
const dimensionedScalar& alphaMax
|
const dimensionedScalar& alphaMax
|
||||||
) const = 0;
|
) const = 0;
|
||||||
};
|
};
|
||||||
@ -120,6 +122,7 @@ public:
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace kineticTheoryModels
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -114,13 +114,6 @@ tmp<scalarField> nutURoughWallFunctionFvPatchScalarField::calcYPlus
|
|||||||
scalar yPlusLast = 0.0;
|
scalar yPlusLast = 0.0;
|
||||||
scalar dKsPlusdYPlus = roughnessHeight_/y[facei];
|
scalar dKsPlusdYPlus = roughnessHeight_/y[facei];
|
||||||
|
|
||||||
// Enforce the roughnessHeight to be less than the distance to
|
|
||||||
// the first cell centre
|
|
||||||
if (dKsPlusdYPlus > 1)
|
|
||||||
{
|
|
||||||
dKsPlusdYPlus = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Additional tuning parameter - nominally = 1
|
// Additional tuning parameter - nominally = 1
|
||||||
dKsPlusdYPlus *= roughnessFactor_;
|
dKsPlusdYPlus *= roughnessFactor_;
|
||||||
|
|
||||||
|
|||||||
@ -32,12 +32,11 @@ divSchemes
|
|||||||
div(phi,U) Gauss upwind;
|
div(phi,U) Gauss upwind;
|
||||||
div(phid,p) Gauss upwind;
|
div(phid,p) Gauss upwind;
|
||||||
div(phi,K) Gauss linear;
|
div(phi,K) Gauss linear;
|
||||||
div(phi,h) Gauss upwind;
|
|
||||||
div(phi,k) Gauss upwind;
|
div(phi,k) Gauss upwind;
|
||||||
div(phi,epsilon) Gauss upwind;
|
div(phi,epsilon) Gauss upwind;
|
||||||
div(U) Gauss linear;
|
div(U) Gauss linear;
|
||||||
div((muEff*dev2(T(grad(U))))) Gauss linear;
|
div((muEff*dev2(T(grad(U))))) Gauss linear;
|
||||||
div(phi,Yi_h) Gauss upwind;
|
div(phi,Yi_hs) Gauss upwind;
|
||||||
}
|
}
|
||||||
|
|
||||||
laplacianSchemes
|
laplacianSchemes
|
||||||
@ -49,7 +48,6 @@ laplacianSchemes
|
|||||||
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
|
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
|
||||||
laplacian(DREff,R) Gauss linear corrected;
|
laplacian(DREff,R) Gauss linear corrected;
|
||||||
laplacian((rho*(1|A(U))),p) Gauss linear corrected;
|
laplacian((rho*(1|A(U))),p) Gauss linear corrected;
|
||||||
laplacian(alphaEff,h) Gauss linear corrected;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interpolationSchemes
|
interpolationSchemes
|
||||||
|
|||||||
@ -32,12 +32,11 @@ divSchemes
|
|||||||
div(phi,U) Gauss upwind;
|
div(phi,U) Gauss upwind;
|
||||||
div(phid,p) Gauss upwind;
|
div(phid,p) Gauss upwind;
|
||||||
div(phi,K) Gauss linear;
|
div(phi,K) Gauss linear;
|
||||||
div(phi,h) Gauss upwind;
|
|
||||||
div(phi,k) Gauss upwind;
|
div(phi,k) Gauss upwind;
|
||||||
div(phi,epsilon) Gauss upwind;
|
div(phi,epsilon) Gauss upwind;
|
||||||
div(U) Gauss linear;
|
div(U) Gauss linear;
|
||||||
div((muEff*dev2(T(grad(U))))) Gauss linear;
|
div((muEff*dev2(T(grad(U))))) Gauss linear;
|
||||||
div(phi,Yi_h) Gauss upwind;
|
div(phi,Yi_hs) Gauss upwind;
|
||||||
}
|
}
|
||||||
|
|
||||||
laplacianSchemes
|
laplacianSchemes
|
||||||
|
|||||||
@ -41,7 +41,7 @@ granularPressureModel Lun;
|
|||||||
|
|
||||||
frictionalStressModel JohnsonJackson;
|
frictionalStressModel JohnsonJackson;
|
||||||
|
|
||||||
radialModel Gidaspow;
|
radialModel SinclairJackson;
|
||||||
|
|
||||||
HrenyaSinclairCoeffs
|
HrenyaSinclairCoeffs
|
||||||
{
|
{
|
||||||
|
|||||||
@ -41,7 +41,7 @@ granularPressureModel Lun;
|
|||||||
|
|
||||||
frictionalStressModel JohnsonJackson;
|
frictionalStressModel JohnsonJackson;
|
||||||
|
|
||||||
radialModel Gidaspow;
|
radialModel SinclairJackson;
|
||||||
|
|
||||||
HrenyaSinclairCoeffs
|
HrenyaSinclairCoeffs
|
||||||
{
|
{
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user