# 2-d LJ flow simulation

dimension	2
boundary	p s p

atom_style	atomic
neighbor	0.3 bin
neigh_modify	delay 5

# create geometry

lattice		hex 0.7
region		box block 0 20 0 10 -0.25 0.25
create_box	3 box
create_atoms	1 box

mass		1 1.0
mass		2 1.0
mass		3 1.0

# LJ potentials

pair_style	lj/cut 1.12246
pair_coeff	* * 1.0 1.0 1.12246

# define groups

region	     1 block INF INF INF 1.25 INF INF
group	     lower region 1
region	     2 block INF INF 8.75 INF INF INF
group	     upper region 2
group	     boundary union lower upper
group	     flow subtract all boundary

set	     group lower type 2
set	     group upper type 3

# initial velocities

compute	     mobile flow temp
velocity     flow create 1.0 482748 temp mobile
fix	     1 all nve
fix	     2 flow temp/rescale 200 1.0 1.0 0.02 1.0
fix_modify   2 temp mobile

# Couette flow

velocity     lower set 0.0 0.0 0.0
velocity     upper set 3.0 0.0 0.0
fix	     3 boundary setforce 0.0 0.0 0.0
fix	     4 all enforce2d

# Poisseuille flow

#velocity     boundary set 0.0 0.0 0.0
#fix	     3 lower setforce 0.0 0.0 0.0
#fix	     4 upper setforce 0.0 NULL 0.0
#fix	     5 upper aveforce 0.0 -1.0 0.0
#fix	     6 flow addforce 0.5 0.0 0.0
#fix	     7 all enforce2d

# Run

timestep	0.003
thermo		500
thermo_modify	temp mobile

dump		1 all atom 50 dump.flow
run		10000
