I have attached all the changed files with this email that I needed to get the LAMMPS compile on IBM power6 machine.
These are the changes that was requred:
diff Make.sh.new Make.sh.old
23c23
< elif (test “cmp style_$3.h style_$3.tmp
” != “”) then
elif (test “diff --brief style_$3.h style_$3.tmp
” != “”) then
diff Makefile.new Makefile.old
3c3
< SHELL = /bin/bash
SHELL = /bin/sh
diff lmptype.h.new lmptype.h.old
42,46d41
< /* Avoid 1540-0130 (S) “PRId64” is not declared (wct) /
< #ifndef PRId64 / (wct) /
< #define PRId64 “ld” / (wct) /
< #endif / not PRId64 (wct) */
The error from the pppm.cpp was the following:
mpCC_r -O3 -qstrict -qnoipa -qlanglvl=oldmath -q64 -DLAMMPS_ARRAY -DFFT_NONE -I/site/PET/pkgs/fftw-3.2.2-64bit/include -c pppm.cpp
“pppm.cpp”, line 1026.50: 1540-0063 (S) The text “100” is unexpected.
“pppm.cpp”, line 875.16: 1540-0063 (S) The text “100” is unexpected.
replace all of the double “hz” variables with “hzz” as followed. Apparently, “hz” variable had already been defined as text “100” somewhere within this rats nest of include files and the “pppm.cpp” file wasn’t expecting it, so I simply changed the name of the variable to avoid any conflicts.
grep -n “hzz” pppm.cpp.new
875: double hx,hy,hzz;
888: hx = hy = hzz = 1/g_ewald; 892: nz_pppm = static_cast (zprd_slab/hzz + 1);
908: err = rms(hzz,zprd_slab,natoms,q2,acons);
910: err = rms(hzz,zprd_slab,natoms,q2,acons);
912: hzz = zprd_slab/nz_pppm;
926: hzz = zprd_slab/nz_pppm;
934: f = diffpr(hx,hy,hzz,q2,acons);
936: hmin = MIN(hx,MIN(hy,hzz));
939: fmid = diffpr(hx,hy,hzz,q2,acons);
947: fmid = diffpr(hx,hy,hzz,q2,acons); 958: double lprz = rms(hzz,zprd_slab,natoms,q2,acons);
1026:double PPPM::diffpr(double hx, double hy, double hzz, double q2, double **acons)
1036: lprz = rms(hzz,zprd*slab_volfactor,natoms,q2,acons);
I did some more trivial changes to compile LAMMPS with reax.
Thank you,
Vivek
IBMpower6Files.tar.gz (31.8 KB)