[lammps-users] Issue with lj_charm_coul_long ff in lammps

Hi,

We are having a problem with the latest last release. Lammps does not seem
to compute
the coulombic charges properly for the lj_charm_coul_long forcefield for
our system.

We have compiled the 21 May 2008 version of LAMMPS on an Intel Woodcrest
based
cluster with Open MPI via GCC 4.0. We've tried modifying the makefile to
correct
for a possible issue with pair_lj_charmm_coul_long on 64 bit platforms but
this has
hasn't fixed the problem.

Input file data file output and makefile are attached.

Regards,

Mark

SHELL = /bin/sh
#.IGNORE:

# System-specific settings

CC = mpiCC
CCFLAGS = -O3 -I/gpfs/progs/Libraries/fftw-2.1.5/lib
-I/gpfs/progs/Libraries/fftw-2.1.5/include -DFFT_FFTW
DEPFLAGS = -M
LINK = mpiCC #mpic++
LINKFLAGS = -O3 -L/gpfs/progs/Libraries/fftw-2.1.5/lib \
                -L/gpfs/progs/Libraries/fftw-2.1.5/include
USRLIB = -lfftw
SYSLIB =
SIZE = size
NOALIAS = -fno-strict-aliasing

# Link target

\(EXE\): (OBJ)
        \(LINK\) (LINKFLAGS) \(OBJ\) (USRLIB) \(SYSLIB\) \-o (EXE)
        \(SIZE\) (EXE)

# Library target

lib: \(OBJ\)         (ARCHIVE) \(ARFLAGS\) (EXE) $(OBJ)

# Compilation rules

pair_lj_cut_coul_long.o : pair_lj_cut_coul_long.cpp
        \(CC\) (CCFLAGS) \(NOALIAS\) \-c <

pair_lj_charmm_coul_long.o : pair_lj_charmm_coul_long.cpp
        \(CC\) (CCFLAGS) \(NOALIAS\) \-c <

\.o:.cpp
        \(CC\) (CCFLAGS) -c $<

\.d:.cpp
        \(CC\) (CCFLAGS) \(DEPFLAGS\) < > $@

# Individual dependencies

DEPENDS = \(OBJ:\.o=\.d\) include (DEPENDS)

Input:

# MW100Relaxed2, LAMMPS MD run

units real
atom_style full
boundary p p p

pair_style lj/charmm/coul/long 8.0 12.0
dielectric 1.0
kspace_style ewald 0.0001
special_bonds 0.0 0.0 1.0 0.0 0.0 1.0

read_data MW100AnnealSimple.data

group mobile union all
timestep 1
fix 1 mobile npt 5000 300 10.0 xyz 10.103250 1.013250 350.0

velocity mobile create 5000 1222426561 mom yes rot yes dist gaussian
dump 1 all atom 10000 MW100AnnealSimple.dump
dump_modify 1 scale no image yes
dump 2 all custom 10000 MW100AnnealSimple.veldump vx vy vz
thermo_style custom etotal ke pe evdwl ecoul elong temp press
thermo_modify line multi
thermo 10000
run 10000000
write_restart MW100AnnealSimple.rst

The include file has the format
LAMMPS data file for MW100Relaxed2, LAMMPS MD run (force field
GLASS.params)

338 atoms
0 bonds
0 angles
0 dihedrals
0 impropers

5 atom types
0 bond types
0 angle types
0 dihedral types
0 improper types

0.0 16.989700 xlo xhi
0.0 16.989700 ylo yhi
0.0 16.989700 zlo zhi
Masses

    5 10.811000 # B
    4 6.941000 # Li
    1 15.999400 # O
    2 28.085500 # Si
    3 22.989770 # Na

Atoms

    1 1 1 -2.00000000 -6.16112575 -7.61307362 -6.65772580
    2 2 2 4.00000000 -4.63187576 -7.52549162 -0.96600581
    3 3 1 -2.00000000 -4.17694576 -9.93660162 -0.43022582
    4 4 3 1.00000000 -9.76205575 0.07740836 -0.01607582

