<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hi Balint,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">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. </p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">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 <span>./utils/get_opt_externals ALL</span>
 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. </p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Marty Kandes</p>
<p style="margin-top:0;margin-bottom:0">SDSC HPC User Services Group</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">P.S. Thanks for the quick reply!<br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">[1]</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div>#!/usr/bin/env bash<br>
<br>
declare -xr DFTBPLUS_BUILD_DIR="/home/${USER}/Software/dftbplus/dftbplus-mpi"<br>
<br>
module purge<br>
module load intel/2016.3.210<br>
module load intelmpi/2016.3.210<br>
module load mkl/11.3.3<br>
module load gnutools/2.69<br>
module list<br>
printenv<br>
<br>
mkdir -p "${DFTBPLUS_BUILD_DIR}"<br>
cd "${DFTBPLUS_BUILD_DIR}"<br>
<br>
git clone https://github.com/dftbplus/dftd3-lib.git<br>
cd dftd3-lib<br>
git checkout 0.9<br>
sed -i 's/ARCH = x86_64-linux-gnu/ARCH = x86_64-linux-intel/' make.arch<br>
make<br>
export LD_LIBRARY_LIB="${DFTBPLUS_BUILD_DIR}/dftd3-lib/lib:${LD_LIBRARY_LIB}"<br>
<br>
cd "${DFTBPLUS_BUILD_DIR}"<br>
<br>
wget https://www.dftbplus.org/fileadmin/DFTBPLUS/public/dftbplus/18.2/dftbplus-18.2.tar.xz<br>
tar -xf dftbplus-18.2.tar.xz<br>
cd dftbplus-18.2<br>
cp sys/make.x86_64-linux-intel ./make.arch<br>
export MKLROOT="${MKL_ROOT}"<br>
sed -i 's/WITH_MPI := 0/WITH_MPI := 1/' make.config<br>
sed -i 's/WITH_ARPACK := 1/WITH_ARPACK := 0/' make.config<br>
sed -i 's/WITH_DFTD3 := 0/WITH_DFTD3 := 1/' make.config<br>
sed -i 's/COMPILE_DFTD3 := 1/COMPILE_DFTD3 := 0/' make.config<br>
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<br>
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<br>
make<br>
make install</div>
<p></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">[2]</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div>make[1]: Entering directory `/home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/prog/dftb+'<br>
touch -r /home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/mpifx/BUILD_TIMESTAMP _extlib_mpifx<br>
touch -r /home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/scalapackfx/BUILD_TIMESTAMP _extlib_scalapackfx<br>
touch -r /home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/xmlf90/BUILD_TIMESTAMP _extlib_xmlf90<br>
touch -r /home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/external/fsockets/BUILD_TIMESTAMP _extlib_fsockets<br>
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<br>
dispdftd3.o: In function `dispdftd3_module_MP_updatecoords_':<br>
dispdftd3.f90:(.text+0x209): undefined reference to `dftd3_api_MP_dftd3_pbc_dispersion_'<br>
dispdftd3.f90:(.text+0x28b): undefined reference to `dftd3_api_MP_dftd3_dispersion_'<br>
dispdftd3.o: In function `dispdftd3_module_MP_dispdftd3_init_':<br>
dispdftd3.f90:(.text+0x1ffe): undefined reference to `dftd3_api_MP_dftd3_init_'<br>
dispdftd3.f90:(.text+0x20fd): undefined reference to `dftd3_api_MP_dftd3_set_params_'<br>
dispdftd3.f90:(.text+0x2258): undefined reference to `dftd3_api_MP_get_atomic_number_'<br>
make[1]: *** [dftb+] Error 1<br>
make[1]: Leaving directory `/home/mkandes/Software/dftbplus/dftbplus-mpi/dftbplus-18.2/_build/prog/dftb+'<br>
make: *** [dftb+] Error 2<br>
[mkandes@comet-ln2 dftbplus]$</div>
<div><br>
</div>
<div>[3]</div>
<div><br>
</div>
<div>
<div>#!/usr/bin/env bash<br>
<br>
declare -xr DFTBPLUS_BUILD_DIR="/home/${USER}/Software/dftbplus/dftbplus-mpi"<br>
<br>
module purge<br>
module load intel/2016.3.210<br>
module load intelmpi/2016.3.210<br>
module load mkl/11.3.3<br>
module load gnutools/2.69<br>
module list<br>
export MKLROOT="${MKL_ROOT}"<br>
printenv<br>
<br>
mkdir -p "${DFTBPLUS_BUILD_DIR}"<br>
cd "${DFTBPLUS_BUILD_DIR}"<br>
<br>
git clone https://github.com/dftbplus/dftbplus.git<br>
cd dftbplus<br>
git submodule update --init --recursive<br>
cp sys/make.x86_64-linux-intel ./make.arch<br>
sed -i 's/FXX = mpifort/FXX = mpif90/' make.arch<br>
sed -i 's/WITH_MPI := 0/WITH_MPI := 1/' make.config<br>
sed -i 's/WITH_DFTD3 := 0/WITH_DFTD3 := 1/' make.config<br>
sed -i 's/answer = /answer = True #/' utils/get_opt_externals<br>
./utils/get_opt_externals ALL<br>
make<br>
make install</div>
<br>
</div>
<br>
<p></p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> DFTB-Plus-User <dftb-plus-user-bounces@mailman.zfn.uni-bremen.de> on behalf of Bálint Aradi <aradi@uni-bremen.de><br>
<b>Sent:</b> Wednesday, March 27, 2019 5:04:40 AM<br>
<b>To:</b> dftb-plus-user@mailman.zfn.uni-bremen.de<br>
<b>Subject:</b> Re: [DFTB-Plus-User] dftb+ 18.2: Support for TD-DFTB / DftD3</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Dear Marty,<br>
<br>
> First, the user wants to run TD-DFTB-based calculations, which appears<br>
> to require use of ARPACK/ARPACK-NG. It seems like these libraries are<br>
> serially only. As such, my first question is: Must we build a<br>
> serial-only version of dftb+ with TD-DFTB/ARPACK-NG support for these<br>
> calculations? I just want to confirm as I'm not too familiar with dftb+<br>
> myself.<br>
<br>
The current build system links the ARPACK library only for the serial<br>
build, so yes, you would have to use the serial build.<br>
<br>
> Second, we'd previously successfully built an MPI/Scalapack-based<br>
> version of v18.1 with the DFTD3 dispersion library. However, we're<br>
> running into problems with v18.2. Has anyone else had build issues with<br>
> v18.2 when including DFTD3?<br>
<br>
I don't see any reasons why it should not work. I can compile 18.2 with<br>
MPI and with DFTD3 without problems. In case, you did not sort it out<br>
yet, can you give more details about your build failure?<br>
<br>
  Best regards,<br>
<br>
  Bálint<br>
<br>
<br>
-- <br>
Dr. Bálint Aradi<br>
Bremen Center for Computational Materials Science, University of Bremen<br>
<a href="http://www.bccms.uni-bremen.de/cms/people/b-aradi/">http://www.bccms.uni-bremen.de/cms/people/b-aradi/</a><br>
<br>
<br>
</div>
</span></font></div>
</body>
</html>