Skip to content

Multiphase Separation: Setting Density and Viscosity ratios

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics Multiphase Separation: Setting Density and Viscosity ratios

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #6540
    joeruan
    Participant

    Hi, I’m not sure where to direct this, so hopefully someone can help.

    I’m trying to replicate phase separation done in the following paper “https://www.frontiersin.org/articles/10.3389/feart.2021.748450/full”, and I’ve played around with the phase separation examples in the examples directory, but for the life of me, I cannot figure out how I could set 1) the density ratios for a single fluid and 2) the viscosity ratios between the two phases of the same fluid in the example phase separation code. My current plan of action is to modify the phase separation example and responses that focus on this line of action would be preferable to (and more helpful than!) suggestions of alternatives or writing a C++ script from scratch.

    What I’ve done so far:
    I’ve looked through the developer guide for hints on how to modify the phase separation example, but comments on exactly what the inputs are is pretty sparse. Specifically for including two phases with different densities, for example, in “interactionPotentials.hh”, shanchen94 takes as input rho and psi (not passed in the example script), but it’s not clear what those values are, and how they relate to the the rho0 vector set in the phase separation example (passed as an input to the ShanChenForcedSingleComponentGenerator2D object) or the initial rho defined in the example in prepareGeometry. If someone could help explain this to me, that’d be fantastic.

    As for the viscosity ratios, this is slightly more unclear. Since viscosity is handled by the relaxation frequency omega, which is passed as input to the ForcedShanChenBGKdynamics object and later coupled with the lattice, and as only one omega is specified, this leads me to believe only one viscosity is possible to be specified per given lattice. So, for two phases (which have different constituitive viscosiies), how do you make them different? Would this actually require two lattices? Or am I missing something?

    Finally, more of a fundamental question. The interaction parameter G, from literature, seems to be calibrated based on pressure, density and speed of sound measurements, multiplied by the simulation specific relaxation time. How possible would it be to modify G throughout the simulation? Or is it fixed?

    Thanks!

    #6565
    stephan
    Moderator

    Dear joeruan,

    thanks for posting.

    (1) You can modify the density ratio in the phaseSeparation examples by definition of the initial density profile. The Shan-Chen models currently implemented in OpenLB can be found in src/dynamics/interactionPotential.*. The one used in examples/multiComponent/phaseSeparation2d/ for example is taken from https://doi.org/10.1103/PhysRevE.49.2941 and is based on a single distribution realization. The default values for rho and psi are 200 and 4, respectively (see .h file).

    (2) Yes, the modification of viscosity most probably has to be addressed with a second lattice.
    For two components, see examples/multiComponent/rayleighTaylor2d/.
    However, (to the best of my knowledge) due to numerical reasons, non-marginal viscosity ratios would require a modification of the present code. I can recommend https://www.wiley.com/en-us/Multiphase+Lattice+Boltzmann+Methods%3A+Theory+and+Application-p-9781118971338, or https://link.springer.com/book/10.1007/978-3-319-44649-3 for further reading.

    (3) From a purely technical point of view you could make the interaction parameter non constant an pass it to the coupling. Maybe a few other modifications are required.

    BR
    Stephan

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