espressomd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MD and LB uints


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

Attachment: lb_mach_test.py
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]