[Wien] berryPI code
Gavin Abo
gsabo at crimson.ua.edu
Thu Sep 10 00:57:55 CEST 2015
My guess is that the problem is coming from an inconsistency in the
input files (case.energysoup or ?) or a code bug is causing I to become
larger than the size nmat of BKX(I), BKY(I), or BZX(I), such that it is
indexing out of an array.
To check if that is what is happening, I would try compiling with
"-check bounds" [
https://software.intel.com/en-us/articles/determining-root-cause-of-segmentation-faults-sigsegv-or-sigbus-errors
(Possible Cause #4) ]
and/or
I would put a print or write statement between lines 119 and 120 in
SRC_w2w/almgen.F. For example,
i=i+1 <= Line 119
if(i.gt.nmat) then
write(unit_out,*)'dbg:i=',i,' nmat=',nmat,' n=',n, ' nlov=',nlov
end if
BK(1)=BKX(I)*BR1(1,1)+BKY(I)*BR1(1,2)+BKZ(I)*BR1(1,3) <=
Line 120
The arrays BKX, BKY, and BKZ are allocated with nmat (SRC_w2w/modules.F
and SRC_w2w/main.f). The 'if statement' will check to see if i (from
line 119) becomes greater than nmat. If it does, then it should print a
debug (dbg) line to case.outputwfup (for x w2w -up -so).
However, this is probably only helpful if you know Fortran programming.
If you don't know Fortran programming, then the struct file and init
parameters are needed as Elias previously mentioned [
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg12950.html ].
More information about the Wien
mailing list