[Top][All Lists]

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

Re: [ESPResSo-users] Lattice Boltzmann External Force

From: Ulf Schiller
Subject: Re: [ESPResSo-users] Lattice Boltzmann External Force
Date: Thu, 9 Feb 2012 12:40:39 +0100
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0) Gecko/20120129 Thunderbird/10.0

Hello Wolfgang:

what version of ESPResSo are you using?

The scaling of the force depends on the units. If it is a volumetric force, then it also has to be scaled with the grid spacing. Usually this is done in the initialization routine, so it does not have to be multiplied every time.

Nevertheless, even with the correct scaling you will notice a deviation from the analytic solution. That is a discretization artifact and can be improved by means of higher order boundary conditions using interpolation. Not that this requires adjusting the collision eigenvalues in order to make the viscosity independent of the boundary location.


On 02/09/2012 11:49 AM, Wolfgang Riefler wrote:
Dear Espresso Developers,

I have recently started to simulate fluid flows that are driven by
external volume forces using the Lattice Boltzmann algorithm implemented
in Espresso.

As I have simulated the external force driven Poiseuille flow between
two immobile walls (using the lbboundary command) I have experienced a
huge offset compared to the analytic solution (next to the offset caused
by the effective boundary location).

Checking the Espresso source code I have found the following line in the
'lb.h' file in the functions 'lb_calc_local_fields' and 'lb_calc_local_j' :

j[i] += 0.5*lbpar.ext_force[i], where i=0,1,2 and j is the local
momentum density.

Comparing this to the theory, I think it should be

j[i] += 0.5*lbpar.ext_force[i]*lbpar.tau,

i.e. the force should be scaled by the time step tau.

Implementing this in my source code indeed gave me the right solution
for a grid size of a=1. Changing this to a=0.5 again caused an offset.
Could it be possible that the force has to be scaled not only by time,
but also by the grid size? I have noticed similar scalings in older
versions of Espresso (Version 2.1.2).

On another note, is there any progress, or is it planned to allow the
user to set the node populations manually (like e.g. the velocity)? I
have noticed that the declaration of the corresponding function is
already implemented, but the function is empty.

Thank you very much for your troubles in advance,



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

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

reply via email to

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