You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The coordinate transform of "scaled" LAMMPS trajectory should be imported correctly.
Actual behavior
The MDAnalysis calculated incorrectly coordinates from scaled to unscaled. Calculation method of “scaled” is xs = (x-xlo)/(xhi-xlo). So, when coordinate transform, the coordinate can be calculated by x = (xhi-xlo)*xs + xlo. However, the LAMMPS DumpReader returns incorrect coordinate transform. For example, the scaled coordinate in my dump is
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
6024
ITEM: BOX BOUNDS pp pp pp
3.3501000000000003e-02 6.2616999999999997e+01
-5.2700000000000002e-01 2.8887000000000000e+01
-1.5000000000000000e+01 4.0000000000000000e+01
ITEM: ATOMS id type xs ys zs
2608 2 0.0407033 0.457803 0.384662
The real coordinate of atom 2608 is [2.58086, 12.9388, 6.15641]. However, the coordinate calculated by DumpReader is [2.513854, 13.992818, 36.15641]. Calculation method of DumpReader seem to be x = (xhi-xlo)*xs - xlo. Other atoms are tested and the same error happened.
Code to reproduce the behavior
importnumpyasnpimportMDAnalysisasmdafromMDAnalysis.analysis.hydrogenbondsimportHydrogenBondAnalysisfromMDAnalysis.analysisimporthydrogenbonds# load systemu=mda.Universe("carbonice3nm.data", "ice.lammpstrj", format="LAMMPSDUMP", lammps_coordinate_convention="scaled", dt=10)
O=u.select_atoms('id 2608')
print(O.positions)
## Current version of MDAnalysis ##-Whichversionareyouusing? (2.8.0)
-WhichversionofPython? (3.10.0)
-Whichoperatingsystem? (Windows)
-LAMMPSversion2Aug2023
The text was updated successfully, but these errors were encountered:
If the coordinate transformation is indeed incorrect, you can manually calculate the coordinates using the correct formula as a workaround until an update is available. mdsimulation.txt
Expected behavior
The coordinate transform of "scaled" LAMMPS trajectory should be imported correctly.
Actual behavior
The MDAnalysis calculated incorrectly coordinates from scaled to unscaled. Calculation method of “scaled” is xs = (x-xlo)/(xhi-xlo). So, when coordinate transform, the coordinate can be calculated by x = (xhi-xlo)*xs + xlo. However, the LAMMPS DumpReader returns incorrect coordinate transform. For example, the scaled coordinate in my dump is
The real coordinate of atom 2608 is [2.58086, 12.9388, 6.15641]. However, the coordinate calculated by DumpReader is [2.513854, 13.992818, 36.15641]. Calculation method of DumpReader seem to be x = (xhi-xlo)*xs - xlo. Other atoms are tested and the same error happened.
Code to reproduce the behavior
The text was updated successfully, but these errors were encountered: