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" [ (Possible Cause #4) ]


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( 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 [ ].
Wien mailing list

Reply via email to