[DFTB-Plus-User] dftb+ 18.2: Support for TD-DFTB / DftD3

Kandes, Martin mkandes at sdsc.edu
Wed Mar 27 17:50:04 CET 2019


Hi Balint,


Thanks for the confirmation on the TD-DFTB serial v18.2 build. I've completed this build and handed it off to the user for testing.


On the MPI/SCALAPACK-based v18.2 build with DFTD3 support: I think I've actually got it working. In my first attempts, I was separately building DFTD3 prior to DFTB+ as I had done for v18.1 [1]. The problem here I ran into was undefined references in the final linking phase of the build [2]. I couldn't quite find where these function definitions were located myself. In any case, I tried a different approach downloading DFTD3 via the ./utils/get_opt_externals ALL script and let the DFTB+ build process handle compiling and linking in DFTD3. This was the build script [3]. And it seems to have worked and I've handed it off to the user for testing.


Marty Kandes

SDSC HPC User Services Group


P.S. Thanks for the quick reply!


[1]


#!/usr/bin/env bash

declare -xr DFTBPLUS_BUILD_DIR="/home/${USER}/Software/dftbplus/dftbplus-mpi"

module purge
module load intel/2016.3.210
module load intelmpi/2016.3.210
module load mkl/11.3.3
module load gnutools/2.69
module list
printenv

mkdir -p "${DFTBPLUS_BUILD_DIR}"
cd "${DFTBPLUS_BUILD_DIR}"

git clone https://github.com/dftbplus/dftd3-lib.git
cd dftd3-lib
git checkout 0.9
sed -i 's/ARCH = x86_64-linux-gnu/ARCH = x86_64-linux-intel/' make.arch
make
export LD_LIBRARY_LIB="${DFTBPLUS_BUILD_DIR}/dftd3-lib/lib:${LD_LIBRARY_LIB}"

cd "${DFTBPLUS_BUILD_DIR}"

wget https://www.dftbplus.org/fileadmin/DFTBPLUS/public/dftbplus/18.2/dftbplus-18.2.tar.xz
tar -xf dftbplus-18.2.tar.xz
cd dftbplus-18.2
cp sys/make.x86_64-linux-intel ./make.arch
export MKLROOT="${MKL_ROOT}"
sed -i 's/WITH_MPI := 0/WITH_MPI := 1/' make.config
sed -i 's/WITH_ARPACK := 1/WITH_ARPACK := 0/' make.config
sed -i 's/WITH_DFTD3 := 0/WITH_DFTD3 := 1/' make.config
sed -i 's/COMPILE_DFTD3 := 1/COMPILE_DFTD3 := 0/' make.config
sed -i 's/DFTD3_INCS := -I\/usr\/local\/include\/dftd3-lib/DFTD3_INCS := -I\/home\/mkandes\/Software\/dftbplus\/dftbplus-mpi\/dftd3-lib\/lib/' make.config
sed -i 's/DFTD3_LIBS := -L\/usr\/local\/lib -ldftd3/DFTD3_LIBS := -L\/home\/mkandes\/Software\/dftbplus\/dftbplus-mpi\/dftd3-lib\/lib -ldftd3/' make.config
make
make install


[2]


