multiphaseEulerFoam: final version for ANL including ad hoc slamming energy attenuation source

This commit is contained in:
Henry
2011-12-28 17:50:55 +00:00
parent b79aa9d27f
commit 49cd1382c5
10 changed files with 1178 additions and 1283 deletions

View File

@ -31,6 +31,17 @@ forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
- fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U) - fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U)
//- (alpha*phase.rho())*fluid.lift(phase) //- (alpha*phase.rho())*fluid.lift(phase)
+ (alpha/phase.rho())*fluid.Svm(phase) + (alpha/phase.rho())*fluid.Svm(phase)
- fvm::Sp
(
slamDampCoeff
*max
(
mag(U.dimensionedInternalField()) - maxSlamVelocity,
dimensionedScalar("U0", dimVelocity, 0)
)
/pow(mesh.V(), 1.0/3.0),
U
)
) )
); );
mrfZones.addCoriolis(alpha, UEqns[phasei]); mrfZones.addCoriolis(alpha, UEqns[phasei]);

View File

@ -53,6 +53,15 @@
phi += fvc::interpolate(alpha)*phase.phi(); phi += fvc::interpolate(alpha)*phase.phi();
} }
scalar slamDampCoeff(readScalar(fluid.lookup("slamDampCoeff")));
dimensionedScalar maxSlamVelocity
(
"maxSlamVelocity",
dimVelocity,
fluid.lookup("maxSlamVelocity")
);
// dimensionedScalar pMin // dimensionedScalar pMin
// ( // (
// "pMin", // "pMin",

View File

@ -1,80 +0,0 @@
volScalarField dragCoeff
(
IOobject
(
"dragCoeff",
runTime.timeName(),
mesh
),
mesh,
dimensionedScalar("dragCoeff", dimensionSet(1, -3, -1, 0, 0), 0)
);
volVectorField liftForce
(
IOobject
(
"liftForce",
runTime.timeName(),
mesh
),
mesh,
dimensionedVector("liftForce", dimensionSet(1, -2, -2, 0, 0), vector::zero)
);
volScalarField heatTransferCoeff
(
IOobject
(
"heatTransferCoeff",
runTime.timeName(),
mesh
),
mesh,
dimensionedScalar("heatTransferCoeff", dimensionSet(1, -1, -3, -1, 0), 0)
);
{
volVectorField Ur = U1 - U2;
volScalarField magUr = mag(Ur);
if (dispersedPhase == "1")
{
dragCoeff = drag1->K(magUr);
heatTransferCoeff = heatTransfer1->K(magUr);
}
else if (dispersedPhase == "2")
{
dragCoeff = drag2->K(magUr);
heatTransferCoeff = heatTransfer2->K(magUr);
}
else if (dispersedPhase == "both")
{
dragCoeff =
(
alpha2*drag1->K(magUr)
+ alpha1*drag2->K(magUr)
);
heatTransferCoeff =
(
alpha2*heatTransfer1->K(magUr)
+ alpha1*heatTransfer2->K(magUr)
);
}
else
{
FatalErrorIn(args.executable())
<< "dispersedPhase: " << dispersedPhase << " is incorrect"
<< exit(FatalError);
}
volScalarField alphaCoeff
(
(alpha1 + minInterfaceAlpha)*(alpha2 + minInterfaceAlpha)
);
dragCoeff *= alphaCoeff;
heatTransferCoeff *= alphaCoeff;
liftForce = Cl*(alpha1*rho1 + alpha2*rho2)*(Ur ^ fvc::curl(U));
}

View File

@ -82,7 +82,6 @@ int main(int argc, char *argv[])
rho = fluid.rho(); rho = fluid.rho();
#include "zonePhaseVolumes.H" #include "zonePhaseVolumes.H"
//#include "interfacialCoeffs.H"
//#include "TEqns.H" //#include "TEqns.H"
#include "UEqns.H" #include "UEqns.H"

View File

@ -37,8 +37,10 @@
U0s.set(phasei, new volVectorField(phase.U())); U0s.set(phasei, new volVectorField(phase.U()));
phi0s.set(phasei, new surfaceScalarField(phase.phi())); phi0s.set(phasei, new surfaceScalarField(phase.phi()));
mrfZones.absoluteFlux(phi0s[phasei]);
phasei++; phasei++;
} }
surfaceScalarField phi0 surfaceScalarField phi0
@ -67,6 +69,8 @@
phase.U() = rAUs[phasei]*UEqns[phasei].H(); phase.U() = rAUs[phasei]*UEqns[phasei].H();
phase.phi().oldTime();
mrfZones.absoluteFlux(phase.phi().oldTime());
mrfZones.absoluteFlux(phase.phi()); mrfZones.absoluteFlux(phase.phi());
phase.phi() = phase.phi() =
( (
@ -74,7 +78,8 @@
+ fvc::ddtPhiCorr(rAUs[phasei], alpha, phase.U(), phase.phi()) + fvc::ddtPhiCorr(rAUs[phasei], alpha, phase.U(), phase.phi())
); );
mrfZones.relativeFlux(phase.phi()); mrfZones.relativeFlux(phase.phi());
surfaceScalarField pphi0("pphi0", phase.phi()); mrfZones.relativeFlux(phase.phi().oldTime());
surfaceScalarField pphi0("pphi0", 1.0*phase.phi());
pphi0 += rAlphaAUfs[phasei]*(g & mesh.Sf()); pphi0 += rAlphaAUfs[phasei]*(g & mesh.Sf());
multiphaseSystem::dragModelTable::const_iterator dmIter = multiphaseSystem::dragModelTable::const_iterator dmIter =
@ -254,9 +259,17 @@
phasej++; phasej++;
} }
phase.U() += // phase.U() +=
(1.0/phase.rho()) // (1.0/phase.rho())*rAUs[phasei]*(*dcIter())
*rAUs[phasei]*(*dcIter())*U0s[phasej]; // *U0s[phasej];
phase.U() += fvc::reconstruct
(
fvc::interpolate
(
(1.0/phase.rho())*rAUs[phasei]*(*dcIter())
)*phi0s[phasej]
);
} }
} }

View File

@ -970,381 +970,381 @@ internalField nonuniform List<scalar>
0 0
0 0
0 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 1
1 1
1 1

View File

@ -970,381 +970,381 @@ internalField nonuniform List<scalar>
1 1
1 1
1 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 0
0 0
0 0

View File

@ -970,381 +970,381 @@ internalField nonuniform List<scalar>
1 1
1 1
1 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 0
0 0
0 0

View File

@ -15,7 +15,7 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
LESModel Smagorinsky; LESModel laminar;
printCoeffs on; printCoeffs on;
@ -26,61 +26,4 @@ cubeRootVolCoeffs
deltaCoeff 1; deltaCoeff 1;
} }
PrandtlCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Cdelta 0.158;
}
vanDriestCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Aplus 26;
Cdelta 0.158;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -25,7 +25,7 @@ regions
( (
boxToCell boxToCell
{ {
box (0 0 -0.1) (0.15 0.501 0.1); box (0 0 -0.1) (0.15 0.701 0.1);
fieldValues fieldValues
( (
volScalarFieldValue alphaair 0 volScalarFieldValue alphaair 0