|
From: | Jean-Noël Grad |
Subject: | Re: MD and LB uints |
Date: | Fri, 21 Jan 2022 23:03:31 +0100 |
User-agent: | Roundcube Webmail/1.3.17 |
Dear Ahmad,I find this paragraph vague too. It mentions two velocities (10 and 1 agrid/tau) without comparing them, and reasons about the speed limit in terms of agrid and tau, while in ESPResSo the speed limit is actually derived from the Mach number.
For example in ESPResSo 4.1.4, the fluid velocity is checked on LB boundaries to make sure it doesn't exceed Mach 0.52, which corresponds to a speed limit of 0.3 in LB units. With agrid=5 and tau=5, the maximum velocity is simply 0.3 * 5 / 5 = 0.3 in MD units. In ESPResSo 4.2-dev, the speed limit was lowered to Mach 0.35 to better reflect the current state of the LB literature (https://github.com/espressomd/espresso/pull/4376/commits/221e016).
Are you sure about the unit conversion for the maximal velocity you reported? Mach 5.79 is a pretty large value, which should have crashed your simulation. Although a thermalized LB fluid without particle coupling can reach arbitrary Mach numbers (e.g. by applying a constant external force), with particle coupling enabled a simulation typically crashes at Mach 0.8 due to particles experiencing forces that are too large. The attached script runs a LB simulation to its breaking point at Mach 0.8; it will consistently crash at Mach 0.72 to 0.78, even when changing the values of either agrid, tau or box_l[1] by factor of two (or one half).
Best regards, JN On 2022-01-19 14:58, Ahmad Reza Motezakker wrote:
Dear All, In the first LB tutorial it is mentioned that : '' Important note: all commands of the LB interface use MD units. This is convenient, as e.g. a particular viscosity can be set and the LB time step can be changed without altering the viscosity. On the other hand this is a source of a plethora of mistakes: the LBM is only reliable in a certain range of parameters (in LB units) and the unit conversion may take some of them far out of this range. So remember to always make sure you are not messing with that! One brief example: a certain velocity may be 10 in MD units. If the LB time step is 0.1 in MD units, and the lattice constant is 1, then it corresponds to a velocity of 1 aτ1 aτ in LB units. This is the maximum velocity of the discrete velocity set and therefore causes numerical instabilities like negative populations. '' This part is a little bit vague to me. From the first part I come up with this that all the inputs and outputs of Espresso will be in MD units. so for the unit conversion (Espresso to SI or vice versa) , we use MD units. Am I correct? About the example that it is mentioned, Just to check, I found the maximum velocity that I have got from the simulation (5.79 in [x]/[t] ,MD units). When I convert it to LB units (Lattice spacing = 5*[x], fluid tau = 5*[t]), I come up with 5.79 itself in LB units. Is it going to be wrong since it is bigger than 1? If yes, How should I set the LB parameters before hand to prevent any of these? I am really confused since I am analyzing my results. Best regards, Ahmad Reza
lb_mach_test.py
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |