possible issue with test "C_2x2x2_RPAFORCE"

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.


Moderators: Moderator, Global Moderator

Post Reply
Message
Author
HLRN_ZIB
Newbie
Newbie
Posts: 3
Joined: Mon Dec 02, 2019 2:09 pm

possible issue with test "C_2x2x2_RPAFORCE"

#1 Post by HLRN_ZIB » Mon Jul 22, 2024 10:06 am

I have successfully compiled vasp 6.4.3 with intel oneapi 2024.2 and intel mpi 2021.13.
However, when executing the test suite with

Code: Select all

make test_all
only the test C_2x2x2_RPAFORCE fails.

When I run this test manually using vasp_std, I observe good agreement with the reference OUTCAR file. Nevertheless, using vasp_gam (as intended in this test case), results in forces that do not agree with the reference.
I find this situation a bit odd, because all other test cases that employ vasp_gam pass.

Might it be that the reference OUTCAR for C_2x2x2_RPAFORCE has been generated with vasp_std?

Attached are the OUTCAR files for the cases where vasp_std and vasp_gam have been used.

christopher_sheldon1
Global Moderator
Global Moderator
Posts: 39
Joined: Mon Mar 25, 2024 1:36 pm

Re: possible issue with test "C_2x2x2_RPAFORCE"

#2 Post by christopher_sheldon1 » Mon Jul 22, 2024 3:52 pm

Hi,

I'm afraid that I don't see the OUTCAR files attached. Could you reattach them? Could you also supply the stdout files and your make.include file, please?

EDIT: We're experiencing problems with uploading files to the forum at the moment. Once this is sorted, I'll update this post again

Best,

Chris

HLRN_ZIB
Newbie
Newbie
Posts: 3
Joined: Mon Dec 02, 2019 2:09 pm

Re: possible issue with test "C_2x2x2_RPAFORCE"

#3 Post by HLRN_ZIB » Tue Jul 23, 2024 7:49 am

I am afraid, I cannot attach files to this thread. Whenever I try, the following error message pops up:

Code: Select all

Sorry, the board attachment quota has been reached.
Here is the intent of makefile.include used to compile VASP

Code: Select all

# Default precompiler options
CPP_OPTIONS = -DHOST=\"Lise:cpu-clx\" \
              -DMPI -DMPI_BLOCK=8000 -Duse_collective \
              -DscaLAPACK \
              -DCACHE_SIZE=4000 \
              -Davoidalloc \
              -Dvasp6 \
              -Duse_bse_te \
              -Dtbdyn \
              -Dfock_dblbuf \
              -D_OPENMP \
              -DVASP2WANNIER90 \
              -DVASP_HDF5 \
              -Duse_shmem -Dshmem_bcast_buffer -Dshmem_rproj -Dsysv \
              -DUSELIBXC

CPP         = fpp -f_com=no -free -w0  $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)

FC          = mpiifort -I${MKLROOT}/include/intel64/lp64 -I"${MKLROOT}/include" -qopenmp
FCL         = mpiifort -norpath -echo -link_mpi=opt

FREE        = -free -names lowercase

FFLAGS      = -assume byterecl -w -xCORE-AVX512 -fp-model=precise

OFLAG       = -O2
OFLAG_IN    = $(OFLAG)
DEBUG       = -O0

OBJECTS     = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o

# For what used to be vasp.5.lib
CPP_LIB     = $(CPP)
FC_LIB      = $(FC)
CC_LIB      = icx
CFLAGS_LIB  = -O2 -xCORE-AVX512
FFLAGS_LIB  = -O2 -xCORE-AVX512
FREE_LIB    = $(FREE)

OBJECTS_LIB = linpack_double.o getshmem.o

# For the parser library
CXX_PARS    = icpx
LLIBS       = -lstdc++

##
## Customize as of this point! Of course you may change the preceding
## part of this file as well if you like, but it should rarely be
## necessary ...
##

# When compiling on the target machine itself, change this to the
# relevant target when cross-compiling for another architecture
# VASP_TARGET_CPU = -xHOST
# FFLAGS     += $(VASP_TARGET_CPU)

WANNIER90_ROOT = $(VASP_INSTALL_DIR)/wannier90-3.1.0
LLIBS     += $(WANNIER90_ROOT)/libwannier.a

LIBXC      = $(VASP_INSTALL_DIR)/libxc-6.2.2/install
LLIBS     += $(LIBXC)/lib/libxcf90.a $(LIBXC)/lib/libxcf03.a $(LIBXC)/lib/libxc.a
INCS      += -I$(LIBXC)/include/

CPP_OPTIONS  += -Dlibbeef
LIBBEEF_ROOT  = $(VASP_INSTALL_DIR)/libbeef/install/
LLIBS        += -L$(LIBBEEF_ROOT)/lib -lbeef

# Support to D4
CPP_OPTIONS += -DDFTD4
DFTD4_ROOT   = $(VASP_INSTALL_DIR)/dftd4-3.6.0/install/
LLIBS       += -L$(DFTD4_ROOT)/lib64 -ldftd4 -lmulticharge -lmctc-lib
INCS        += -I$(DFTD4_ROOT)/include/dftd4/Intel-2021.0.0.20240602/

LLIBS     += ${MKLROOT}/lib/libmkl_scalapack_lp64.a \
             -Wl,--start-group ${MKLROOT}/lib/libmkl_intel_lp64.a \
               ${MKLROOT}/lib/libmkl_intel_thread.a \
               ${MKLROOT}/lib/libmkl_core.a \
               ${MKLROOT}/lib/libmkl_blacs_intelmpi_lp64.a \
             -Wl,--end-group \
             -liomp5 -lpthread
INCS       += -I$(MKLROOT)/include/fftw

LLIBS      += -L$(HDF5_ROOT) -lhdf5_fortran -lhdf5
INCS       += -I$(HDF5_ROOT)/include
The compilation process has been successful, as mentioned in the previous thread. Furthermore, all tests (not only the fast ones) pass, except "C_2x2x2_RPAFORCE". This points out that the executables should be reliable. But, for the test "C_2x2x2_RPAFORCE":

Code: Select all

diff energy energy.ref
gives no difference at all

However

Code: Select all

diff force force.ref
results in

Code: Select all

1,16c1,16
<  -18.27000  -18.27000   16.36635
<   -1.52191    0.70693    1.35234
<    0.70693   -1.52191    1.35234
<   -0.54756   -0.54756   -0.07230
<    1.38600    1.38600   -0.51829
<    0.13044   -2.03232   -0.70964
<   -2.03232    0.13044   -0.70964
<    0.46052    0.46052    0.00262
<   -0.01243   -0.01243    0.63321
<   -0.86243   -0.78562   -0.09980
<   -0.78562   -0.86243   -0.09980
<   12.56751   12.56751  -15.64827
<   -0.14765   -0.14765   -0.71083
<    3.30204    2.55113   -0.60271
<    2.55113    3.30204   -0.60271
<    2.72658    2.72658    0.59532
---
(not showing here the reference)
When I run manually this test case employing vasp_std (instead of vasp_gam), I get the following forces printed out in the OUTCAR file

Code: Select all

 POSITION                                       TOTAL RPA FORCE (eV/Angst)
 -----------------------------------------------------------------------------------
      0.35670      0.35670      0.00000       -17.602797    -17.602797     17.197443
      0.00000      1.78349      1.78349        -1.620776      0.536037      1.394252
      1.78349      0.00000      1.78349         0.536037     -1.620776      1.394252
      1.78349      1.78349      3.56699        -0.702260     -0.702260     -0.080054
      1.78349      1.78349      0.00000         1.275946      1.275946     -0.633073
      1.78349      3.56699      1.78349         0.053603     -1.930704     -0.659878
      3.56699      1.78349      1.78349        -1.930704      0.053603     -0.659878
      3.56699      3.56699      3.56699         0.209408      0.209408      0.039533
      2.67524      2.67524      2.67524         0.076104      0.076104      0.504580
      2.67524      4.45873      4.45873        -0.500109     -0.482514     -0.049234
      4.45873      2.67524      4.45873        -0.482514     -0.500109     -0.049234
      4.45873      4.45873      6.24223        12.658446     12.658446    -15.970833
      4.45873      4.45873      2.67524         0.087725      0.087725     -0.653598
      4.45873      6.24223      4.45873         3.458659      2.775629     -0.521604
      6.24223      4.45873      4.45873         2.775629      3.458659     -0.521604
      6.24223      6.24223      6.24223         1.728810      1.728810     -0.720924
 -----------------------------------------------------------------------------------
    total drift:                                0.021207      0.021207      0.010146
and then the forces differ no more than 7e-5 with respect to the reference.

christopher_sheldon1
Global Moderator
Global Moderator
Posts: 39
Joined: Mon Mar 25, 2024 1:36 pm

Re: possible issue with test "C_2x2x2_RPAFORCE"

#4 Post by christopher_sheldon1 » Tue Jul 23, 2024 3:55 pm

I've repeated the calculation for "C_2x2x2_RPAFORCE" using VASP std and gamma and found energies within ueV

Code: Select all

gamma/OUTCAR:  free  energy   TOTEN  =      -220.66537367 eV
std/OUTCAR:  free  energy   TOTEN  =      -220.66537301 eV
OUTCAR.ref:  free  energy   TOTEN  =      -220.66537595 eV
and forces within meV/A, for std:

Code: Select all

 POSITION                                       TOTAL RPA FORCE (eV/Angst)
 -----------------------------------------------------------------------------------
      0.35670      0.35670      0.00000       -17.603243    -17.603243     17.197301
      0.00000      1.78349      1.78349        -1.621071      0.536237      1.394494
      1.78349      0.00000      1.78349         0.536237     -1.621071      1.394494
      1.78349      1.78349      3.56699        -0.702313     -0.702313     -0.079999
      1.78349      1.78349      0.00000         1.276270      1.276270     -0.633213
      1.78349      3.56699      1.78349         0.053621     -1.930721     -0.659991
      3.56699      1.78349      1.78349        -1.930721      0.053621     -0.659991
      3.56699      3.56699      3.56699         0.209453      0.209453      0.039560
      2.67524      2.67524      2.67524         0.076121      0.076121      0.504586
      2.67524      4.45873      4.45873        -0.499991     -0.482543     -0.049182
      4.45873      2.67524      4.45873        -0.482543     -0.499991     -0.049182
      4.45873      4.45873      6.24223        12.658581     12.658581    -15.971301
      4.45873      4.45873      2.67524         0.087741      0.087741     -0.653532
      4.45873      6.24223      4.45873         3.458715      2.775438     -0.521507
      6.24223      4.45873      4.45873         2.775438      3.458715     -0.521507
      6.24223      6.24223      6.24223         1.729042      1.729042     -0.720878
 -----------------------------------------------------------------------------------
    total drift:                                0.021337      0.021337      0.010152
and std:

Code: Select all

 POSITION                                       TOTAL RPA FORCE (eV/Angst)
 -----------------------------------------------------------------------------------
      0.35670      0.35670      0.00000       -17.603464    -17.603464     17.197131
      0.00000      1.78349      1.78349        -1.621197      0.536271      1.394529
      1.78349      0.00000      1.78349         0.536271     -1.621197      1.394529
      1.78349      1.78349      3.56699        -0.702337     -0.702337     -0.079966
      1.78349      1.78349      0.00000         1.276363      1.276363     -0.633165
      1.78349      3.56699      1.78349         0.053658     -1.930734     -0.660045
      3.56699      1.78349      1.78349        -1.930734      0.053658     -0.660045
      3.56699      3.56699      3.56699         0.209439      0.209439      0.039546
      2.67524      2.67524      2.67524         0.076111      0.076111      0.504579
      2.67524      4.45873      4.45873        -0.499913     -0.482524     -0.049161
      4.45873      2.67524      4.45873        -0.482524     -0.499913     -0.049161
      4.45873      4.45873      6.24223        12.658556     12.658556    -15.971395
      4.45873      4.45873      2.67524         0.087752      0.087752     -0.653479
      4.45873      6.24223      4.45873         3.458774      2.775440     -0.521470
      6.24223      4.45873      4.45873         2.775440      3.458774     -0.521470
      6.24223      6.24223      6.24223         1.729106      1.729106     -0.720855
 -----------------------------------------------------------------------------------
    total drift:                                0.021299      0.021299      0.010103
These differ from OUTCAR.ref by a small amount but about what you would expect between different machines. So I think that "C_2x2x2_RPAFORCE" is with vasp_gamma, although it shouldn't make a difference of more than a few ueV or meV/A between gamma and std.

But you say that all the other test calculations matched, so it seems that everything else has been compiled well, except for this one instance of vasp_gam.

HLRN_ZIB
Newbie
Newbie
Posts: 3
Joined: Mon Dec 02, 2019 2:09 pm

Re: possible issue with test "C_2x2x2_RPAFORCE"

#5 Post by HLRN_ZIB » Wed Jul 24, 2024 2:01 pm

I've recompiled VASP employing ifx/mpiifx (instead of ifort/mpiifort), and now the issue with vasp_gam has disappeared.
Insterestingly: compiling with gfortran/openmpi also makes vasp_gam pass the test C_2x2x2_RPAFORCE.

christopher_sheldon1
Global Moderator
Global Moderator
Posts: 39
Joined: Mon Mar 25, 2024 1:36 pm

Re: possible issue with test "C_2x2x2_RPAFORCE"

#6 Post by christopher_sheldon1 » Thu Jul 25, 2024 9:42 am

That is odd. We'll make a note of it. Glad you could get it working.

Post Reply