forceSubModel: stochasticDispersion

Syntax

Activate for a certain forceModel in its properties sub-dictionary in couplingProperties:

couplingProperties sub-dictionary of the force model in use.

forceSubModels
(
    stochasticDispersion;
);

Furthermore, the model settings in the additional constant/dispersionModel.dict file are applied:

kFieldName           word;
epsilonFieldName     word;
writeFields          Switch;
partTimeName         word;
partUfluctName       word;
ck                   scalar;
cl                   scalar;
randomTimeE          Switch;
  • kFieldName = name for internal turbulent kinetic energy field

  • epsilonFieldName = name for internal turbulent dissipation field

  • writeFields = write internal fields for postProcessing (default: false)

  • partTimeName = name of Lagrangian field for the dispersion time scale (default: “dispersionTime”)

  • partUfluctName = name of Lagrangian field for the dispersion velocity (default: “dispersionVel”)

  • ck = model constant for turbulent kinetic energy term. Identical with C_\mathrm{k} for a k-\epsilon-model.

  • cl = model constant to calculate Lagrangian integral time (0.15 for k-epsilon model)

  • randomTimeE = Switch to use random particle relaxation time (default: false)

Description

This forceSubModel enhances a given forceModel with a stochastic dispersion due to turbulence acting as an additional, randomic force term on the particles.

Starting from the Reynolds decomposition u = \overline{u} + u^\prime, the fluctuation u^\prime can be expressed as

u^\prime &= \zeta \sqrt{\overline{(u^\prime)^2}} \\
\mathrm{with} \quad \sqrt{\overline{(u^\prime)^2}} &= \sqrt{\overline{(v^\prime)^2}} = \sqrt{\overline{(w^\prime)^2}} = \sqrt{\frac{2 k}{3}}

for a k-\epsilon turbulence model, where \zeta is a normal- distributed random number and k is the turbulent kinetic energy. This fluctuating velocity component is saved and calculated for each individual particle. It is constant for the minimum of the eddy crossing time T_\mathrm{cross} and the eddy lifetime T_\mathrm{e}. Afterwards the above equation is recalculated for the particle.

The eddy crossing time is defined as

T_\mathrm{cross} = \tau_\mathrm{p} \ln \left( 1 - \frac{L_\mathrm{e}}{\tau_\mathrm{p} |u - u_\mathrm{p}|} \right)

where \tau_\mathrm{p} denotes the particle relaxation time, L_\mathrm{e} is the eddy length scale, and |u - u_\mathrm{p}| is the magnitude of the relative velocity. Further, \tau_\mathrm{p} and L_\mathrm{e} are calculated by

\tau_\mathrm{p} &= \frac{\rho_\mathrm{p} d_\mathrm{p}^2}{18 \mu_\mathrm{f}}  \\
L_\mathrm{e} &= T_\mathrm{e} \sqrt{\frac{2 k}{3}}

Here \rho_\mathrm{p} is the particle density which is retrieved from the DEM side. d_\mathrm{p} stands for the particle diameter and \mu_\mathrm{f} denotes the dynamic viscosity of the fluid.

The eddy lifetime is calculated by

T_\mathrm{e} &= 2 T_\mathrm{L} \\
\mathrm{or} \quad T_\mathrm{e} &= T_\mathrm{L} \ln(r)

where r is a uniform random number between 0 and 1. By default the first variant is used. The second one is selected by the flag randomTimeE in the model properties. Both use the Lagrangian integral time T_\mathrm{L} which is defined as

T_\mathrm{L} = C_\mathrm{L} \frac{k}{\epsilon}

with the simulation constant C_\mathrm{L} defined in the model properties.

Details on implementation and background of this model are given in [1] and [2].

Literature

[1] M.C. Gruber, S. Radl, J.G. Khinast. Coalescence and Break-Up in Bubble Columns: Euler-Lagrange Simulations Using a Stochastic Approach. Chem. Ing. Tech. 85 (2013): 1118–1130.

[2] J. Pozorski, J.P. Minier. On the Lagrangian turbulent dispersion models based on the Langevin equation. Int. J. Multiphase Flow 24 (1998): 913–945.

Restrictions

Note

This model does not work on dynamic meshes.

Note

This model may create instabilities in setups using an explicit momentum coupling term. To prevent this issue, use this model only in simulations with a pure implicit handling of momentum coupling on the CFD side by setting

momCoupleModels ( implicitCouple );

in constant/couplingProperties.