espressomd-users
[Top][All Lists]

## Re: [ESPResSo-users] LBM, speed of sound, stability

 From: Ulf Schiller Subject: Re: [ESPResSo-users] LBM, speed of sound, stability Date: Thu, 18 Dec 2014 11:40:49 +0000 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

Hi Markus,

I'm typically trying to write equations such that they are "invariant
regarding choice of units", i.e., if in your unit system h=0.1 you have
to use the values of c_s and \nu in that very same unit system. The way
things should be implemented in ESPResSo is that all numbers in the tcl
script use the same unit system. You could also use LB units with h=1
and a=1 and c_s=\sqrt(1/3) for D3Q19.

A point worth making is that the grid Reynolds number needs to be small
*to avoid nonlinear instabilities*. As I have explained earlier, the
cancellation of errors makes LB work in the over-relaxation regime with
grid Reynolds numbers beyond unity, so if no instabilities occur, the
common value \nu=1/6 in LB units, for example, is just fine.

Best wishes,
Ulf

On 18/12/14 11:17, Wink, Markus wrote:
> Hello everybody,
>
> a practical question, probably stupid, but anyways.
> As Ulf wrote: "you need to make sure that h*c_s^2/\nu is small to avoid
> nonlinear instabilities. h is the LB timestep, c_s is the speed of sound, and
> \nu is the kinematic viscosity"
>
> Is the LB timestep h the one you invoke in the tcl script as tau? For example
> having a h=0.1, so you write "tau 0.1" for the lbfluid?
> Unfortunately the user's guide just tells that it is "the LB timestep", but I
> am not sure, if it is the same.
>
> Greetings
>
> Markus
>
> -----Ursprüngliche Nachricht-----
> Gesendet: Mittwoch, 17. Dezember 2014 19:10
> Betreff: Re: [ESPResSo-users] LBM, speed of sound, stability
>
> On 17/12/14 12:12, Ivan Cimrak wrote:
>> Hi all,
>>
>> In one of his emails Ulf Shiller explained that:
>> "you need to make sure that h*c_s^2/\nu is small to avoid nonlinear
>> instabilities. h is the LB timestep, c_s is the speed of sound, and
>> \nu is the kinematic viscosity. In the D3Q19 model, c_s^2=1/3*a^2/h^2,
>> so
>> a^2/(3*\nu*h) must be small. It may work with values O(1) but it is
>> not guaranteed."
>>
>>
>> Ulf, could you please give me the reason why this is necessary? And
>> what does it mean "is small"? Are the values 0.1 - 0.99 ok?
>
> Hi Ivan,
>
> the standard lattice Boltzmann algorithm is typically thought to be second
> order accurate in time, however, if you look at the discretisation of the
> collision operator (usually Crank-Nicolson), the error is actually of the
> order O((h/\tau)^3) where \tau is the viscous relaxation time (or BGK
> relaxation time). The latter is related to the viscosity by \nu=c_s^2*\tau
> where c_s is the speed of sound. Hence the grid Reynolds number
> h/\tau=h*c_s^2/\nu needs to be small. Now, in LB there is a subtle
> cancellation of errors of the Crank-Nicolson discretisation and the splitting
> error, such that the standard LB algorithm approximates the slow manifold of
> solutions to the discrete velocity model even at values of \tau/h beyond
> unity (an intriguing side effect of this is that the exact solution of the
> collision operator does produce excessive decay of shear waves due to the
> lack of said cancellation). Another way to phrase it is that the LBM
> disconnects from kinetic theory and can work in the
over-relaxation regime (i.e. negative eigenvalues of the collision operator).
Some details of the derivation are given in
http://dx.doi.org/10.1016/j.cpc.2014.06.005 and references therein (in
particular Brownlee et al. and Paul Dellar). In practise, instabilities may
arise at the higher moments and couple into the Navier-Stokes dynamics. I'll
mention in passing that coupling particles to the LB fluid involves singular
forces that may also affect stability.
> If this actually occurs will depend on the characteristics of the flow under
> consideration; for laminar flow and non-stiff coupling there is probably no
> problem.
>
> Best wishes,
> Ulf
>
> --
> Dr Ulf D Schiller
> Centre for Computational Science
> University College London
> 20 Gordon Street
> London WC1H 0AJ
> United Kingdom
>
>

--
Dr Ulf D Schiller
Centre for Computational Science
University College London
20 Gordon Street
London WC1H 0AJ
United Kingdom

Phone: +44 (0)20 7679 5300