[DFTB-Plus-User] TD-DFTB result differes in gcc vs ifort binaries

Ben Hourahine benjamin.hourahine at strath.ac.uk
Wed Mar 15 18:01:41 CET 2017


Hello Krishna,

this an artefact of the degeneracy in the transitions. The total
transition strengths agree between the different compilers:

      7.772       0.0000000        5   ->     6        1.000       7.772
    0.0547.772       0.0000000        5   ->     6        1.000      
7.772     0.712
      7.772       0.0000000        5   ->     7        1.000       7.772
    0.9457.772       0.0000000        5   ->     7        1.000      
7.772     0.287
Summed=>
      7.772       0.0000000        5   ->  6+7       1.000      
7.772     0.999   7.772      0.0000000         5  ->  6+7       1.000  
    7.772     0.999

The individual sub-transitions may be of different intensities (and may
be between differently labelled sub levels) because its usually
arbitrary how degenerate eigenvectors are chosen within their manifold.
However, physical properties like total energies or total intensities
are invariant to the particular specific implementation of eigensolver.

Regards

Ben

On 15/03/17 15:07, Krishna Mohan G.P. via DFTB-Plus-User wrote:
>
> Dear List
>
> I was compiling the new dftb 1.3.1 version with GCC (5.4.1) and ifort
> (intel parallel_studio_xe_2016_update3).
>
> Both the binarys are OK, but for the Time Dependent DFTB calculations,
> these binaries are NOT giving consistent result (it is also true for
> the 1.3.0 version):
>
> For example, I ran NO example (as you can see in the autotest
> folder...), and both the ifort and gcc binaries give the SAME
> values for the SCC, as:
>
> >> Charges saved for restart in charges.bin
>
>  Total Energy:                      -5.6213762107 H         -152.9654 eV
>  Total Mermin free energy:          -5.6215518162 H         -152.9702 eV
>
> But if you compare, TDDFTB files, say, EXC.DAT file, it differs!
>
> gcc EXC.DAT------------------------------------------ifort EXC.DAT
> --------------------------------------------
>      w [eV]       Osc.Str.         Transition         Weight      KS
> [eV]    D<S*S>w [eV]       Osc.Str.         Transition         Weight
>      KS [eV]    D<S*S>
>  
>
>  
>       7.478       0.0020987        3   ->     7        0.578      
> 8.534     1.7037.478       0.0020987        3   ->     6        0.486
>       8.534     1.703
>       7.772       0.0000000        5   ->     6        1.000      
> 7.772     0.0547.772       0.0000000        5   ->     6        1.000
>       7.772     0.712
>       7.772       0.0000000        5   ->     7        1.000      
> 7.772     0.9457.772       0.0000000        5   ->     7        1.000
>       7.772     0.287
>       7.793       0.0000000        5   ->     6        0.838      
> 7.793     0.9997.793       0.0000000        5   ->     6        0.730
>       7.793     0.999
>       7.793       0.0000000        5   ->     7        0.838      
> 7.793     0.9997.793       0.0000000        5   ->     7        0.730
>       7.793     0.999
>       8.534       0.0000000        4   ->     7        0.987      
> 8.534     0.9998.534       0.0000000        4   ->     7        0.734
>       8.534     0.999
>       8.534       0.0000000        4   ->     6        0.821      
> 8.534     0.9998.534       0.0000000        3   ->     7        0.690
>       8.534     0.999
>       8.534       0.0000000        3   ->     6        0.996      
> 8.534     0.9998.534       0.0000000        3   ->     7        0.727
>       8.534     0.999
>       8.636       0.0000000        3   ->     6        0.623      
> 8.636     0.5008.636       0.0000000        3   ->     6        0.922
>       8.636     0.963
>       8.636       0.0000000        4   ->     6        0.990      
> 8.636     0.0058.636       0.0000000        4   ->     7        0.963
>       8.636     0.088
>       8.636       0.0000000        3   ->     7        0.987      
> 8.636     0.9938.636       0.0000000        3   ->     6        0.749
>       8.636     0.447
>      11.652       0.4997199        3   ->     6        0.600      
> 8.636    -0.23111.652       0.4997199        3   ->     7        0.633
>       8.636    -0.231
>      13.175       0.0000000        2   ->     7        0.807    
>  13.175     0.99913.175       0.0000000        2   ->     7      
>  0.992      13.175     0.999
>      13.175       0.0000000        2   ->     6        0.807    
>  13.175     0.99913.175       0.0000000        2   ->     6      
>  0.992      13.175     0.999
>      13.244       0.0000000        2   ->     6        0.973    
>  13.244     0.04613.244       0.0000000        2   ->     6      
>  0.884      13.244     0.995
>      13.244       0.0000000        2   ->     7        0.973    
>  13.244     0.95313.244       0.0000000        2   ->     7      
>  0.884      13.244     0.004
>      24.369       0.0000000        1   ->     7        1.000    
>  24.369     0.99924.369       0.0000000        1   ->     6      
>  1.000      24.369     0.999
>      24.369       0.0000000        1   ->     6        1.000    
>  24.369     0.99924.369       0.0000000        1   ->     7      
>  1.000      24.369     0.999
>
> For brevity I am NOT showing a full comparison of other files (see
> below for the attachement for SPX and TRA files generated by gcc and
> ifort binaries).
>
> I suspect that it is because of ARPACK libraries. 
> In both cases I compiled ARPACK source (ofcourse with Patch for
> updating ) with  GCC and IFORT (using default settings).
>
> My Linux is SuSE 13.2 32 bit; and for GCC version of binary I use
> SuSE's <lapack , atlas , f77blas , cblas , atlas > static libraries,
> and for IFORT version I use, 
> libmkl_intel.a libmkl_intel_thread.a libmkl_core.a apart from the
> ARPACK .a file compiled by the ifort/gcc.
>
> My Final make shows:
>
> gfortran -fopenmp -o dftb+ dftb+.o shift.o accuracy.o common_types.o
> allocate.o geoopt.o conjgrad.o linmin.o constants.o diis.o
> diis_mixer.o lapackroutines.o lapack.o message.o stepdesc.o mainio.o
> sparse2dense.o memman.o periodic.o sort.o bisection.o linkedlist.o
> simple_algebra.o blasroutines.o blas.o fifo.o fileid.o charmanip.o
> linresp.o nonscc.o sk.o slako_cont.o slako_eq_grid.o interpolation.o
> scc.o coulomb.o error_function.o extcharge.o charge_constraints.o
> short_gamma.o linresp_grad.o qm.o taggedout.o linresp_common.o
> arpack.o eigensolver.o initprogram.o stressTensor.o rep_cont.o
> rep_poly.o rep_spline.o dummy_thermostat.o md_common.o ranlux.o
> dispersions.o disp_uff_data.o disp_slaterkirkwood.o disp_common.o
> dispersion_iface.o disp_uff.o disp_dftd3.o dftd3.o orbital_equiv.o
> nhc_thermostat.o energies.o temp_profile.o simple_mixer.o
> numericalDerivs.o thirdorder.o charges.o thermostat.o
> berendsen_thermostat.o andersen_thermostat.o spin.o broyden_mixer.o
> md_integrator.o velocity_verlet.o inputdata_.o ipisocket.o fsockets.o
> logger.o optarg.o xlbomd.o ext_lagrangian.o type_geometry.o etemp.o
> hermite.o fact.o intrinsicpr.o mixer_adt.o anderson_mixer.o scc_init.o
> dftb_pls_u.o populations.o constraints.o angmomentum.o potentials.o
> formatout.o xmlf90.o eigenvects.o parser.o stringlist.o hsdutils2.o
> hsdparser.o xmlutils.o hsdutils.o tokenreader.o unitconversion.o
> general_list.o oldcompat.o wrapped_pointers.o type_geometry_hsd.o
> old_sk_data.o densitymatrix.o pipekmezey.o repulsive.o spinorbit.o
> forces.o  -L./_dir_extlib_xmlf90 -lxmlf90  -L./_dir_extlib_fsockets
> -lfsockets  -L/usr/lib -llapack -L/usr/lib/atlas -lf77blas -lcblas
> -latlas libarpack_lingcc5.4.1.a  -L./_dir_extlib_dftd3 -ldftd3 -lgomp
>
>
> [NOTE: lapack/blas/atlas is supplied by SUSE]
>
> ********************************************************************************
>
>
> ifort -static -o dftb+ dftb+.o shift.o accuracy.o common_types.o
> allocate.o geoopt.o conjgrad.o linmin.o constants.o diis.o
> diis_mixer.o lapackroutines.o lapack.o message.o stepdesc.o mainio.o
> sparse2dense.o memman.o periodic.o sort.o bisection.o linkedlist.o
> simple_algebra.o blasroutines.o blas.o fifo.o fileid.o charmanip.o
> linresp.o nonscc.o sk.o slako_cont.o slako_eq_grid.o interpolation.o
> scc.o coulomb.o error_function.o extcharge.o charge_constraints.o
> short_gamma.o linresp_grad.o qm.o taggedout.o linresp_common.o
> arpack.o eigensolver.o initprogram.o stressTensor.o rep_cont.o
> rep_poly.o rep_spline.o dummy_thermostat.o md_common.o ranlux.o
> dispersions.o disp_uff_data.o disp_slaterkirkwood.o disp_common.o
> dispersion_iface.o disp_uff.o disp_dftd3.o dftd3.o orbital_equiv.o
> nhc_thermostat.o energies.o temp_profile.o simple_mixer.o
> numericalDerivs.o thirdorder.o charges.o thermostat.o
> berendsen_thermostat.o andersen_thermostat.o spin.o broyden_mixer.o
> md_integrator.o velocity_verlet.o inputdata_.o ipisocket.o fsockets.o
> logger.o optarg.o xlbomd.o ext_lagrangian.o type_geometry.o etemp.o
> hermite.o fact.o intrinsicpr.o mixer_adt.o anderson_mixer.o scc_init.o
> dftb_pls_u.o populations.o constraints.o angmomentum.o potentials.o
> formatout.o xmlf90.o eigenvects.o parser.o stringlist.o hsdutils2.o
> hsdparser.o xmlutils.o hsdutils.o tokenreader.o unitconversion.o
> general_list.o oldcompat.o wrapped_pointers.o type_geometry_hsd.o
> old_sk_data.o densitymatrix.o pipekmezey.o repulsive.o spinorbit.o
> forces.o  -L./_dir_extlib_xmlf90 -lxmlf90  -L./_dir_extlib_fsockets
> -lfsockets  
>  -L/home/krishnamohan/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/ia32_lin
> -Wl,--start-group -lmkl_intel -lmkl_intel_thread -lmkl_core
> -Wl,--end-group  libarpack_linifort16.a  -L./_dir_extlib_dftd3 -ldftd3
> -liomp5
>
> Also using ARPACK's example(TEST) Fortran files, I checked both of my
> GCC and IFORT ARPACK libraries and it give SAME result as one can
> expected!
>
> So I really wonder what is really happening inside the dftb's TD-DFTB
> part ?
>
> I really think that it is not the case of 32 bit machine or using
> SuSE's default ATLAS/BLAS libraries.
>
> If someone can give an information it will be very useful.
>
> With thanks in advance
>
> Dr. Krishna Mohan G P
>
> ________________________________________________________________________________
>
> dftb_in.hsd, gccEXC, gccSPX, gccTRA are saved in:
>
> https://drive.google.com/file/d/0Bxq8JRPh0W1UZlVjNm5tRkU3U00/view?usp=sharing
>
> https://drive.google.com/file/d/0Bxq8JRPh0W1UVHZQa1FCM0dMSDQ/view?usp=sharing
>
> https://drive.google.com/file/d/0Bxq8JRPh0W1UVUtfZHRnMkJsZTQ/view?usp=sharing
>
> https://drive.google.com/file/d/0Bxq8JRPh0W1UMmRVclViN0JLTDg/view?usp=sharing
>
> Also, the ifortEXC, ifortSPX and ifort TRA are saved in:
>
> https://drive.google.com/file/d/0Bxq8JRPh0W1UOEl2YUR2ZUxGWnc/view?usp=sharing
>
> https://drive.google.com/file/d/0Bxq8JRPh0W1UNWZFR2x3LU5IYWs/view?usp=sharing
>
> https://drive.google.com/file/d/0Bxq8JRPh0W1UN2VJblVPR0g5UFE/view?usp=sharing
>
> _______________________________________________________________
>
>
>
> _______________________________________________
> DFTB-Plus-User mailing list
> DFTB-Plus-User at mailman.zfn.uni-bremen.de
> https://mailman.zfn.uni-bremen.de/cgi-bin/mailman/listinfo/dftb-plus-user

-- 
      Dr. B. Hourahine, SUPA, Department of Physics,
    University of Strathclyde, John Anderson Building,
            107 Rottenrow, Glasgow G4 0NG, UK.
    +44 141 548 2325, benjamin.hourahine at strath.ac.uk

2013/4 THE Awards Entrepreneurial University of the Year
      2012/13 THE Awards UK University of the Year

   The University of Strathclyde is a charitable body,
        registered in Scotland, number SC015263

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


More information about the DFTB-Plus-User mailing list