Memory usage per processor = 2.08614 Mbytes
---------------- Step 0 ----- CPU = 0.0000 (sec)

mark,

does your input work on some other machine elsewhere correctly?

there are quit a few possible reasons apart from a bug
or a miscompiled binary, with typos in the input being
the most common source of problems.

without having the full input (including data file) to
test with a known-to-work executable, this is impossible
to track down.

axel.

Try pair_modify table 0 and see if you get the correct
answer. If so, then it is an issue with the tabling of
coul/long forces, discussed in the building LAMMPS
section of the manual. I.e. the compiler is doing
some unwanted optimization.

Steve

Thanks,

Adding pair_modify table 0 has fixed the issue.

Mark

Try pair_modify table 0 and see if you get the correct
answer. If so, then it is an issue with the tabling of
coul/long forces, discussed in the building LAMMPS
section of the manual. I.e. the compiler is doing
some unwanted optimization.

Steve

>
>
> Hi,
>
> We are having a problem with the latest last release. Lammps does not

seem

> to compute
> the coulombic charges properly for the lj_charm_coul_long forcefield

for

> our system.
>
> We have compiled the 21 May 2008 version of LAMMPS on an Intel

Woodcrest

> based
> cluster with Open MPI via GCC 4.0. We've tried modifying the makefile

to

> correct
> for a possible issue with pair_lj_charmm_coul_long on 64 bit platforms

but

> this has
> hasn't fixed the problem.
>
> Input file data file output and makefile are attached.
>
> Regards,
>
> Mark
>
> SHELL = /bin/sh
> #.IGNORE:
>
> # System-specific settings
>
> CC = mpiCC
> CCFLAGS = -O3 -I/gpfs/progs/Libraries/fftw-2.1.5/lib
> -I/gpfs/progs/Libraries/fftw-2.1.5/include -DFFT_FFTW
> DEPFLAGS = -M
> LINK = mpiCC #mpic++
> LINKFLAGS = -O3 -L/gpfs/progs/Libraries/fftw-2.1.5/lib \
> -L/gpfs/progs/Libraries/fftw-2.1.5/include
> USRLIB = -lfftw
> SYSLIB =
> SIZE = size
> NOALIAS = -fno-strict-aliasing
>
> # Link target
>
> \(EXE\): (OBJ)
> \(LINK\) (LINKFLAGS) \(OBJ\) (USRLIB) \(SYSLIB\) \-o (EXE)
> \(SIZE\) (EXE)
>
> # Library target
>
> lib: \(OBJ\) &gt; (ARCHIVE) \(ARFLAGS\) (EXE) \(OBJ\) &gt; &gt; \# Compilation rules &gt; &gt; pair\_lj\_cut\_coul\_long\.o : pair\_lj\_cut\_coul\_long\.cpp &gt; (CC) \(CCFLAGS\) (NOALIAS) -c &lt; &gt; &gt; pair\_lj\_charmm\_coul\_long\.o : pair\_lj\_charmm\_coul\_long\.cpp &gt; (CC) \(CCFLAGS\) (NOALIAS) -c &lt; &gt; &gt; %\.o:%\.cpp &gt; (CC) \(CCFLAGS\) \-c <
>
> \.d:.cpp
> \(CC\) (CCFLAGS) \(DEPFLAGS\) < > @ &gt; &gt; &gt; \# Individual dependencies &gt; &gt; DEPENDS = (OBJ:.o=.d)
> include $(DEPENDS)
>
> Input:
>
> # MW100Relaxed2, LAMMPS MD run
>
> units real
> atom_style full
> boundary p p p
>
> pair_style lj/charmm/coul/long 8.0 12.0
> dielectric 1.0
> kspace_style ewald 0.0001
> special_bonds 0.0 0.0 1.0 0.0 0.0 1.0
>
> read_data MW100AnnealSimple.data
>
> group mobile union all
> timestep 1
> fix 1 mobile npt 5000 300 10.0 xyz 10.103250 1.013250 350.0
>
> velocity mobile create 5000 1222426561 mom yes rot yes dist

gaussian