#### Program in Box units #echo screen units metal #newton on dimension 3 boundary m m p atom_style atomic neighbor 2 bin neigh_modify delay 2 # create geometry #lattice hcp 2.284568182 variable a equal 2.312646565 variable b equal $a variable c equal $a*1.5682 lattice custom 1.0 a1 $a 0.0 0.0& a2 0.0 $b 0.0& a3 0.0 0.0 $c& basis 0.0 0.0 0.0& basis 0.5 0.5 0.0& basis 0.0 0.33333333 0.5& basis 0.5 0.83333333 0.5 variable f equal 3 variable xi equal 0 variable xm equal 200 variable yi equal 20 variable ym equal 80 variable zi equal -30.8423 variable zm equal 30.8423 #variable zlo equal -25 #variable zhi equal 25 region s_box block 0 280 20 120 $(v_zi) $(v_zm) units box # Simulation box create_box 6 s_box # no. of atom types in box region work_new block $(v_xi+2*v_f) $(v_xm) $(v_yi+2*v_f) $(v_ym) $(v_zi) $(v_zm) units box region lt_fix block $(v_xi) $(v_xi+v_f) $(v_yi) $(v_ym) $(v_zi) $(v_zm) units box region bt_fix block $(v_xi) $(v_xm) $(v_yi) $(v_yi+v_f) $(v_zi) $(v_zm) units box region work_boundary union 2 lt_fix bt_fix region lt_therm block $(v_xi+v_f) $(v_xi+2*v_f) $(v_yi+v_f) $(v_ym) $(v_zi) $(v_zm) units box region bt_therm block $(v_xi+v_f) $(v_xm) $(v_yi+v_f) $(v_yi+2*v_f) $(v_zi) $(v_zm) units box region work_thermostat union 2 lt_therm bt_therm region workpiece union 3 work_new work_thermostat work_boundary #lattice fcc 3.6327 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 create_atoms 1 region workpiece ########create tool geometry lattice diamond 3.562106 # for Diamond variable a equal 3.562106 variable R equal 20 ##tool edge radius = R variable Rc1 equal 240 variable Rc2 equal 80 ## tool edge centre coordinates variable zlo equal -20 variable zhi equal 20 variable fc equal 3 ### fixed constant to make distance 3 Armstrong #### Flank plane parameters variable f11 equal $(v_Rc1 + v_R * sin(PI/18)) variable f12 equal $(v_Rc2 - v_R * cos(PI/18)) variable f13 equal 15 variable f14 equal $(-v_R * sin(PI/18)) variable f15 equal $(v_R * cos(PI/18)) variable f16 equal 0 ## 1st (upper) Block parameters variable B11 equal $(v_Rc1 - v_R) variable B12 equal $(v_Rc1 + v_R * 2) variable B13 equal $(v_Rc2) variable B14 equal $(v_Rc2 + v_R * 2) variable B15 equal $(v_zlo) variable B16 equal $(v_zhi) ## 2nd (lower) Block paramers variable B21 equal $(v_Rc1) variable B22 equal $(v_Rc1 + v_R*2) variable B23 equal $(v_Rc2 - v_R) variable B24 equal $(v_Rc2) variable B25 equal $(v_zlo) variable B26 equal $(v_zhi) ## ToolThemo-upper_block parameters(TB1) variable TT11 equal $(v_Rc1 - v_R) variable TT12 equal $(v_Rc1 + v_R*2 + v_fc) variable TT13 equal $(v_Rc2 + v_R*2) variable TT14 equal $(v_Rc2 + v_R*2 + v_fc) variable TT15 equal $(v_zlo) variable TT16 equal $(v_zhi) ## ToolBoundary-upper_block parameters(BB1) variable TB11 equal $(v_Rc1 - v_R) variable TB12 equal $(v_Rc1 + v_R*2 + v_fc + v_fc) variable TB13 equal $(v_Rc2 + v_R*2+ v_fc) variable TB14 equal $(v_Rc2 + v_R*2 + v_fc + v_fc) variable TB15 equal $(v_zlo) variable TB16 equal $(v_zhi) ## ToolThemo-right_block parameters(TB2) variable TT21 equal $(v_Rc1 + v_R*2) variable TT22 equal $(v_Rc1 + v_R*2 + v_fc) variable TT23 equal $(v_Rc2 - v_R) variable TT24 equal $(v_Rc2 + v_R*2 + v_fc) variable TT25 equal $(v_zlo) variable TT26 equal $(v_zhi) ## ToolBoundary-right_block parameters(BB2) variable TB21 equal $(v_Rc1 + v_R*2 + v_fc) variable TB22 equal $(v_Rc1 + v_R*2 + v_fc + v_fc) variable TB23 equal $(v_Rc2 - v_R) variable TB24 equal $(v_Rc2 + v_R*2 + v_fc + v_fc) variable TB25 equal $(v_zlo) variable TB26 equal $(v_zhi) region tool_edge cylinder z ${Rc1} ${Rc2} $R $(v_zlo) $(v_zhi) units box region flank plane ${f11} ${f12} ${f13} ${f14} ${f15} ${f16} units box region box1 block ${B11} ${B12} ${B13} ${B14} $(v_zlo) $(v_zhi) units box region box2 block ${B21} ${B22} ${B23} ${B24} $(v_zlo) $(v_zhi) units box region tool_boundary1 block ${TB11} ${TB12} ${TB13} ${TB14} $(v_zlo) $(v_zhi) units box region tool_boundary2 block ${TB21} ${TB22} ${TB23} ${TB24} $(v_zlo) $(v_zhi) units box region tool_thermo1 block ${TT11} ${TT12} ${TT13} ${TT14} $(v_zlo) $(v_zhi) units box region tool_thermo2 block ${TT21} ${TT22} ${TT23} ${TT24} $(v_zlo) $(v_zhi) units box region tool_boundary union 2 tool_boundary1 tool_boundary2 region tool_thermo union 2 tool_thermo1 tool_thermo2 region tool_thermoboundary union 2 tool_boundary tool_thermo #region tool_new1 intersect 3 tool_box flank rake # tool newtonian atoms region tool_123 union 3 tool_edge box1 box2 region tool_new intersect 2 tool_123 flank #region tool_outlayer1 intersect 2 tool_thermoboundary flank ##tool - thermo+boundary #region tool_outlayer2 intersect 2 tool_thermoboundary rake region tool_outlayer intersect 2 tool_thermoboundary flank region tool union 2 tool_new tool_outlayer ### whole tool region tool_mobile union 2 tool_new tool_thermo ## tool - newtonian+ thermo for nve dynamics create_atoms 2 region tool mass 1 9.012182 mass 2 9.012182 mass 3 9.012182 mass 4 12.0107 mass 5 12.0107 mass 6 12.0107 ###Assign Groups to various regions group T_bound region tool_boundary group T_thermo region tool_thermo group T_new region tool_new group T_mobile region tool_mobile group tool region tool group w_bound region work_boundary group w_thermo region work_thermostat group w_new region work_new group w_mobile union w_thermo w_new group work region workpiece group TW_bound union T_bound w_bound group TW_thermo union T_thermo w_thermo ###group TW_mobile union T_mobile w_mobile ## tool-w/p newtonian +thermo group TW_newton union T_new w_new # tool and work Newtonian layer group mobile subtract all TW_bound # tool+work without boundary ###### set group as particular type set group w_bound type 1 set group w_thermo type 2 set group w_new type 3 set group T_bound type 4 set group T_thermo type 5 set group T_new type 6 #set group tool type 4 ############# compute temp. per atom as well as of region variable kB equal 1.3806504e-23/1.602e-19 ######Boltzmann's const. and eV for metal units compute keperatom all ke/atom variable tempatom atom c_keperatom*(2/3)/(v_kB) #### dump variable as dump custom id v_tempatom compute temp_tool tool temp compute temp_work work temp compute temp_toolnew T_new temp compute temp_worknew w_new temp compute new mobile temp compute temp_all all temp thermo_style custom step elapsed temp press time etotal pe ke ######Interatomic Potential pair_style hybrid tersoff eam/alloy morse 1.75 #pair_coeff * * BeC.tersoff Be Be Be C C C pair_coeff * * tersoff C.abop.tersoff NULL NULL NULL C C C pair_coeff * * eam/alloy BeAgrawal.eam.alloy Be Be Be NULL NULL NULL pair_coeff 1*3 4*6 morse 2.566 1.7798 1.666 #######Dynamics timestep 0.001 velocity mobile create 293 58142275 temp new fix 1 TW_bound setforce 0.0 0.0 0.0 ## boundary atoms of workpiece fix 2 all nve fix 3 mobile temp/rescale 5 293 293 0.05 1.00 ####thermal scaling/equilibration fix_modify 3 temp new #thermo 1 ###Change thermo 1000 thermo_modify temp new dump 1 all custom 10 alleq.*.dump id type x y z vx vy vz fx fy fz #dump 1 all custom 1 alleq.*.dump id type x y z vx vy vz fx fy fz v_tempatom ###Change #run 1 ###Change run 10000