kim init {modelname} metal unit_conversion_mode boundary p p p box tilt large neigh_modify one 4000 variable box_xlo equal {box_xlo} variable box_xhi equal {box_xhi} variable box_ylo equal {box_ylo} variable box_yhi equal {box_yhi} variable box_zlo equal {box_zlo} variable box_zhi equal {box_zhi} variable box_xy equal {box_xy} variable box_xz equal {box_xz} variable box_yz equal {box_yz} region box prism ${{box_xlo}} ${{box_xhi}} & ${{box_ylo}} ${{box_yhi}} & ${{box_zlo}} ${{box_zhi}} & ${{box_xy}} ${{box_xz}} ${{box_yz}} create_box {numelements} box read_dump {lammps_xyzfile} 0 x y z box no add yes format xyz group all region box {set_masses} variable xyfinal equal xy*${{_u_distance}} variable xzfinal equal xz*${{_u_distance}} variable yzfinal equal yz*${{_u_distance}} change_box all x scale ${{_u_distance}} & y scale ${{_u_distance}} & z scale ${{_u_distance}} & xy final ${{xyfinal}} & xz final ${{xzfinal}} & yz final ${{yzfinal}} & remap atom_modify sort 0 0 kim interactions {symbol} # Use nsq neighlist method instead of binning since this is a small system variable neigh_skin equal 2.0*${{_u_distance}} neighbor ${{neigh_skin}} nsq # Variables used to rescale the positions and forces so that the quantities in the # thermo output and dumpfile are in the original metal units (angstrom and eV/angstrom) # even if we're running with a Simulator Model that uses different units variable pe_metal equal "c_thermo_pe/v__u_energy" variable x_metal atom x/${{_u_distance}} variable y_metal atom y/${{_u_distance}} variable z_metal atom z/${{_u_distance}} variable fx_metal atom fx/${{_u_force}} variable fy_metal atom fy/${{_u_force}} variable fz_metal atom fz/${{_u_force}} dump dumpid all custom 1 {dumpfile} id type v_x_metal v_y_metal v_z_metal & v_fx_metal v_fy_metal v_fz_metal dump_modify dumpid sort id format line "%d %d %16.7f %16.7f %16.7f %16.7f %16.7f %16.7f" thermo_style custom v_pe_metal run 0