I've changed bz_lin.f in SRC_spaghetti and it seems to solve the problem. Please try it.

Regards

On 02/23/2018 10:42 PM, Sergio Castillo Robles wrote:
Hi, thank you for your response,

I changed the data toler value from 1.d-07 to 1.d-05 by myself, and recompiled with ./siteconfig, R Compile/Recompile, S Select program, spaghetti

but the problem still persist.

Who should i send the files to?

Thanks for your answer and your time

Regards


2018-02-19 20:29 GMT-08:00 Gavin Abo <gs...@crimson.ua.edu <mailto:gs...@crimson.ua.edu>>:

    What did you change the data toler value to?  The 1.d-07 [
    https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg15787.html
    <https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg15787.html>
    ] to 1.d-05 [
    https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg16402.html
    <https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg16402.html>
    ]?


_______________________________________________
Wien mailing list
Wien@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


--

                                      P.Blaha
--------------------------------------------------------------------------
Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-1-58801-165300             FAX: +43-1-58801-165982
Email: bl...@theochem.tuwien.ac.at    WIEN2k: http://www.wien2k.at
WWW:   http://www.imc.tuwien.ac.at/TC_Blaha
--------------------------------------------------------------------------
      subroutine bz_lin(v,nv,lines,nlines,x,nbreak,break)
!     *****************************************
!
      IMPLICIT REAL*8 (A-H,O-Z)
!      INCLUDE 'param.inc'
!
      dimension  v(3,*)
      dimension  lines(*)
      dimension  x(*)
!
      dimension  v0(3),vdir(3),vdir1(3)
      logical  break(*)
!
      data toler  /1.d-06/
!-----------------------------------------------------------------------
!
!.....INITIALIZE LINE-CHECK;  the 1. and the 2. k-point always build
!     a Brillouin-Zone line
      nlines=1
      lines(1)=1
      v0(1)  =v(1,1)
      v0(2)  =v(2,1)
      v0(3)  =v(3,1)
      vdir(1)=v(1,2) - v(1,1)
      vdir(2)=v(2,2) - v(2,1)
      vdir(3)=v(3,2) - v(3,1)
      xsum=sqrt( vdir(1)**2 + vdir(2)**2 + vdir(3)**2 )
      x(1)=0.
      x(2)=xsum
      nbreak=0
      break(1)=.false.
      break(2)=.false.
      dmax=10.*xsum
      dbreak=2.d0*xsum          
!     dmax indicates gap between 2 lines
      jkp=2
!
!.....START SEARCH LOOP FOR ALL OTHER K-POINTS
 10   continue
      jkp=jkp+1
         if(jkp.gt.nv) goto 100
          d=sqrt( (v(1,jkp)-v(1,jkp-1))**2 + (v(2,jkp)-v(2,jkp-1))**2 &
                  + (v(3,jkp)-v(3,jkp-1))**2 )
         if(d.gt.dbreak) then
!print*,'break1'
	    d=dmax
	    xsum=xsum + d
            x(jkp)=xsum
	    nbreak=nbreak+1
	    break(jkp)=.true.
            nlines=nlines+1
            lines(nlines)=jkp-1
            nlines=nlines+1
            lines(nlines)=jkp
            v0(1)=v(1,jkp)
            v0(2)=v(2,jkp)
            v0(3)=v(3,jkp)
            vdir(1)=v(1,jkp+1)-v(1,jkp)
            vdir(2)=v(2,jkp+1)-v(2,jkp)
            vdir(3)=v(3,jkp+1)-v(3,jkp)
            dbreak=2.d0*sqrt( vdir(1)**2 + vdir(2)**2 + vdir(3)**2 )
            goto 10
         else
	    break(jkp)=.false.
         endif
	 xsum=xsum + d
         x(jkp)=xsum
         eps1=(v(1,jkp)-v0(1))*vdir(2) - (v(2,jkp)-v0(2))*vdir(1)
         eps2=(v(2,jkp)-v0(2))*vdir(3) - (v(3,jkp)-v0(3))*vdir(2)
         eps3=(v(1,jkp)-v0(1))*vdir(3) - (v(3,jkp)-v0(3))*vdir(1)
!         print*,jkp,eps1,eps2,eps3,toler
      vdir1(1)=v(1,jkp) - v(1,jkp-1)
      vdir1(2)=v(2,jkp) - v(2,jkp-1)
      vdir1(3)=v(3,jkp) - v(3,jkp-1)
      absvdir1=sqrt(vdir1(1)**2+vdir1(2)**2+vdir1(3)**2)
      absvdir =sqrt(vdir(1)**2+vdir(2)**2+vdir(3)**2)
      vtest=(vdir(1)*vdir1(1)+vdir(2)*vdir1(2)+vdir(3)*vdir1(3))/absvdir/absvdir1 -1.d0
!print *,vtest,eps1
!print*,'vdir',vdir
!print*,'vdir1',vdir1
!if((vdir(1)-vdir1(1).gt.toler).or.(vdir(2)-vdir1(2).gt.toler).or.(vdir(3)-vdir1(3).gt.toler)) then
if(abs(vtest).gt.1.d-6) then
!         if (abs(eps1).gt.toler .or. abs(eps2).gt.toler &
!             .or. abs(eps3).gt.toler)  then
!print*,'break2',eps1,eps2,eps3
            nlines=nlines+1
            lines(nlines)=jkp-1
            v0(1)=v(1,jkp-1)
            v0(2)=v(2,jkp-1)
            v0(3)=v(3,jkp-1)
            vdir(1)=v(1,jkp)-v(1,jkp-1)
            vdir(2)=v(2,jkp)-v(2,jkp-1)
            vdir(3)=v(3,jkp)-v(3,jkp-1)
            dbreak=2.d0*sqrt( vdir(1)**2 + vdir(2)**2 + vdir(3)**2 )
         endif
      goto 10
!
!.....READY
 100  continue
      lines(nlines+1)=nv
      return
      end
_______________________________________________
Wien mailing list
Wien@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

Reply via email to