make[1]: Entering directory `/home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/prog/dftb+'
touch -r /home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/mpifx/BUILD_TIMESTAMP _extlib_mpifx
touch -r /home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/scalapackfx/BUILD_TIMESTAMP _extlib_scalapackfx
touch -r /home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/xmlf90/BUILD_TIMESTAMP _extlib_xmlf90
touch -r /home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/fsockets/BUILD_TIMESTAMP _extlib_fsockets
mpif90  -o dftb+ dftbplus.o main.o shift.o accuracy.o commontypes.o orbitals.o parallelks.o environment.o fileregistry.o globalenv.o mpifx.o timerarray.o assert.o io.o timer.o mpienv.o message.o blacsenv.o scalapackfx.o mainio.o charmanip.o sparse2dense.o memman.o constants.o densedescr.o periodic.o sorting.o bisect.o latpointiter.o linkedlist.o linkedlisti0.o linkedlistr1.o linkedlistr2.o linkedlisti1.o linkedlists0.o xmlf90.o linkedlistlc0.o linkedlistmc0.o linkedlistr0.o simplealgebra.o energies.o hsdutils.o tokenreader.o xmlutils.o hsdparser.o formatout.o lapackroutines.o lapack.o sccinit.o spin.o blasroutines.o blas.o mdintegrator.o velocityverlet.o fileid.o thermostat.o andersentherm.o ranlux.o tempprofile.o mdcommon.o berendsentherm.o dummytherm.o nhctherm.o taggedoutput.o elstatpot.o scc.o chargeconstr.o coulomb.o schedule.o dynneighlist.o errorfunction.o externalcharges.o shortgamma.o h5correction.o vdwdata.o ipisocket.o fsockets.o logger.o optarg.o initprogram.o lbfgs.o randomgenpool.o conjgrad.o linemin.o diismixer.o nonscc.o sk.o slakocont.o slakoeqgrid.o interpolation.o dispersions.o dispiface.o dispuff.o dispcommon.o dispslaterkirkw.o dispuffdata.o dispdftd3.o dftd3.o inputdata.o pmlocalisation.o repcont.o repspline.o reppoly.o xlbomd.o extlagrangian.o linresp.o typegeometry.o simplemixer.o numderivs2.o potentials.o thirdorder.o charges.o dftbplusu.o geoopt.o steepdesc.o gdiis.o orbitalequiv.o broydenmixer.o stress.o etemp.o hermite.o factorial.o intrinsicpr.o mixer.o andersonmixer.o elecconstraints.o angmomentum.o qm.o eigenvects.o eigensolver.o parser.o hsdutils2.o unitconversion.o oldcompat.o typegeometryhsd.o oldskdata.o densitymatrix.o populations.o repulsive.o spinorbit.o forces.o scalafxext.o  -L/home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/xmlf90 -lxmlf90  -L/home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/fsockets -lfsockets  -L/home/mkandes/Software/dftbplus/dftbplus-mpi/dftd3-lib/lib -ldftd3 -L/home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/mpifx -lmpifx  -L/home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/scalapackfx -lscalapackfx -L/opt/intel/2016.3.210/compilers_and_libraries/linux/mkl/lib/intel64 -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64  -L/opt/intel/2016.3.210/compilers_and_libraries/linux/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5
dispdftd3.o: In function `dispdftd3_module_MP_updatecoords_':
dispdftd3.f90:(.text+0x209): undefined reference to `dftd3_api_MP_dftd3_pbc_dispersion_'
dispdftd3.f90:(.text+0x28b): undefined reference to `dftd3_api_MP_dftd3_dispersion_'
dispdftd3.o: In function `dispdftd3_module_MP_dispdftd3_init_':
dispdftd3.f90:(.text+0x1ffe): undefined reference to `dftd3_api_MP_dftd3_init_'
dispdftd3.f90:(.text+0x20fd): undefined reference to `dftd3_api_MP_dftd3_set_params_'
dispdftd3.f90:(.text+0x2258): undefined reference to `dftd3_api_MP_get_atomic_number_'
make[1]: *** [dftb+] Error 1
make[1]: Leaving directory `/home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/prog/dftb+'
make: *** [dftb+] Error 2
[mkandes at comet-ln2 dftbplus]$

[3]

#!/usr/bin/env bash

declare -xr DFTBPLUS_BUILD_DIR="/home/${USER}/Software/dftbplus/dftbplus-mpi"

module purge
module load intel/2016.3.210
module load intelmpi/2016.3.210
module load mkl/11.3.3
module load gnutools/2.69
module list
export MKLROOT="${MKL_ROOT}"
printenv

mkdir -p "${DFTBPLUS_BUILD_DIR}"
cd "${DFTBPLUS_BUILD_DIR}"

git clone https://github.com/dftbplus/dftbplus.git
cd dftbplus
git submodule update --init --recursive
cp sys/make.x86_64-linux-intel ./make.arch
sed -i 's/FXX = mpifort/FXX = mpif90/' make.arch
sed -i 's/WITH_MPI := 0/WITH_MPI := 1/' make.config
sed -i 's/WITH_DFTD3 := 0/WITH_DFTD3 := 1/' make.config
sed -i 's/answer = /answer = True #/' utils/get_opt_externals
./utils/get_opt_externals ALL
make
make install



________________________________
From: DFTB-Plus-User <dftb-plus-user-bounces at mailman.zfn.uni-bremen.de> on behalf of Bálint Aradi <aradi at uni-bremen.de>
Sent: Wednesday, March 27, 2019 5:04:40 AM
To: dftb-plus-user at mailman.zfn.uni-bremen.de
Subject: Re: [DFTB-Plus-User] dftb+ 18.2: Support for TD-DFTB / DftD3

Dear Marty,

> First, the user wants to run TD-DFTB-based calculations, which appears
> to require use of ARPACK/ARPACK-NG. It seems like these libraries are
> serially only. As such, my first question is: Must we build a
> serial-only version of dftb+ with TD-DFTB/ARPACK-NG support for these
> calculations? I just want to confirm as I'm not too familiar with dftb+
> myself.

The current build system links the ARPACK library only for the serial
build, so yes, you would have to use the serial build.

> Second, we'd previously successfully built an MPI/Scalapack-based
> version of v18.1 with the DFTD3 dispersion library. However, we're
> running into problems with v18.2. Has anyone else had build issues with
> v18.2 when including DFTD3?

I don't see any reasons why it should not work. I can compile 18.2 with
MPI and with DFTD3 without problems. In case, you did not sort it out
yet, can you give more details about your build failure?

  Best regards,

  Bálint


--
Dr. Bálint Aradi
Bremen Center for Computational Materials Science, University of Bremen
http://www.bccms.uni-bremen.de/cms/people/b-aradi/


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.zfn.uni-bremen.de/pipermail/dftb-plus-user/attachments/20190327/d10cced9/attachment-0001.html>


More information about the DFTB-Plus-User mailing list