Skip to content
SHD Sim
Menu

Validation/Drift flux

A sealed settling column

Kynch predicts a rate, and predicts that it is constant — so one agreeing number is not enough to pass. Two of the checks need no theory at all: a sealed column cannot lose solid, and a volume fraction cannot leave [0, 1].

VerificationMudline descent 5.7135 × 10⁻⁴ m/s against Kynch’s 5.7094 × 10⁻⁴ m/s, +0.072 %

Why this case

The drift-flux family has one solver in it and no reference behind it, and the thing the product suggests using it for is a settling tank. The oldest quantitative statement about a settling tank is Kynch’s, and it is unusually well suited to being checked: it predicts not a profile but a rate, and the rate is constant, which means a single agreeing number is not enough to pass.

Seal a column of uniform suspension and leave it. Particles fall, a layer of clear liquid opens at the top, and the boundary between the two — the mudline — descends at a constant velocity until it meets the bed rising from the floor. That velocity is a shock speed in the settling flux, and for a jump from clear liquid down to the initial concentration it is exactly the settling velocity at that concentration.

PhysicsDrift flux — a mixture momentum equation with the dispersed phase carried at U + Udm
Column0.8 m tall, sealed on every face; 160 layers of 5 mm, 4 × 4 across, 2560 cells
SuspensionUniform α₀ = 0.001 of the staged phase pair — water dispersed in air, ρd = 998.2, ρc = 1.225 kg/m³
Settling lawrelativeVelocityModel `simple`, V₀ = 0.002 m/s downwards, a = 285.84, read out of the case
Viscosity`plastic`, not the staged BinghamPlastic — see the fixtures
TurbulenceLaminar, not the staged kEpsilon — see the fixtures
TimeTo 420.36 s, sampled at 20 write times, over which the mudline crosses 30 % of the column
ReferenceKynch (1952), A theory of sedimentation, Transactions of the Faraday Society 48, 166–176
AgreementMudline descent 5.713488 × 10⁻⁴ m/s against Kynch’s 5.709353 × 10⁻⁴ m/s — +0.072 %

The reference

Kynch’s theory treats the concentration as a kinematic wave. With a settling flux F(α) = α Ud(α), the interface between clear liquid and the initial suspension is a shock, and Rankine–Hugoniot gives its speed as the chord of the flux from the origin:

Kynch (1952)

    sigma = [F(a0) - F(0)] / (a0 - 0) = F(a0)/a0 = |Ud(a0)|

F is not taken from a textbook. It is assembled from what the application itself writes — relativeVelocityModel simple, its V₀ and its a, and the two phase densities — together with OpenFOAM’s own one-line implementation of that model:

    Udm(a) = (rhoc / (a rhod + (1-a) rhoc)) V0 10^(-a a_coeff)

    and in a sealed column U is divergence-free with no flux
    through any face, so U = 0 and  Ud(a) = Udm(a)

The harness confirms the reference before comparing anything with it: that the shock speed is the chord of the flux, that the chord equals |Ud(α₀)| — which is the statement Kynch actually makes — and that the jump satisfies the Lax entropy condition. That last one is not a formality. The characteristic speed on the clear-liquid side is F′(0) = |V₀| = 0.002 m/s, which is 3.503 times the shock speed, so the characteristics do run down onto the jump and the interface is a shock rather than a fan. If it were not, there would be no constant descent rate for the run to be compared with at all.

The reference, evaluated from the case's own dictionary
QuantityValue
Settling velocity at α₀, |Ud(α₀)|5.709353 × 10⁻⁴ m/s
Kynch shock speed σ5.709353 × 10⁻⁴ m/s — the same number, as the theory requires
F′(0) = |V₀|2.0 × 10⁻³ m/s
Lax ratio F′(0)/σ3.503, and the condition needs it at or above 1
All four from the fixture's reference block, which the harness computes from V₀, a, ρc and ρd as written by the application.

Two statements that need no reference at all

Kynch can be agreed with by a run that is nonetheless wrong, and on this family the checks that actually fire are the two that need nobody’s theory.

Nothing leaves a sealed column, so the integral of α over the domain is constant. Measured, it drifts by 3.105 × 10⁻⁹ of its initial value.

α is a volume fraction, so it lies between zero and the maximum packing the mixture declares, which here is 1. Measured, α runs from 1.07 × 10⁻¹⁵ to 4.435 × 10⁻³ — the clear layer clears to round-off and the bed builds to about four and a half times the initial concentration, both inside the bound.

Result

Kynch says the rate is constant, so the fit is asked about its own straightness before its slope is compared with anything.

