[Wien] lapw1 divide by zero error
Laurence Marks
L-marks at northwestern.edu
Fri Oct 28 01:07:37 CEST 2011
The changes you made "should" not matter, since you changed the
complex version and TiC (and line 384) are for the real version. Two
thoughts:
a) Download a clean version of SRC_lapw1 from the website, unzip/untar
it and do a sdiff of hamilt.F to ensure that you have changed nothing
else by mistake.
b) Remove "-DINTEL_VML" from your compilation options (just for lapw1)
and recompile then test. If this works then you have a bad libsvml
and/or incompatible versions/ifort or similar. You might be picking up
the version from mkl rather than ifort, check the order in the linking
or how you are setting up, e.g. via sourcing the sh/csh compiler
scripts.
If neither of these helps, I would suspect something wrong in your
input files -- try one of the other examples.
N.B., I assume that you have turned on some debug options for initial
testing, which is wise but you will want to remove them later.
On Thu, Oct 27, 2011 at 5:34 PM, <vielmaj at onid.orst.edu> wrote:
> Hello,
>
> I am getting a divide by zero error in the lapw1 routines.
>
> I compiled with the ifort 10 and mkl 9 compilers. To compile completely
> with no errors, I had to make the following changes n SRC_lapw1/hamilt.F
> program below for me using an older compiler.
>
> ! in case of older mk/vml you may miss vzcis (IPO Error: unresolved :
> vzcis_)
> ! Either upgrade the libraries (ifort+mkl) or:
> ! Comment the line below and uncomment the other ones.
> ! Uncomment also all other lines above where help_tmpcos occurs
>
> !!_COMPLEX call vzcis(j_end(ihelp),help1,help_exp)
> !_COMPLEX call vdcos(j_end(ihelp),help1,help_tmpcos)
> !_COMPLEX call vdsin(j_end(ihelp),help1,help_tmpsin)
> !_COMPLEX do j = 1, j_end(ihelp)
> !_COMPLEX help_exp(j) = dcmplx(help_tmpcos(j),help_tmpsin(j))
> !_COMPLEX end do
>
> #these three lines below are also in hamilt.F that were uncommented
> !_COMPLEX deallocate( help_tmpcos, help_tmpsin )
> !_COMPLEX DOUBLE PRECISION, allocatable :: help_tmpsin(:),
> help_tmpcos(:)
> !_COMPLEX allocate( help_tmpcos(HSdim_r), help_tmpsin(HSdim_r) )
>
> Once I run the TiC example, I get this error.
>
> hup: Command not found.
> Invalid null command.
> LAPW0 END
> Invalid null command.
> forrtl: severe (71): integer divide by zero
> Image PC Routine Line Source
> lapw1 000000000049B8F2 Unknown Unknown Unknown
> lapw1 000000000049BAF0 Unknown Unknown Unknown
> lapw1 00000000004932D4 Unknown Unknown Unknown
> lapw1 000000000042D547 hamilt_ 384
> hamilt_tmp_.F
> lapw1 000000000041CC99 calkpt_ 156
> calkpt_tmp_.F
> lapw1 000000000044A312 MAIN__ 61
> lapw1_tmp_.F
> lapw1 0000000000413B4E Unknown Unknown Unknown
> libc.so.6 00002B735713A30D Unknown Unknown Unknown
> lapw1 0000000000413A69 Unknown Unknown Unknown
>
>> stop error
>
>
> It links to the following line in the hamilt.F program.
>
> !_REAL call vdcos(j_end(ihelp),help1,help_cos)
>
> Thanks for you help,
>
> Jason Vielma
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>
--
Laurence Marks
Department of Materials Science and Engineering
Northwestern University
www.numis.northwestern.edu
"Research is to see what everybody else has seen, and to think what
nobody else has thought"
Albert Szent-Gyorgi
More information about the Wien
mailing list