multiphaseEulerFoam: Change the specification of the residual drag and smooth the drag phase-fraction pre-factor
* The residual drag is now specified in terms of a residual phase-fraction and slip-velocity. * The drag phase-fraction pre-factor is smoothed so that the computational molecule matches that of the transport terms.
This commit is contained in:
parent
486fd2463f
commit
a5eaa2bafd
@ -46,11 +46,17 @@ Foam::dragModel::dragModel
|
||||
interfaceDict_(interfaceDict),
|
||||
phase1_(phase1),
|
||||
phase2_(phase2),
|
||||
residualDrag_
|
||||
residualPhaseFraction_
|
||||
(
|
||||
"residualDrag",
|
||||
dimensionSet(1, -3, -1, 0, 0),
|
||||
interfaceDict.lookup("residualDrag")
|
||||
"residualPhaseFraction",
|
||||
dimless,
|
||||
interfaceDict.lookup("residualPhaseFraction")
|
||||
),
|
||||
residualSlip_
|
||||
(
|
||||
"residualSlip",
|
||||
dimVelocity,
|
||||
interfaceDict.lookup("residualSlip")
|
||||
)
|
||||
{}
|
||||
|
||||
|
@ -57,7 +57,8 @@ protected:
|
||||
const dictionary& interfaceDict_;
|
||||
const phaseModel& phase1_;
|
||||
const phaseModel& phase2_;
|
||||
dimensionedScalar residualDrag_;
|
||||
dimensionedScalar residualPhaseFraction_;
|
||||
dimensionedScalar residualSlip_;
|
||||
|
||||
public:
|
||||
|
||||
@ -117,9 +118,14 @@ public:
|
||||
return phase2_;
|
||||
}
|
||||
|
||||
const dimensionedScalar& residualDrag() const
|
||||
const dimensionedScalar& residualPhaseFraction() const
|
||||
{
|
||||
return residualDrag_;
|
||||
return residualPhaseFraction_;
|
||||
}
|
||||
|
||||
const dimensionedScalar& residualSlip() const
|
||||
{
|
||||
return residualSlip_;
|
||||
}
|
||||
|
||||
//- the dragfunction K used in the momentum eq.
|
||||
|
@ -30,6 +30,7 @@ License
|
||||
#include "MULES.H"
|
||||
#include "fvcSnGrad.H"
|
||||
#include "fvcFlux.H"
|
||||
#include "fvcAverage.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * Static Member Data * * * * * * * * * * * * //
|
||||
|
||||
@ -626,9 +627,20 @@ Foam::multiphaseSystem::dragCoeffs() const
|
||||
(
|
||||
iter.key(),
|
||||
(
|
||||
dm.phase1()*dm.phase2()
|
||||
*dm.K(mag(dm.phase1().U() - dm.phase2().U()))
|
||||
+ dm.residualDrag()
|
||||
max
|
||||
(
|
||||
fvc::average(dm.phase1())*fvc::average(dm.phase2()),
|
||||
//dm.phase1()*dm.phase2(),
|
||||
dm.residualPhaseFraction()
|
||||
)
|
||||
*dm.K
|
||||
(
|
||||
max
|
||||
(
|
||||
mag(dm.phase1().U() - dm.phase2().U()),
|
||||
dm.residualSlip()
|
||||
)
|
||||
)
|
||||
).ptr()
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user