Unable to maintain a constant temperature in the system

I am trying to simulate a Couette flow in which the velocity of the wall is constantly increased. I want to be able to keep the temperature of the system constant, but I am unable to do so. I have used the same thermostating procedure for a constant wall velocity Couette flow problem and it worked, even for much higher wall velocities. I am unable to find what I am doing wrong or if i just need to use a better thermostat. Please find the input file below and the log file attached.

Thank you.

Appreciate your help.


3-d LJ flow simulation

units lj

dimension 3

boundary p s p

atom_style atomic

neighbor 0.3 bin

neigh_modify delay 1

create geometry

region simulation_box block 0.0 12.0 0.0 28.9 0.0 144.49 units box

create_box 3 simulation_box

region fluid block INF INF 2.94 25.96 INF INF units box

region btm_wall block INF INF INF 1.5 INF INF units box

region top_wall block INF INF 27.4 INF INF INF units box

lattice fcc 0.81 orient x 1 1 -2 orient y 1 1 1 orient z 1 -1 0

create_atoms 1 region fluid units box

lattice fcc 0.81 orient x -1 1 0 orient y 1 1 1 orient z 1 1 -2

create_atoms 2 region btm_wall units box

create_atoms 3 region top_wall units box

mass 1 1.0

mass 2 1.0

mass 3 1.0

LJ potentials

pair_style lj/cut 2.2

pair_coeff * * 1.0 1.0

pair_coeff 1 2*3 0.1 1.0

pair_modify shift yes

define groups

group lower region btm_wall

group upper region top_wall

group boundary union lower upper

group flow subtract all boundary

set group flow type 1

set group lower type 2

set group upper type 3

initial velocities

compute mobile flow temp

velocity flow create 1.10 482748 temp mobile units box

thermo_modify temp mobile


compute mobile_thermo all temp/partial 0 0 1

fix 2 all langevin 1.10 1.10 1.0 699483

fix 1 flow nve

fix 1_1 lower nve

fix_modify 2 temp mobile_thermo

thermo_modify temp mobile_thermo


Equilbration run

timestep 0.005

thermo 50000

Production run

Couette flow

ramping wall

variable step equal step

variable VelRamp equal step*0.000000025

variable y_Vel equal 0.0

variable z_Vel equal 0.0

velocity lower set 0.0 0.0 0.0 units box

fix wl upper move variable NULL NULL NULL v_VelRamp v_y_Vel v_z_Vel units box

fix 3 boundary setforce 0.0 0.0 0.0

print wall speed

fix 41 all print 50000 “wall speed {step} {VelRamp}”

outputing velocity

fix 5 all ave/spatial 1 1000 100000 y 27.0285 1.0218092 vx region simulation_box file vel_fb.profile units box

compute atomstress all stress/atom NULL

fix 17 flow ave/spatial 1 1000 100000 y 27.0285 1.0218092 c_atomstress[1] c_atomstress[2] c_atomstress[3] c_atomstress[4] c_atomstress[5] c_atomstress[6] file ptens.dat units box


restart 50000000 restart_ramp_Case_1.*.equil

run 800000000

log.lammps (824 KB)

I doubt anybody would debug a rather complicated script for you. Could you please point out how you assigned velocity to the wall and what was the “high” constant velocity you assigned?