[Wien] compilation problems in the new pes module

Peter Blaha pblaha at theochem.tuwien.ac.at
Tue Jul 10 21:59:04 CEST 2018


I guess your case.int (and thus the dos files) is wrong.

The output says:

Valence orbitals according to periodic table data:
  Ti4s3d
  O 2s2p

so we need the Ti 4s and 3d PDOS and O 2s,2p PDOS (and the total DOS)

You always have to define the "chemical valence orbitals", but not all 
possible PDOS.



Am 10.07.2018 um 16:54 schrieb Pavel Ondračka:
> So after applying the suggested compilation fixes (+ the one
> uninitialized variable fix suggested later) I started to test the pes
> program. My testcase was simple anatase TiO2. The program finishes
> fine, however the spectrum is strange (looks like the Ti3p peak is
> almost invisible). So I run with valgrind to see if there are some
> obvious errors.
> 
> --------------------
> 
> ==16577== Conditional jump or move depends on uninitialised value(s)
> ==16577==    at 0x40DD43: read_database2_ (read_database2.f:26)
> ==16577==    by 0x402CE3: MAIN__ (pes.f:151)
> ==16577==    by 0x40176C: main (pes.f:3)
> ==16577==  Uninitialised value was created by a stack allocation
> ==16577==    at 0x40DC5A: read_database2_ (read_database2.f:1)
> 
> ios is used uninitialized at
> read_database2.f:26  do while (ios == 0)
> 
> -------------------
> 
> ==22496== Conditional jump or move depends on uninitialised value(s)
> ==22496==    at 0x41054E: abs_smooth (SPLINE.f:170)
> ==22496==    by 0x41054E: setup_ (SPLINE.f:88)
> ==22496==    by 0x41099C: spline_ (SPLINE.f:15)
> ==22496==    by 0x40E791: read_database2_ (read_database2.f:111)
> ==22496==    by 0x402CE3: MAIN__ (pes.f:151)
> ==22496==    by 0x40176C: main (pes.f:3)
> ==22496==  Uninitialised value was created by a stack allocation
> ==22496==    at 0x410980: spline_ (SPLINE.f:1)
> 
> this is the delta_x variable first defined in SPLINE and passed down to
> setup in
> SPLINE.f:15    call  setup(delta_x,X,F,N,strt,stp,J,interpolation)
> further down to abs_smooth at:
> SPLINE.f:88          call abs_smooth(m4 - m3, delta_x, w1)
> where it is finally used in:
> SPLINE.f:170     if (x >= delta_x) then
> without initialization
> 
> -------------------
> 
> ==29640== Conditional jump or move depends on uninitialised value(s)
> ==29640==    at 0x40E3EA: unpolarized (read_database2.f:153)
> ==29640==    by 0x40E3EA: read_database2_ (read_database2.f:79)
> ==29640==    by 0x402CE3: MAIN__ (pes.f:151)
> ==29640==    by 0x40176C: main (pes.f:3)
> ==29640==  Uninitialised value was created by a stack allocation
> ==29640==    at 0x40DC5A: read_database2_ (read_database2.f:1)
> 
> This is the counter variable at
> read_database2.f:153    do I=1,counter
> even though is should initialized at
> read_database2.f:40               counter       = 0
> the line was not reached at this point, since it is guarded by several
> ifs so it is possible that in some cases the variable can stay
> uninitialized. Should ever the counter be 0 at the read_database2.f:153
> line?
> 
> --------------------------
> 
> ==22325== Conditional jump or move depends on uninitialised value(s)
> ==22325==    at 0x4801F7A0: __multf3 (in /usr/lib64/libgcc_s-8-
> 20180502.so.1)
> ==22325==    by 0x41251F: unpolarized_ (read_database2.f:155)
> ==22325==    by 0x412E4A: read_database2_ (read_database2.f:79)
> ==22325==    by 0x403414: MAIN__ (pes.f:151)
> ==22325==    by 0x40560A: main (pes.f:3)
> ==22325==  Uninitialised value was created by a stack allocation
> ==22325==    at 0x4125C9: read_database2_ (read_database2.f:1)
> 
> This is the unitialized beta variable. Obviously similar to the above
> warning we somehow missed the initialization block starting at
> read_database2.f:46 and ending at read_database2.f:56 and there are
> more troubles ahead (another 1000+ valgrind warnings).
> 
> At this moment I stopped since I suspect something went wrong earlier
> and there is no reason to debug codepaths which should probably never
> be reached. It is possible that I messed something in the
> initialization or my input files are not in order...
> 
> 
> The complete output looks like this:
> 
>   ================================================
>   Please enter the excitation energy (ev):
> 1486.6
>   nat:           2
>   mult:           2           4
>   aname :Ti O
>   _______
>   Valence orbitals according to periodic table data:
>   Ti4s3d
>   O 2s2p
>   ___________
>   opening           9 100k_7Rk_PBE.dos2ev
>   opening          10 100k_7Rk_PBE.dos3ev
>   ________________
>   Valence Partial orbital found in case.DOS file:
>   Ti4s  1
>   Ti3d  1
>   O 2s  2
>   O 2p  2
>   ____________________
>   Enter database (default: 1)
>   1  Total cross section & Asymmetry & Non-dipole parameters 100-10000
> eV
>      (Trzhaskovskaya etal., Unpolarized & linearly polarized X-ray
> source)
>      Recommended option !
>   2  Total cross section  10-1500eV
>      (Yeh & Lindau 1985; Unpolarized X-ray source)
>   3  No cross sections (for testing renormalization)
> 1
>   ________________
>   Enter Calulation Scheme (default: 1)
>     1   Unpolarized X-ray source (general)
>    
>   Linearlly polarized X-ray source
>     2   Dipole & NON Dipole - parallel
>     3   Dipole              - perpendicular
>     4   Dipole & NON Dipole - perpendicular
>     5   LDAD
> 1
>   __________________________________
> Partial Orbital    Cross section
> Ti4s                    0.54346D-01
> Ti3d                    0.54346D-01
> O 2s                    0.54346D-01
> O 2p                    0.54346D-01
>   ________________
>   Continue with q_sphere?(Recommended)(Y/n)
> y
> Partial Orbital    Average q_sphere
> Ti4s                 0.73799998D-01
> Ti3d                 0.72439998D+00
> O 2s                 0.87150002D+00
> O 2p                 0.79375005D+00
>   _____________________
>    Optimize q_sphere?(Y/n)
> n
>              
>   100k_7Rk_PBE.pes1-3  is ready!
>              
> Note: The following floating-point exceptions are signalling:
> IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
> STOP pes end
> 
> 
> The int file looks like this:
> Title
>   -5.50 0.002 1.500 0.03  # EMIN, DE, EMAX, Gauss-broadening(>de)
>    17    N   0.000          # NUMBER OF DOS-CASES below, G/L/B
> broadening (Ry)
>      0    1   total        # atom, case=column in qtl-header, label
>      1    1   Atom1 tot
>      1    2   Atom1 s
>      1    3   Atom1
>      1    4   Atom1
>      1    5   Atom1
>      1    6   Atom1
>      1    7   Atom1
>      1    8   Atom1
>      1    9   Atom1
>      1    10   Atom1
>      2    1   Atom2
>      2    2   Atom2
>      2    3   Atom2
>      2    4   Atom2
>      2    5   Atom2
>      2    6   Atom2
> 
> With the corresponding lines from qtl file:
>   JATOM  1  MULT= 2  ISPLIT= 3  tot,s,p,pxy,pz,d,dz2,d(x2-
> y2),d(yz+xz),dxy,
>                                                                  
>   JATOM  2  MULT= 4  ISPLIT= 2  tot,s,p,px,py,pz,
> 
> So hopefully my input should be fine...
> Any help will be appreciated.
> 
> Best regards
> Pavel
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
> SEARCH the MAILING-LIST at:  http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
> 

-- 
--------------------------------------------------------------------------
Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-1-58801-165300             FAX: +43-1-58801-165982
Email: blaha at theochem.tuwien.ac.at    WIEN2k: http://www.wien2k.at
WWW: 
http://www.imc.tuwien.ac.at/tc_blaha------------------------------------------------------------------------- 



More information about the Wien mailing list