Examples
Read trems of lammpsdata
import readlammpsdata as rld
lmp ="PVP.lmp"
trems = rld.read_terms(lmp)
print(trems)
"""output
['Masses', 'Pair Coeffs', 'Bond Coeffs', 'Angle Coeffs', 'Dihedral Coeffs', 'Improper Coeffs', 'Atoms # full', 'Bonds', 'Angles', 'Dihedrals', 'Impropers']
"""
Read data
Read “Atoms”
Atoms = rld.read_data(lmp,"Atoms") # or Atoms = rld.read_data(lmp,"Atoms # full") print(Atoms) """output >>> Read data Atoms successfully ! 1 1 1 -0.35160000 1.000 1.00000 0.00000 2 1 2 0.13720000 -0.337 1.00000 0.00000 3 1 3 -0.79220000 -1.134 1.00000 1.11526 ... 13 1 13 0.10870000 0.222 0.44931 2.64132 14 1 14 0.11370000 -1.868 0.86334 4.30672 15 1 15 0.11370000 -1.804 -0.58670 3.28942 16 1 16 0.14040000 -3.408 1.94658 2.77089 17 1 17 0.14040000 -3.873 0.22675 2.53818 """
read “others trems” data
Masses = read_data(lmp, "Masses") BondCoeffs = read_data(lmp, "Bond Coeffs") AngleCoeffs = read_data(lmp, "Angle Coeffs") DihedralCoeffs = read_data(lmp, "Dihedral Coeffs") ...
Read Box size
xyz = rld.read_box(lmp)
lx = xyz["xhi"]-xyz["xlo"]
ly = xyz["yhi"]-xyz["ylo"]
lz = xyz["zhi"]-xyz["zlo"]
print(xyz)
print(lx,ly,lz)
"""
{'xlo': -3.87301, 'xhi': 46.12699, 'ylo': -0.5867, 'yhi': 49.4133, 'zlo': -0.95115, 'zhi': 49.04885}
50.0 50.0 50.0
"""
lx = rld.read_len(lmp,"x")
ly = rld.read_len(lmp,"y")
lz = rld.read_len(lmp,"z")
print(lx,ly,lz)
"""
>>> Read data Header successfully !
>>> Read size of x direction successfully !
>>> Read data Header successfully !
>>> Read size of y direction successfully !
>>> Read data Header successfully !
>>> Read size of z direction successfully !
50.0 50.0 50.0
"""
Read atomic infos
Number of atoms:
Natoms = rld.read_atom_info(lmp,"atoms") print("Number of atoms is %s" %Natoms) """ >>> Read data Header successfully ! >>> Read data Header successfully ! Number of atoms is 17 """
Number of bonds:
Nbonds = rld.read_atom_info(lmp,"bonds") print("Number of bonds is %s" %Nbonds) """ >>> Read data Header successfully ! >>> Read data Header successfully ! Number of bonds is 17 """
Number of angles, dihedrals, impropers, same as above
Read charges
charges = rld.read_charges(lmp)
print("Charges of atoms are %s" %charges)
print(round(sum(charges),6))
"""
>>> Read charges successfully !
Charges of atoms are [-0.3516 0.1372 -0.7922 0.1074 -0.2058 -0.2204 0.5562 -0.4121 0.1379 0.1379 0.1799 0.1087 0.1087 0.1137 0.1137 0.1404 0.1404]
-0.0
"""
Read volume
vol = rld.read_vol(lmp)
print(vol)
"""
>>> Read data Header successfully !
>>> Read size of x direction successfully !
>>> Read data Header successfully !
>>> Read size of y direction successfully !
>>> Read data Header successfully !
>>> Read size of z direction successfully !
>>> Read volume of system successfully !
125.0
"""
Sort lmp
rld.sort_lmp("PVP.lmp","PVP_sort.lmp")
lammpsdata to xyz
rld.lmp2xyz("PVP.lmp","PVP.xyz")
"""
--------------------- Program Start ---------------------
>>> Read data Masses successfully !
>>> Convert the id masses to element list successfully !
>>> Read the id masses and element dicts successfully !
>>> Read data Atoms successfully !
>>> Convert lammps data (lmp) file to xyz file successfully !
-------------------- Run time: 0.04 s --------------------
"""
lammpsdata to lammpstrj
rld.lmp2lammpstrj(lmp,"PVP.lammpstrj")
"""
--------------------- Program Start ---------------------
>>> Read data Masses successfully !
>>> Convert the id masses to element list successfully !
>>> Read the id masses and element dicts successfully !
>>> Read data Atoms successfully !
>>> Read data Header successfully !
>>> Convert lammps data (lmp) file to lammpstrj file successfully !
-------------------- Run time: 0.0 s --------------------
"""
others
to be continued