MDANSE icon indicating copy to clipboard operation
MDANSE copied to clipboard

[BUG] Issues with lammps conversion with lammps h5md format.

Open ChiCheng45 opened this issue 10 months ago • 1 comments

Description of the error MDANSE conversion job failure when I attempt to convert a file from an h5md file from LAMMPS. b6c0409b448cf941fed9e27a3989ba478422308c is the last working commit.

There were still issues at b6c0409b448cf941fed9e27a3989ba478422308c. I ran an NPT simulation, dumped to a LAMMPS h5md file, and converted; however, in MDANSE, the unit cell was fixed.

Additional details The following error is seen in the logs

2025-05-12 14:39:31,867 - CRITICAL - process[30352] - IJob 445 - Job failed with traceback: Traceback (most recent call last):
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Jobs\IJob.py", line 421, in run
    self.initialize()
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Converters\LAMMPS.py", line 1049, in initialize
    self._chemical_system = self.parse_first_step(self._atomicAliases)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Converters\LAMMPS.py", line 1169, in parse_first_step
    chemical_system = self._reader.parse_first_step(aliases, self._lammpsConfig)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Converters\LAMMPS.py", line 860, in parse_first_step
    label = config["elements"][ty]
            ~~~~~~~~~~~~~~~~~~^^^^
KeyError: -1

Process Subprocess-10:
Traceback (most recent call last):
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Jobs\IJob.py", line 421, in run
    self.initialize()
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Converters\LAMMPS.py", line 1049, in initialize
    self._chemical_system = self.parse_first_step(self._atomicAliases)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Converters\LAMMPS.py", line 1169, in parse_first_step
    chemical_system = self._reader.parse_first_step(aliases, self._lammpsConfig)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Converters\LAMMPS.py", line 860, in parse_first_step
    label = config["elements"][ty]
            ~~~~~~~~~~~~~~~~~~^^^^
KeyError: -1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\xcb63893\AppData\Local\anaconda3\envs\MDANSE\Lib\multiprocessing\process.py", line 314, in _bootstrap
    self.run()
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE_GUI\Src\MDANSE_GUI\Subprocess\Subprocess.py", line 60, in run
    self._job_instance.run(self._job_parameters)
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Jobs\IJob.py", line 446, in run
    raise JobError(self, tb)
MDANSE.Framework.Jobs.IJob.JobError: Traceback (most recent call last):
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Jobs\IJob.py", line 421, in run
    self.initialize()
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Converters\LAMMPS.py", line 1049, in initialize
    self._chemical_system = self.parse_first_step(self._atomicAliases)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Converters\LAMMPS.py", line 1169, in parse_first_step
    chemical_system = self._reader.parse_first_step(aliases, self._lammpsConfig)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\xcb63893\PycharmProjects\MDANSE\MDANSE\Src\MDANSE\Framework\Converters\LAMMPS.py", line 860, in parse_first_step
    label = config["elements"][ty]
            ~~~~~~~~~~~~~~~~~~^^^^
KeyError: -1

ChiCheng45 avatar May 12 '25 13:05 ChiCheng45

It is a good moment to consider if we want to drop LAMMPS H5MD files altogether.

Originally, the intention was to read the H5MD trajectories directly. Since it turned out that - last time I checked - the LAMMPS H5MD files did not include physical unit information, it was necessary to convert these trajectories anyway.

Or should we have some special way of reading LAMMPS H5MD, where the user could input the missing information, such as the unit system LAMMPS was using?

MBartkowiakSTFC avatar May 12 '25 14:05 MBartkowiakSTFC