Skip to content

component velocity in Shanchen multicomponent model

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics component velocity in Shanchen multicomponent model

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #6074

    When I simulated the Oil/Water flow with ShanChen multicomponent model, I compiled my own codes based on the example ones “rayleighTaylror2d”. In the “getResults” part, SuperLatticeVelocity2D was used to write the component velocity. However, when I changed the input parameter from sLatticeOne to sLatticeTwo, the output velocity shown in paraview didnot change. Then I tried to check the souce code in openlb. I found the ForcedBGKdynamics or ForcedShanchendynamics was used for the bulkdynamic, where the getExternalVelocityMonenta was used. The common velocity shared by both components was stored in the descriptos::ExternalField::velocityBeginsAt (version olb-1.2) or descriptors::VELOCITY(version olb-1.4). In the ExternalVelocityMomenta, the function computeU used this common velocity as component velocity, but not compute the velocity via population.
    Furthermore, whether the ForcedBGKdynamics use Guo’s forceing scheme. If it is ture, the barycentric velocity but not the common velocity should be used.


    The _external_ velocity field is used to realize the coupling og the lattices. As you observed this was originally stored / referred to using offsets into an array and has since been replaced by a significantly more flexible and maintainable descriptor field concept.

    ForcedBGKdynamics use the forcing scheme by Guo (10.1103/PhysRevE.65.046308).

    The fully model of the system results of these dynamics and the coupling instantiated by ShanChenForcedGenerator2D. There the value of the VELOCITY field is set to the local momentum (using computeJ i.e. computed from the populations).


    Thanks for your reply.
    As described in “The Lattice Boltzmann Method:Principle and Practice”(Chapter 6) by Timm Kruger and the paper you mentioned, Guo’s force is used for the single phase flow. However, for the multiphase flow, Tim Kruger pointed that the barycentric velocity Ub should be used (Chapter 9, Page 382,eq(9.124)). This velocity should be same for both components (Page 383,eq(9.127)), i.e.,Ueq=Ub.
    In openlb, the ForcedBGKdynamics, the snippet in member collid is simply: u+=force/2, not corrected with the density averaged force. This also makes the component Ueq different.


    Dear Gloriousface,

    sorry for the late reply.

    Thank you for reading carefully.
    We will definitely look into that.

    In the meantime, as you seem to have some experience with this, you could test correcting the force yourself, have a look at the results and report the observations here.

    In case you have further remarks, please let us know.


Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.