# see the documentation for a description of the LJ units units real atom_style full bond_style harmonic boundary p f p region all block -150.00 150.00 -500.00 500.00 -150.00 150.00 create_box 4 all bond/types 1 extra/bond/per/atom 1 read_data nanotube.data add merge molecule 1 molecule.template timestep 200 region left block -150.00 150.00 -500.00 -50.00 -150.00 150.00 region right block -150.00 150.00 50.00 500.00 -150.00 150.00 region tube block -50.00 50.00 -50.00 50.00 -50.00 50.00 create_atoms 0 random 100 5321 right mol 1 55251 units box bond_coeff * 50 11 pair_style morse 20 pair_coeff 1 1 0.0 1.0 0.0 # the pore atoms do not self-interact pair_coeff 1 2 0.1 0.24 11 13 # protein-pore interaction pair_coeff 1 3 0.1 0.24 11 13 # protein-pore interaction pair_coeff 1 4 0.1 0.24 11 13 # protein-pore interaction pair_coeff 2 4 2.73 0.24 11 20 # protein-protein interaction pair_coeff 2 3 0.0 1.0 0.0 pair_coeff 3 4 0.0 1.0 0.0 pair_coeff 2 2 0.0 1.0 0.0 pair_coeff 3 3 0.0 1.0 0.0 pair_coeff 4 4 0.0 1.0 0.0 mass * 1.0 group pore type 1 fix freeze pore setforce 0 0 0 group protein type 2:4:1 thermo_modify lost ignore fix walls all wall/reflect yhi EDGE velocity protein create 310 87287 loop geom neighbor 0.3 bin neigh_modify delay 0 every 20 check no # minimize the energy minimize 1.0e-4 1.0e-6 100 1000 # default timestep 0.005 tau fix 1 protein nve #fix 2 protein langevin 310 310 700 498094 zero yes compute 1 protein temp compute msd protein msd com yes #Converting units of diffusion coef from A^2/fs to cm^2/s (cm^2/s = 10*A^2/fs) variable twopoint equal c_msd[4]/6/(10*step*dt+1.0e-6) fix 9 protein vector 10 c_msd[4] variable fitslope equal slope(f_9)/6/(10*10*dt) #unfix 2 #compute vacf protein vacf #fix 4 protein ave/time 1 1 1 c_vacf[4] #fix 5 protein vector 1 c_vacf[4] #variable vacf equal 0.33333*dt*trap(f_5) compute num1 protein property/atom mass compute num2 protein reduce/region left sum c_num1 compute num3 protein reduce/region right sum c_num1 compute num4 protein reduce/region tube sum c_num1 variable mleft equal c_num2 variable mright equal c_num3 variable mtube equal c_num4 #thermo_style custom step c_1 c_msd[4] v_twopoint v_fitslope c_vacf[4] v_vacf thermo_style custom step c_num3 c_num2 c_num4 c_1 c_msd[4] v_twopoint v_fitslope thermo_modify lost ignore dump trj all xyz 10 traj.xyz #dump 1 all custom 1 tmp.dump id type vx vy vz thermo 10 run 1000