cylinder2d example

Hello,

First post here. I am testing the cylinder2d example. I have compiled palabos-v1.5r1.zip on a Linux x64.
Running the example via “/cylinder2d> mpirun -N 8 ./cylinder2d” goes fine with the default settings. Yet, when I change the lx and ly to 12 and 2 to make the domain bigger, it gets me NaNs in the output shortly after starting the simulation. See below for the sample output. The simulation runs fine with N=300. What is the reason for this sensitivity? Shouldn’t the simulation run with the same dx when the domain size is changed.?Thanks.

[code="cpp"]

IncomprFlowParam parameters(
(T) 1e-2, // uMax
(T) 600., // Re
100, // N
6., // lx
1. // ly


  


/palabos-v1.5r1/examples/showCases/cylinder2d> mpirun -N 8 ./cylinder2d
Saving Gif …
step 0; t=0; av energy =0.0004359657841; av rho =0.9999999754
step 200; t=0.02; av energy =0.0004353909222; av rho =1.000014321
step 400; t=0.04; av energy =0.0004371702653; av rho =1.000085498
Saving Gif …
step 600; t=0.06; av energy =89.96623079; av rho =6.24167986e+106
step 800; t=0.08; av energy =-nan; av rho =-nan
step 1000; t=0.1; av energy =nan; av rho =nan

Hello,

One more update on this topic:

I have two experiments to compare.

  1. Default case: tmp_lx6_ly1_N100

[code=“cpp”]
IncomprFlowParam parameters(
(T) 1e-2, // uMax
(T) 600., // Re
100, // N
6., // lx
1. // ly



plbLog.dat:


Poiseuille flow

Velocity in lattice units: u=0.01
Reynolds number: Re=600
Lattice resolution: N=100
Relaxation frequency: omega=1.9802
Extent of the system: lx=6
Extent of the system: ly=1
Extent of the system: lz=0
Grid spacing deltaX: dx=0.01
Time step deltaT: dt=0.0001



Showing a snapshot at the end of the simulation t=20s -- u200400

https://i.imgsafe.org/86343ed802.gif


2) New case: tmp_lx12_ly2_N300

[code="cpp"]
IncomprFlowParam<T> parameters(
            (T) 1e-2,  // uMax
            (T) 600.,  // Re
            300,       // N
            12.,        // lx
            2.         // ly

plbLog.dat:


Poiseuille flow

Velocity in lattice units: u=0.01
Reynolds number:           Re=600
Lattice resolution:        N=300
Relaxation frequency:      omega=1.94175
Extent of the system:      lx=12
Extent of the system:      ly=2
Extent of the system:      lz=0
Grid spacing deltaX:       dx=0.00333333
Time step deltaT:          dt=3.33333e-05

Showing a snapshot at about t=11 s (this takes a while to run, so stopped about halfway) – u351000

https://i.imgsafe.org/8641519cae.png

Though it develop vortices, flow is reversed in the second experiment. What do you think about this case? Thanks again.

Hi,
Interesting post,
Replace line
T y = (T)iY / parameters.getResolution() ;
with
T y = (T)iY / ( parameters.getResolution() * parameters.getLy()) ;

it should work fine.

The best,
Arman

I like how easily one small change fixes problems in the numerical modeling world. This fixes both the problems I reported above. Thanks Arman.