ls1mardyn / ls1-mardyn

ls1-MarDyn is a massively parallel Molecular Dynamics (MD) code for large systems. Its main target is the simulation of thermodynamics and nanofluidics. ls1-MarDyn is designed with a focus on performance and easy extensibility.
http://www.ls1-mardyn.de
Other
28 stars 15 forks source link

Fixes regarding component ID #319

Open HomesGH opened 4 months ago

HomesGH commented 4 months ago

Description

The components are internally stored as a vector. Therefore, the component IDs start with 0. However, in the specification of the components in the xml file, the ID starts with a 1. This leads to a bug in the Basis.cpp class, which doesn't convert the external ID (starting with 1) to the internally used one (starting with 0). This bug was also described in issue #315. Besides the fix in Basis.cpp, also the specified componentIDs in the xml files were incremented to preserve the simulations' results.

Also added a check to validate the input of the IDs in the <components> section of the xml file.

Resolved Issues

HomesGH commented 4 months ago

The checks fail since the PR is compared to the master branch. However, the master branch uses the new config files with the changed component IDs. This leads to a failure since the component ID specified in the <basis> can now be equal to the number of components (which is invalid in the master branch).

How should we deal with this, @cniethammer @FG-TUM ?