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) Shan-Chen implementation only allows either periodic or bounce-back boundaries ? Because whenever I try to impose e.g. Dirichlet or Neumann BC the code fails. But I’ve seen e.g. Zou-He constant pressure boundary utilized together with SCMP Shan-Chen 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 Carnahan-Starling EOS (through interaction potential) and when I try to couple my Adv-Diff lattice through it via the modified operator() which allows temperature changes, the code fails. How do I couple the temperature from Adv-Diff with fluid then ? I don’t think Boussinesq approximation works in multiphase case because of major density variations in the liquid-vapor 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 Adv-Diff.
3) Could someone explain why source term is implemented as follows:
source * (1 – 0.5 * omega) * t_i ? I’ve usually seen in literature that source terms is simply equal to source * 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!
June 4, 2019 at 6:26 am #4437
- This topic was modified 3 weeks, 2 days ago by mithdradates.
I assume you use the latest version of OpenLB, 1.3? If not, I recommend checking the latest version first.
to 1) The SC-Coupling accesses neighboring cells and calls
calcRhoon 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 line
sLattice.addLatticeCoupling( coupling, sLattice );to
sLattice.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 SC-Method 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 advection-diffusion dynamics are implemented after
Seta, T. (2013). Implicit temperature-correction-based immersed-boundary 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.
MaxJune 4, 2019 at 12:50 pm #4438
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 SHan-Chen 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 #4439
I’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.June 4, 2019 at 7:25 pm #4442
Please, 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 #4443
Thank 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 Shan-Chen 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 (newX0-1 etc.) are the boundary nodes or still the actual envelope nodes (outside of computational domain) ?June 7, 2019 at 7:41 am #4446
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.
MaxJune 10, 2019 at 1:03 pm #4447
Okay, got it. Thanks!
You must be logged in to reply to this topic.