Simulating Poiseuille flow with modified fix srd version

Dear LAMMPS users and developers,

I having been trying to use the fix srd command in LAMMPS to simulate the Poiseuille flow. I recompiled the modified fix srd version (https://lammps.sandia.gov/threads/msg63030.html) with lines 5210-5225 in fix_srd.cpp uncommented:

$ cd src

$ make yes-SRD

$ make mpi

I then calculated the case similar to Fig. 11 in 10.1103/PhysRevE.86.066703 with small time step 0.122 in a 40^3 box.

fix 1 all srd 1 NULL 1.00 2.00 435435 &

mpc srd rescale no collision noslip reverse2 &

flow fpoiss 0.0005 thermo hecht 0.2 skipnone &

vp multi_poiss_all shift yes 7863467 inside warn

fix 2 all wall/srd zlo EDGE zhi EDGE

I have obtained a satisfactory result with single core as shown in fig.1 attached. However, the parallel result for the same script shows different velocity profile as shown in fig.2 attached. By printing the position of virtual particles, I found that the virtual particles for z=40 appear in the simulation box rather than outside the wall, which causes a large deviation.

Velfac is 0.000162897, zmax is 40

For wall at z=0, VP at 0 0 -0.88055 had its x-component augmented by -0.00586387

Velfac is 0.000162897, zmax is 40

For wall at z=0, VP at 0 0 -0.157674 had its x-component augmented by -0.00103144

Velfac is 0.000162897, zmax is 40

For wall at z=0, VP at 0 0 -0.0971379 had its x-component augmented by -0.000634476

Velfac is 0.000162897, zmax is 40

For wall at z=0, VP at 0 0 -0.171229 had its x-component augmented by -0.00112048

Velfac is 0.000162897, zmax is 40

For wall at z=40, VP at 0 0 22.9522 had its x-component augmented by 0.0637391

Velfac is 0.000162897, zmax is 40

For wall at z=40, VP at 0 0 23.5589 had its x-component augmented by 0.0630957

Velfac is 0.000162897, zmax is 40

For wall at z=40, VP at 0 0 34.2572 had its x-component augmented by 0.032047

Velfac is 0.000162897, zmax is 40

For wall at z=40, VP at 0 0 36.0066 had its x-component augmented by 0.0234228

Velfac is 0.000162897, zmax is 40

For wall at z=0, VP at 0 0 -0.367111 had its x-component augmented by -0.00241401

Velfac is 0.000162897, zmax is 40

For wall at z=0, VP at 0 0 -0.604988 had its x-component augmented by -0.00400166

Velfac is 0.000162897, zmax is 40

For wall at z=0, VP at 0 0 -0.936145 had its x-component augmented by -0.00624257

Velfac is 0.000162897, zmax is 40

For wall at z=0, VP at 0 0 -0.865399 had its x-component augmented by -0.00576084

Velfac is 0.000162897, zmax is 40

For wall at z=0, VP at 0 0 -0.0340766 had its x-component augmented by -0.000222229

Velfac is 0.000162897, zmax is 40

I want to know if the modified fix srd version can be used for parallel computing. If not, can I implement it by changing the fix_srd.cpp somewhere?

Thank you very much for your time and help!

Best regards,

Su

Fig.1.tif (52.2 KB)

Fig.2.tif (52.1 KB)