The mudline over 420 s, against Kynch
QuantityMeasuredReference or limit
Descent rate5.713488 × 10⁻⁴ m/s5.709353 × 10⁻⁴ m/s — +0.072 %
Total descent0.23752 m, which is 47.5 cellsharness floor is 20 cells
Worst departure from a straight line4.02 % of the descentharness limit 8 %
Mudline at the end of the run0.560 m — 0.700 of the column heightmust stay above 0.4, or it has met the bed
Width of the mudline1 cellharness limit 12 cells
Solid volume drift3.105 × 10⁻⁹10⁻⁵
α range1.07 × 10⁻¹⁵ to 4.435 × 10⁻³[0, 1]
Every measured value is read out of the fixture; the +0.072 % is the measured rate against the reference σ in the table above.

The end time is not arbitrary. Kynch’s rate is constant only until the descending mudline meets the bed rising from the floor, after which the two shocks interact and the interface correctly slows down. The run stops with the mudline at 70 % of the column height, so the whole of the fit is over the phase the reference describes.

Is the mixture at rest?

The reference is Udm alone, and that is only the transport velocity because the mixture velocity U contributes nothing. In a sealed column that follows from continuity: the pressure equation makes U divergence-free and no face passes flux, so the net flow across every horizontal plane is zero.

That is the number to watch, rather than the point maximum — a divergence-free eddy has large local velocities and carries nothing across a plane. Measured, the net flow across a horizontal plane is 5.587 × 10⁻⁵ m/s, which is 0.098 times the settling rate. It is not zero, and the page reports it rather than rounding it away; the harness fails the case only above 1.0, and the Bingham fixture below reaches 71.

Three fixtures, and every one is a product default

Each of these leaves one thing at the setting the application ships and changes nothing else, so each says what that one setting costs. None of them is a hand-broken case.

What the staged settings do to the column
FixtureWhat it leaves as stagedDescent rateWhat actually goes wrong
Open topthe atmosphere patch on the top of the tank+1.26 % — inside the tolerance26.4 % of the solid vents out of the tank. This is the argument for the mass check existing at all: on the headline number, the venting tank passes.
BinghamtransportModel BinghamPlastic−11.57 %Its viscosity is the yield stress over the strain rate, so a column at rest sits on muMax and the first round-off velocity collapses it. The column carries 71.4 times the settling rate across its own horizontal planes and the mudline smears over 21 cells.
RASthe staged kEpsilon, k = 0.01472 and ε = 0.00419+17.14 %driftFluxFoam subtracts laplacian(nut, α) from the α equation, so nut is 4.7 × 10⁻³ m²/s of eddy diffusivity for the concentration. The mudline spreads over 55 of the 160 cells and the clear layer never clears — minimum α 3.6 × 10⁻⁵ against a start of 10⁻³.
Rates and spreads are read out of the three fixtures; the percentages are those rates against the same reference σ.

Two of those were also measured against a case with an exact answer that needs no theory at all: the same column with the drift velocity set to zero, where the correct outcome is that nothing happens. The open column loses 40 % of its solid in five seconds while the sealed one holds it exactly. And with BinghamPlastic the column reaches max|U| = 2.24 × 10⁻¹ m/s in a fluid that should never move, against 6.68 × 10⁻¹³ m/s with plastic and nothing else changed.

What this page does not establish

  • Only the first shock is checked. Kynch’s theory also describes the bed rising from the floor, the concentration discontinuities inside it and the moment the two interfaces meet. The run is deliberately stopped at 70 % of the column height, before any of that, because past the meeting the descent rate is no longer constant. None of the compression behaviour is tested here.
  • One concentration, and a dilute one. α₀ = 0.001. The flux law’s hindered-settling factor 10⁻ᵃᵅ, which is the whole reason F is curved, is 0.518 here and 1.4 × 10⁻³ at α = 0.01. A single α₀ tests the flux law at one point on a curve and says nothing about the shape of it away from there.
  • The phase pair is the staged one: water dispersed in air. That is what the application writes for this family, not a slurry. The theory does not care, and the reference is computed from those densities, but nobody should read this page as a thickener validation.
  • The column is not perfectly at rest. The net flow across a horizontal plane is 0.098 of the settling rate rather than zero. It is small, and it is well below where the harness stops trusting the comparison, but the reference assumes it is identically zero and this run does not achieve that.
  • The 4.02 % departure from a straight line is reported, not attributed. The case was run at one mesh and one time step, so nothing here separates discretisation of the front from the finite width of a mudline that is being tracked to a single cell.
  • Turbulence and a yield stress are excluded rather than modelled. Both are switched off to make the reference exact, and the fixtures above show what leaving them on costs. Neither of those runs is a validation of the model that was switched off.

Repeat this yourself

Every case here is set up from the worked examples in the product, with no hand-editing of solver files — so you can run it, and get the same numbers. The free tier runs real cases up to 250,000 cells of fluids, or 100,000 nodes of solid, with no account needed to download and no time limit.

All validation cases · Written by the team building SHD Sim.