USER-FEP package with LAMMPS

Just to let you know I could compile and run using package USER-FEP with LAMMPS-ICMS.
I suspect something needs fixing in your openmpi installation.
Agilio

Just to let you know I could compile and run using package USER-FEP with
LAMMPS-ICMS.
I suspect something needs fixing in your openmpi installation.

​i would be not so certain about that. those are just warnings that can be
turned off by adding ​-DOMPI_SKIP_MPICXX=1 to the MPI_INC makefile
variable. the error has to be something else.

axel.

Hi Agilio,

As you pointed out, I missed the error yesterday - sorry about that. Just in case, I am attaching the whole output from make to this email as make.log.

A few things: I am using LAMMPS-ICMS already, and have overwritten the contents of its USER-FEP with the contents from the newest USER-FEP containing the lj/charmm/coul/long/soft potential, essentially following your instructions at https://github.com/agiliopadua/compute_fep.

This is the error I am getting when I compile with make yes-user-fep (warnings deleted as Axel suggested):

mpic++ -O2 -funroll-loops -fstrict-aliasing -Wall -W -Wno-uninitialized -DLAMMPS_GZIP -DFFT_FFTW3 -I/home/pjk38/bin/fftw/include -c …/compute_fep.cpp
In file included from /opt/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h:288,
from /opt/openmpi/include/mpi.h:1886,
from …/compute_fep.cpp:21:
…/compute_fep.cpp: In member function ‘virtual void LAMMPS_NS::ComputeFEP::compute_vector()’:
…/compute_fep.cpp:298: error: ‘TIME_PAIR’ was not declared in this scope
…/compute_fep.cpp:302: error: ‘TIME_KSPACE’ was not declared in this scope
…/compute_fep.cpp:311: error: ‘TIME_PAIR’ was not declared in this scope
…/compute_fep.cpp:315: error: ‘TIME_KSPACE’ was not declared in this scope
make[1]: *** [compute_fep.o] Error 1
make[1]: Leaving directory `/home/pjk38/lammps-icms/src/Obj_pjk’
make: *** [pjk] Error 2

make.log (164 KB)

Hi,
I can see the cause of the error: Axel uses a different Timer class in LAMMPS-ICMS than in the main code.
In compute_fep.cpp you need to replace:

298c298
< timer->stamp(TIME_PAIR);

I made the changes and recompiled. Compiling now works. However, “find ~/lammps-icms/ -name ‘*.o’ | grep soft” produces this:
Obj_pjk/pair_tip4p_long_soft.o
Obj_pjk/pair_lj_cut_coul_cut_soft.o
Obj_pjk/pair_soft.o
Obj_pjk/pair_lj_cut_tip4p_long_soft.o
Obj_pjk/pair_coul_cut_soft.o
Obj_pjk/pair_lj_cut_coul_long_soft.o
Obj_pjk/pair_lj_cut_soft.o
Obj_pjk/pair_coul_long_soft.o

There is no pair_lj_charmm_coul_long_soft.o, as I would have expected. When I use the new executable, I get this error (from log.lammps):
pair_style hybrid lj/charmm/coul/long 8 10 lj/charmm/coul/long/soft 1.0 0.5 10.0 8.0 10.0
ERROR: Illegal pair_style command (…/pair_lj_charmm_coul_long.cpp:656)

So it seems LAMMPS still isn’t finding the new potential, even if it now compiles. I can’t find anything in the output of make, so I have attached it here in case there is something revealing.

make2.log (593 KB)

The pair_lj_charmm_coul_long_soft.{h,cpp} are not yet included in LAMMPS-ICMS or LAMMPS.
You’ll have to get them from my repo:
$ git clone https://github.com/agiliopadua/compute_fep.git

and then copy the files above into your lammps/src
Recompile.
You can check what’s built into your executable with

$ lammps -h

Agilio

The pair_lj_charmm_coul_long_soft.{h,cpp} are not yet included in
LAMMPS-ICMS or LAMMPS.

​yes. it took me a little extra time to debug my optimized /omp version​,
since for those there is quite a bit of optimization potential. just pushed
them to the LAMMPS-ICMS repo and will now e-mail the updated files to steve
for inclusion into the official LAMMPS tree as well.

axel.

You’ll have to get them from my repo: