espressomd-users
[Top][All Lists]

## Re: MD and LB uints

 From: Ahmad Reza Motezakker Subject: Re: MD and LB uints Date: Tue, 25 Jan 2022 11:07:34 +0000

Dear Jean-Noel,

Thank you very much for your help. You are totally right. The mach number is so big. To check it again, I converted all the velocities to SI units (in my case, [x] =3e-9m, [t]=20e-9s) and calculating the sound velocity in the fluid (Propylene glycol) and considering its viscosity and etc, I reached to mach number of around 0.003.

Best regards,

Sent: Friday, January 21, 2022 11:03:31 PM
Cc: espressomd-users@nongnu.org; Espressomd-users
Subject: Re: MD and LB uints

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,
>