espressomd-users
[Top][All Lists]

## Re: [ESPResSo-users] Simulation of fluid using LB-method

 From: Ulf Schiller Subject: Re: [ESPResSo-users] Simulation of fluid using LB-method Date: Mon, 27 Jan 2014 15:09:18 +0100 User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2

Hi Markus,


apart from the inherent performance of the implementation, there are some possibilities to speed up the simulation by tweaking the parameters. Since the basic units are completely arbitrary, you can try to tune them such that the simulation runs faster while the physics stays the same. In your case, for example, you can change the spatial resolution (which you had in your script already I think), and you can change the time resolution (mass is probably irrelevant unless you are looking for inertial effects).


I typically prefer a length, viscosity, and temperature as the basic parameters of LB. The time scale is set by the viscosity (some time ago the input parameter for LB in Espresso was the dynamic viscosity - please double check).


The time unit is h = \nu_sim * a^2 / \nu_phys where a is the (physical) grid spacing, and \nu_sim is the simulation parameter and \nu_phys the physical value of the kinematic viscosity. So if you increase the simulation parameter for the viscosity, you increase the physical time unit. Consequently, you need a smaller number of steps to simulate the same physical time. In practice, you may have to deal with stability, in particular when your initial conditions generate oscillating transients. Also, you need to change other input parameters accordingly, to keep the Reynolds and Peclet number etc. the same.


While this type of tweaking may help a bit, eventually you can't beat the physics. Your system will need the same physical time to reach steady state regardless of the parameters.

Hope this helps,
Ulf

On 01/27/2014 11:54 AM, Wink, Markus wrote:

Dear all,

first of all hello. I am a novice in ESPResSo. At the moment I am trying
to simulate a simple fluid confined by two plates and exposed to a
constant force. My source code is inspired by “lb_planar.tcl” I found at
espressomd on github. I aimed at simulating a system, consising of two
plates, seperated by a distance of 50 micrometers, and a force acting on
the fluid, so that the maximum velocity corresponds to 0.02 m/s. Thus,
in SI units I have the following parameters:

channel width = 50 micrometers, T =300K, density of fluid = 1000 kg/m^3,
kin. Kin. viscosity = 10^-6 m^2/s, force density = 64000 kg/m^2/s^2.

For the MD units I chose (inspired by the bachelor thesis of Georg Rempfer):
[x] = 1 micrometer, [E] = kbT= 4.21*10^-21J, [t] = 2.96 ns, [m] =
2,99*10^-26 kg (mass of one water molecule).

Using that I get for the parameters in MD-units:

Channel width = 50[x], density = 3.3*10^10 [m]/[x]^3, kin. Viscosity =
2.69*10^-3 [x]^2/[t], force = 15.5 [m]/[x]^2/[t]^2

The expected maximum velocity should be around 5.5*^10-5 [x]/[t], which
corresponds to 0.02 m/s in SI units (T. Krueger et al.,
arXiv:1311.3650v1 <http://arxiv.org/abs/1311.3650v1>, formula 2.6).

Still two questions arise, which I could not answer yet and to which I
did not find any answer neither in the mailing/archive/user’s manual nor
in the tutorials, so probably one of you could help me (the source code
one can find attached):

1) For the lbfluid command I set the frictional parameter to unity. Is
that justified? As far as the user’s manual is concerned, this parameter
couples particles/soft matter to the fluid. But I don’t have any
particles other than water molecules, right? So, honestly I am not sure
what to do with that parameter.

2) In my script, I integrated 1000 times with an integration step of
1000. I get a parabolic velocity profile, so far so good. Anyway, the
maximum velocity is about 4.91*10^-5[x]/[t], corresponding only to 0.018
m/s. The maximum velocity saturated, so longer integration times did not
help.

3) Even though, the velocity profile saturates, it takes pretty long
(time scale of days). The saturation sets in at about 350 times the
“integration 1000” command. This corresponds to a time scale of ms in Si
units. Besides using OpenMpi or the GPU impementation, is there anyway
to speeden up the simulation? For example by adjusting the parameter tau
in the lbfluid command?

Thanks in advance for your help and I am looking forward to hearing from
you.

Best Regards

Markus Wink




--
Dr. Ulf D. Schiller                        Building 04.16, Room 3006
Institute of Complex Systems (ICS-2)       Phone:   +49 2461 61-6144
Forschungszentrum Jülich, Germany          Fax:     +49 2461 61-3180



smime.p7s
Description: S/MIME Cryptographic Signature