# stick a buckyball into a nanotube
units           real
dimension       3
boundary       f f f
atom_style      molecular
newton          off

processors * * 1

# read topology 
read_data       data.bucky-plus-cnt

pair_style  lj/cut/gpu  10.0
bond_style  harmonic
angle_style charmm
dihedral_style charmm

special_bonds lj/coul 0.0 0.0 0.0

pair_coeff  1  1    0.07    3.55
pair_coeff  1  2    0.07    3.55
pair_coeff  2  2    0.07    3.55
bond_coeff     1  305.0     1.4
angle_coeff    1   40.000 120.00   35.00   2.41620
dihedral_coeff 1    3.100   2     180   0.0

neighbor        2.0 bin
neigh_modify    delay 0 every 1 check yes

timestep        2.0

# required for GPU acceleration
fix   gpu  all      gpu  force 0 0 1.0

# we only move some atoms.
group mobile type 1

# have balls bounce off the walls
fix     walls       mobile wall/reflect xlo EDGE ylo EDGE zlo EDGE xhi EDGE yhi EDGE zhi EDGE

velocity mobile create 303.0 46659 mom yes rot yes dist gaussian

# take some potential energy out of the system
minimize 1.0e-4 1.0e-6 100 1000

reset_timestep 0

fix     integrate   mobile nve
fix     thermostat  mobile langevin 300.0 300.0 2000.0 234624

# IMD setup.
fix  comm       all imd 6789 unwrap on trate 10
#fix  comm       all imd 6789 unwrap on trate 10 nowait on

# temperature is based on mobile atoms only
compute mobtemp mobile temp
thermo_style    custom step pe ke evdwl emol c_mobtemp spcpu
thermo          1000
thermo_modify   norm yes
thermo_modify   temp mobtemp

run             100000000
