Modeling Couette flow

Hello,

I am trying to model the couette flow of water between two walls. I read in the topology of the system using read_data. Periodic boundary conditions have been applied in x and y directions and fixed boundary condition on z direction. Airebo potential was used for interactions of atoms in the wall and LJ potential was used for interaction between wall and water. SPCE model was used for water. I tried to look at the LAMMPS couette flow example to get an idea for how to model it. When I apply the velocity on the upper wall in the x direction, it moves to the right. However, the periodicity in x direction did not appear. I mean atoms in the upper region did not replace from neighbor images of the upper wall. I didn’t observe this phenomenon in the LAMMPS example. What could be the reason? I have attached the input file (I haven’t included the whole potential section). I have two pictures from initial and final configurations.

Thanks,

Farshad

read_restart restart.equil.3000
neighbor 2.0 bin
neigh_modify delay 0 every 10 check yes

pair_style hybrid/overlay lj/cut/coul/long 10.0 rebo

bond_style harmonic

bond_coeff 1 2.1 1.5
bond_coeff 2 2.1 1.1
bond_coeff 3 7.669 1.0
angle_style harmonic
angle_coeff 1 1.829 109.47
kspace_style pppm 1.0e-5 #final npt relaxation
kspace_modify slab 3.0

define groups to apply velocity

group lower type 1 2
group upper type 3 4
group flow type 5 6
group boundary union lower upper

initial velocities

compute mobile flow temp
fix 1 all shake 1e-5 20 0 b 3 a 1

fix 2 all nve
fix 3 flow temp/rescale 100 50.0 50.0 0.02 1.0
fix_modify 3 temp mobile

Couette flow

velocity lower set 0.0 0.0 0.0 units box
velocity upper set 3.0 0.0 0.0 units box
fix 4 boundary setforce 0.0 0.0 0.0

thermo 10
thermo_style custom step pe etotal press temp
thermo_modify norm no
dump mydcd all dcd 100 nvt-10.dcd
dump_modify mydcd unwrap yes

timestep 0.0001
run 2000
write_restart restart.flow.*

config_final.bmp (3.36 MB)

config_initial.bmp (2.71 MB)

Hello,

I am trying to model the couette flow of water between two walls. I read in
the topology of the system using read_data. Periodic boundary conditions
have been applied in x and y directions and fixed boundary condition on z
direction. Airebo potential was used for interactions of atoms in the wall
and LJ potential was used for interaction between wall and water. SPCE model
was used for water. I tried to look at the LAMMPS couette flow example to
get an idea for how to model it. When I apply the velocity on the upper wall
in the x direction, it moves to the right. However, the periodicity in x
direction did not appear. I mean atoms in the upper region did not replace
from neighbor images of the upper wall. I didn't observe this phenomenon in
the LAMMPS example. What could be the reason? I have attached the input file
(I haven't included the whole potential section). I have two pictures from
initial and final configurations.

the reason lies in the fact, that you write out an "unwrapped" trajectory.
with periodic boundaries, those two things are equivalent. you can
turn on periodic display in VMD, to see it.

axel.

Axel,

I greatly appreciate for your response. I followed what you said. It turned out that the problem was with visualization in VMD rather than with my simulation. This time I faced another problem. When I visualize the dcd file with unwrap set to no in lammps, I observe quite long and stretched bonds. I tried to use “pbc join” tool to fix it, but no success. I think I have to ask about this problem from VMD community.

Axel,

I greatly appreciate for your response. I followed what you said. It turned
out that the problem was with visualization in VMD rather than with my
simulation. This time I faced another problem. When I visualize the dcd file
with unwrap set to no in lammps, I observe quite long and stretched bonds. I
tried to use "pbc join" tool to fix it, but no success. I think I have to

if pbc join would work the way you want it to work, you would get the
same trajectory as you had before when using an unwrapped trajectory.
there is no single, simple solution to this. i would recommend to keep
writing out an unwrapped trajectory as that is easier to post-process
than a wrapped trajectory.

the simplest way to get a "filled" box would be to enable the periodic
flags for the representations in VMD and then using cutting planes to
"punch out" the box that you want to see.
otherwise you will have to do the wrapping in VMD, and do it
separately and differently for different
parts of the system. for the water molecules you want wrap by
fragment, for the walls, you want to wrap by atom and then use a VDW
or VDW+DynamicBond pair to represent them.

ask about this problem from VMD community.

where i would be likely providing the answer as well. :wink:

axel.

I appreciate your points Axel.

The combination of wrapping option of dcd and VDW+Dynamic bond worked for me.