Skip to content

[Feature Request] Modify dplr source code to support the newest LAMMPS  #2275

@Yi-FanLi

Description

@Yi-FanLi

Summary

Currently, compiling deepmd-kit with the newest LAMMPS (commit 554257 in LAMMPS's develop branch) fails. The error message is as follows:

[ 6%] Building CXX object CMakeFiles/lammps.dir/scratch/gpfs/yifanl/Softwares/lammps-dev/lammps/src/DEEPMD/pppm_dplr.cpp.o
/scratch/gpfs/yifanl/Softwares/lammps-dev/lammps/src/DEEPMD/pppm_dplr.cpp:10:10: fatal error: gridcomm.h: No such file or directory
#include "gridcomm.h"
^~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/lammps.dir/build.make:5774: CMakeFiles/lammps.dir/scratch/gpfs/yifanl/Softwares/lammps-dev/lammps/src/DEEPMD/pppm_dplr.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:172: CMakeFiles/lammps.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

This error stems from this commit of LAMMPS:
lammps/lammps@72b0a2d
which was committed on Dec 19, 2022. In this commit, LAMMPS's gridcomm.h file is renamed into grid3d.h. The GridComm class is deprecated, and a new class called Grid3d is used instead. Therefore, DeePMD-kit should support the changes accordingly.

Detailed Description

I suggest to add support for Grid3d in pppm_dplr.h and pppm_dplr.cpp, like what is done for src/KSPACE/pppm.h and src/KSPACE/pppm.cpp. However, how to support both old and new versions is not clear yet. Using macro with "if" based on LAMMPS_VERSION_NUMBER may not work, since LAMMPS's commit 72b0a2 did not change its version number.

Further Information, Files, and Links

No response

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions