# Simulation of Al sputtering deposition on Si in He gas # He maintained in box via fix wall/reflect command # Not sticked Al allowed to escape since ppm PBC processors 2 2 1 units metal dimension 3 boundary p p m atom_style atomic log logHeAlHewBv2.lammps lattice diamond 5.43 region box block 0 10 0 10 0 60 create_box 4 box create_atoms 2 box region space block INF INF INF INF 3.5 60 group deleteatom region space delete_atoms group deleteatom region Hereg block INF INF INF INF 3.5 53 create_atoms 3 random 100 78913942 Hereg region sputt block 1 9 1 9 55 60 region mobile block INF INF INF INF 0.5 3 variable mass1 index 26.98154 variable mass2 index 28.0855 variable mass3 index 4.0026 variable mass4 index 4.0026 mass 1 ${mass1} mass 2 ${mass2} mass 3 ${mass3} mass 4 ${mass4} group Al type 1 group Si type 2 group He type 3 group HeB type 4 variable Tg equal 300. variable Ts equal 300. variable Tt equal 200000 variable TB equal 600000 variable vzTt equal 0.90897868*sqrt(${Tt}/${mass1}) variable vzTB equal 0.90897868*sqrt(${TB}/${mass4}) velocity Si create ${Ts} 4928459 dist gaussian units box velocity He create ${Tg} 4927459 dist gaussian units box pair_style hybrid tersoff eam/fs lj/cut 10.0 table linear 4999 pair_coeff * * tersoff Si.tersoff NULL Si NULL NULL pair_coeff * * eam/fs Al_mm.eam.fs Al NULL NULL NULL pair_coeff 1 2 lj/cut 0.0828250 3.223 # Al-Si pair_coeff 1 3 lj/cut 0.0185836 2.59 # Al-He pair_coeff 1 4 lj/cut 0.0185836 2.59 # Al-HeB pair_coeff 2 3 lj/cut 0.0039265 3.193 # Si-He pair_coeff 2 4 lj/cut 0.0185836 2.59 # Al-HeB pair_coeff 3 3 table He_He_JW2013.table HeHe # He-He pair_coeff 3 4 lj/cut 0.000881 2.56 # He-HeB pair_coeff 4 4 table He_He_JW2013.table HeHe # HeB-HeB neighbor 0.3 bin neigh_modify delay 10 every 10 check yes timestep 0.00025 compute add Al temp compute_modify add dynamic/dof yes extra/dof 0 compute mobile Si temp compute vapor He temp compute totaltemp all temp fix 1 all nve fix 2 Si langevin ${Ts} ${Ts} 0.1 48279 fix_modify 2 temp mobile fix 3 He langevin ${Tg} ${Tg} 0.1 48259 fix_modify 3 temp mobile fix 4 He wall/reflect zhi EDGE thermo 8000 thermo_modify temp mobile dump 1 all xyz 40000 dumpAlwHeBv2.xyz #because varying output atom number dump_modify 1 element Al Si He N #dump 2 all custom 800000 dumpAlwHeB.lammpstrj id type x y z vx vy vz variable i loop 1000 label loopa variable s1 equal floor(random(2101,6017,45997)) variable s2 equal floor(random(2101,6017,45987)) variable s3 equal random(0.00001,0.99999,45995) variable s4 equal random(0.00001,0.99999,45985) variable s5 equal random(0.00001,0.99999,45975) variable s6 equal random(0.00001,0.99999,45965) variable s7 equal random(0.00001,0.99999,45955) variable s8 equal random(0.00001,0.99999,45945) variable vzAl equal -${vzTt}*sqrt(-2*ln(${s3}))*abs(cos(2*PI*${s4})) variable vxAl equal ${vzTt}*sqrt(-2*ln(${s5}))*cos(2*PI*${s6}) variable vyAl equal ${vzTt}*sqrt(-2*ln(${s5}))*sin(2*PI*${s6}) print "${vxAl} ${vyAl} ${vzAl} " variable vzHeB equal -${vzTB}*sqrt(-2*ln(${s3}))*abs(sin(2*PI*${s4})) variable vxHeB equal ${vzTB}*sqrt(-2*ln(${s7}))*cos(2*PI*${s8}) variable vyHeB equal ${vzTB}*sqrt(-2*ln(${s7}))*sin(2*PI*${s8}) print "${vxHeB} ${vyHeB} ${vzHeB} " fix 5 Al deposit 10 1 8000 ${s1} region sputt vx ${vxAl} ${vxAl} vy ${vyAl} ${vyAl} vz ${vzAl} ${vzAl} near 2.0 units box thermo_style custom step c_mobile c_vapor c_add c_totaltemp pe etotal press vol run 80000 unfix 5 fix 5 HeB deposit 1 4 8000 ${s2} region sputt vx ${vxHeB} ${vxHeB} vy ${vyHeB} ${vyHeB} vz ${vzHeB} ${vzHeB} near 2.0 units box thermo_style custom step c_mobile c_vapor c_add c_totaltemp pe etotal press vol run 8000 unfix 5 next i jump SELF loopa