# LAMMPS Script: ZnO Deposition on Amorphous SiO2 using Custom ReaxFF (O-Si-Zn) # ------------------------------------------------------------------------------ # 1. INITIALIZATION ========================================== units real atom_style charge boundary p p f dimension 3 processors * * 1 neighbor 2.0 bin neigh_modify every 1 delay 0 check yes # 2. SIMULATION BOX ========================================== region whole block 0 50 0 50 0 60 units box create_box 3 whole # Atom types: O=1, Si=2, Zn=3 # 3. MASS DEFINITIONS ======================================== mass 1 15.9994 # Oxygen mass 2 28.0855 # Silicon mass 3 65.38 # Zinc # 4. SiO2 SUBSTRATE CREATION ================================= # 4.1 Create amorphous SiO2 substrate region siO2_reg block 0 50 0 50 0 10 units box create_atoms 2 random 500 12345 siO2_reg # Si atoms create_atoms 1 random 1000 67890 siO2_reg # O atoms # 4.2 Verify stoichiometry group Si type 2 group O type 1 print "Created SiO2 substrate with [count(Si)] Si and [count(O)] O atoms" # 5. FORCE FIELD SETUP ======================================= pair_style reaxff NULL lgvdw yes pair_coeff * * ffield_O_Si_Zn_V2 O Si Zn fix qeq all qeq/reaxff 1 0.5 10.0 1.0e-6 reaxff maxiter 500 fix qeq all qeq/reaxff 1 0.5 10.0 1.0e-6 reaxff maxiter 500 # 6. SYSTEM GROUPS =========================================== group substrate region siO2_reg group all type 1 2 3 # 7. OUTPUT SETTINGS ========================================= thermo 100 thermo_style custom step temp pe ke etotal press vol density thermo_modify flush yes # 8. CHARGE EQUILIBRATION ==================================== fix qeq all qeq/reaxff 1 0.5 10.0 1.0e-6 reaxff maxiter 500 # 9. ENERGY MINIMIZATION ===================================== reset_timestep 0 min_style cg minimize 1.0e-6 1.0e-8 1000 10000 write_dump all custom minimized.lammpstrj id type x y z # 10. SiO2 AMORPHIZATION ===================================== # 10.1 Melting at 5000K velocity all create 5000 12345 rot yes dist gaussian fix nvt all nvt temp 5000 5000 100.0 fix ave all ave/time 100 10 1000 v_temp file temp.profile run 2000 unfix nvt # 10.2 Quenching to 300K fix nvt all nvt temp 5000 300 100.0 run 5000 unfix nvt # 10.3 Final relaxation minimize 1.0e-6 1.0e-8 1000 10000 write_dump all custom amorphous.lammpstrj id type x y z # 11. ZnO DEPOSITION ========================================= # 11.1 Create ZnO layer region znO_reg block 0 50 0 50 10 15 units box create_atoms 3 random 300 54321 znO_reg # Zn atoms create_atoms 1 random 300 98765 znO_reg # O atoms # 11.2 Verify stoichiometry group Zn type 3 print "System now has [count(Zn)] Zn and [count(O)] O atoms total" # 11.3 Energy minimization minimize 1.0e-6 1.0e-8 1000 10000 # 11.4 Equilibration velocity all create 300 54321 rot yes dist gaussian fix nvt all nvt temp 300 300 100.0 run 2000 unfix nvt # 12. FINAL OUTPUT =========================================== write_dump all custom final.lammpstrj id type x y z write_data final.data print "ZnO/SiO2 deposition simulation completed successfully."