Force models¶
Get started:¶
This module offers different models to introduce a body force in the lattice Boltzmann scheme.
If you don’t know which model to choose, use lbmpy.forcemodels.Schiller
.
For incompressible collision models the lbmpy.forcemodels.Buick
model can be better.
Detailed information:¶
Force models add a term \(C_F\) to the collision equation:
The form of this term depends on the concrete force model: the first moment of this forcing term is equal to the acceleration \(\pmb{a}\) for all force models.
The second order moment is different for the forcing models - if it is zero the model is suited for incompressible flows. For weakly compressible collision operators a force model with a corrected second order moment should be chosen.
Models with zero second order moment have:
Models with nonzero second moment have:
For all force models the computation of the macroscopic velocity has to be adapted (shifted) by adding a term \(S_{macro}\) that we call “macroscopic velocity shift”
\[ \begin{align}\begin{aligned}\pmb{u} = \sum_q \pmb{c}_q f_q + S_{macro}\\S_{macro} = \frac{\Delta t}{2} \sum_q F_q\end{aligned}\end{align} \]
Some models also shift the velocity entering the equilibrium distribution.
Comparison¶
Force models can be distinguished by 2 options:
- Option 1:
\(C_F = 1\) and equilibrium velocity is not shifted, or \(C_F=(1 - \frac{\omega}{2})\) and equilibrum is shifted.
- Option 2:
second velocity moment is zero or \(F_i u_j + F_j u_i\)
Option2 \ Option1 |
no equilibrium shift |
equilibrium shift |
---|---|---|
second moment zero |
|
|
second moment nonzero |
|
|
-
class
Simple
(force)¶ A simple force model which introduces the following additional force term in the collision process \(\frac{w_q}{c_s^2} c_{qi} \; a_i\) (often: force = rho * acceleration) Should only be used with constant forces! Shifts the macroscopic velocity by F/2, but does not change the equilibrium velocity.
-
class
Luo
(force)¶ Force model by Luo [Luo93].
Shifts the macroscopic velocity by F/2, but does not change the equilibrium velocity.
-
class
Guo
(force)¶ Force model by Guo [GZS02] Adapts the calculation of the macroscopic velocity as well as the equilibrium velocity (both shifted by F/2)!
-
class
Schiller
(force)¶ Force model by Schiller [Sch08], equation 4.67 Equivalent to Guo but not restricted to SRT.
-
class
Buick
(force)¶ This force model [BG00] has a force term with zero second moment. It is suited for incompressible lattice models.
-
class
EDM
(force)¶ Exact differencing force model