OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › Pseudopotential multiphase method boundaries and thermal coupling
This topic contains 7 replies, has 3 voices, and was last updated by mithdradates 3 months, 1 week ago.

AuthorPosts

June 2, 2019 at 10:33 pm #4434
Hello. I’ve started working on a simple droplet evaporation problem, but I’ve run into several problems:
1) As far as I understand basic OpenLB (single component) ShanChen implementation only allows either periodic or bounceback boundaries ? Because whenever I try to impose e.g. Dirichlet or Neumann BC the code fails. But I’ve seen e.g. ZouHe constant pressure boundary utilized together with SCMP ShanChen model in literature (although, no one mentions how they implemented it in order to work with SC model…). Does anyone know how should I modify the SCMP code in order for it to work with different boundaries ?2) Second difficulty I ran into is the problem with thermal models. I run SCMP with CarnahanStarling EOS (through interaction potential) and when I try to couple my AdvDiff lattice through it via the modified operator() which allows temperature changes, the code fails. How do I couple the temperature from AdvDiff with fluid then ? I don’t think Boussinesq approximation works in multiphase case because of major density variations in the liquidvapor interface.
I’ve tried two models (Gong, Cheng, 2012 and Kamali et. al, 2013), but to no avail. Temperatures produced by them are adequate – my initial temperature is 0.8 * Tc and the variations due to spurious currents are in the range of 0.76 * Tc – 0.82 * Tc which is fine and shouldn’t lead to major instabilities (at least to my knowledge). I add additional terms from these models through source term in sourced AdvDiff.
3) Could someone explain why source term is implemented as follows:
source[0] * (1 – 0.5 * omega) * t_i ? I’ve usually seen in literature that source terms is simply equal to source[0] * t_i, while the additional multiplication by (1 – 0.5 * omega) is used for various correction terms (e.g. to compensate for force term in fluid equation).Thanks in advance!
 This topic was modified 3 months, 2 weeks ago by mithdradates.
June 4, 2019 at 6:26 am #4437Hi mithdrates,
I assume you use the latest version of OpenLB, 1.3? If not, I recommend checking the latest version first.
to 1) The SCCoupling accesses neighboring cells and calls
calcRho
on them. However, for boundary cells not every neighbor is a valid cell. Thus try to add the coupling procedure only on fluid cells, rather than the whole lattice. Do so by changing the linesLattice.addLatticeCoupling( coupling, sLattice );
tosLattice.addLatticeCoupling( superGeometry, 1, coupling, sLattice);
. This will execute the coupling only on cells with material number 1.to 2) If I understand correctly, what you could try is setting a constant gravitational force to the whole domain. The thermal SCMethod will then change the density for every cell according to the EOC, which will result in buoyancy. Stability with these coupled methods is not easy to achieve, I recommend to use proposed parameters from the literature first and then evolve from that to analyse the stable domain.
to 3) the sourced advectiondiffusion dynamics are implemented after
Seta, T. (2013). Implicit temperaturecorrectionbased immersedboundary thermal lattice Boltzmann method for the simulation of natural convection. Physical Review E, 87(6), 063304.
Have a look in there for details of the source term.
Best regards,
MaxJune 4, 2019 at 12:50 pm #4438Hello, Max
Yes, I’m using the latest version of OpenLB.
1) Ok, I’ll try. Thanks for the suggestion!
2) Sorry, I don’t quite understand why I need gravitational force in the domain ? My initial idea was to use thermal SCMP SHanChen method as you suggested – to change density in every cell of the lattice according to their respective temperatures through EOS, but the simulation quickly destabilizies :\ Yes, I’ve tried with numbers from literature, the result is the same.
3) Okay, thanks!
June 4, 2019 at 7:11 pm #4439I’m unable to edit my post, I’d like to add that I tried your suggestion 1 and the results are still the same. I can’t even implement a solid wall boundary, because the code instantly fails when periodicity is turned off. Any help would be appreciated.
 This reply was modified 3 months, 2 weeks ago by mithdradates.
 This reply was modified 3 months, 2 weeks ago by mithdradates.
June 4, 2019 at 7:25 pm #4442Please, have a look of how it is realized with similar code and change it step by step. Also, we will have a spring school next year where we explain the code also step by step.
The cells in the envelope (ghost cells) must not be changed manually!
June 5, 2019 at 8:28 pm #4443Thank you, I was able to implement a solid wall boundary via virtual densities method. But I’m still struggling with other boundary conditions. I have a question about envelope cells in SCMP ShanChen model – if e.g. I’m using SCMP for fluid only (material number 1) and fluid is constrained by boundaries on edges (material number 2), then “envelope” cells used in SCMP (newX01 etc.) are the boundary nodes or still the actual envelope nodes (outside of computational domain) ?
 This reply was modified 3 months, 2 weeks ago by mithdradates.
 This reply was modified 3 months, 2 weeks ago by mithdradates.
June 7, 2019 at 7:41 am #4446Hi mithdradates,
that depends on your definition of the coupling. If you chose to run the coupling over material 1 cells, the envelop cells will be either other cells of material number 1 or cells with other material numbers in the direct neighborhood. So, make sure, that every value and or function, that is accessed in the coupling processor, is accessible for material number 1 cells as well as boundary cells.
Best,
MaxJune 10, 2019 at 1:03 pm #4447Okay, got it. Thanks!

AuthorPosts
You must be logged in to reply to this topic.