[Wien] (no subject)

Gavin Abo gsabo at crimson.ua.edu
Thu Jan 21 07:42:45 CET 2016


I don't have a code fix.

However, my understanding from the information at the following links is 
that gfortan was updated to follow the Fortran standard for the EOF (end 
of file) marker starting with versions greater than about 4.5, such that 
the WIEN2k code has to be adjusted so that it does not generate that 
error message (which indicates that it caught an invalid EOF operation):

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52860
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59513
[3] 
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg12287.html

It looks like the recommended solution given in the discussions at those 
links was to use a backspace statement in the code. Whereas, the less 
recommended solutions being to use a different compiler like ifort [1] 
or possibly trying the compiler setting -std=legacy.

Code comments in gfortran.texi:

Some legacy codes rely on allowing @code{READ} or @code{WRITE} after the
EOF file marker in order to find the end of a file. GNU Fortran normally
rejects these codes with a run-time error message and suggests the user
consider @code{BACKSPACE} or @code{REWIND} to properly position
the file before the EOF marker.  As an extension, the run-time error may
be disabled using -std=legacy. [ 
https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/fortran/gfortran.texi?view=markup&pathrev=221575 
]

So a backspace statement before the write on line 1015 in 
SRC_mixer/mixer.F (of WIEN2k 14.2)

BACKSPACE(2)
write(22,*)':WARNING: K-list has changed'

or perhaps somewhere before/after one or both of the read statements 
(line 161 or 174 or 183) in SRC_mixer/scfana.f would probably fix the 
problem.

On 1/20/2016 7:32 AM, said chibani wrote:
> thank you for the solution  but there is another problem
> when he optimize I lanch this point -10  -5  0  5  10  in example Tic
>  S.vns -> ./S_vol_-10.0_default.vns
>    S.vnsup -> ./S_vol_-10.0_default.vnsup
>    S.vnsdn -> ./S_vol_-10.0_default.vnsdn
>    S.r2v -> ./S_vol_-10.0_default.r2v
>    S.r2vdn -> ./S_vol_-10.0_default.r2vdn
>
> broyden files deleted, clm*, dmat*, vorb*, vresp*, eece*, vsp*, vns*, 
> scf, struct and input files saved under ./S_vol_-10.0_default
>
> running dstart in single mode
> STOP DSTART ENDS
> 3.3u 0.0s 0:03.40 99.7% 0+0k 0+392io 0pf+0w
> 0.0u 0.0s 0:00.05 100.0% 0+0k 0+352io 0pf+0w
> clmextrapol_lapw has generated a new S.clmsum
> hup: Command not found.
> STOP  LAPW0 END
> STOP  LAPW1 END
> STOP  LAPW2 END
> STOP  CORE  END
> At line 1015 of file mixer.F (unit = 22, file = 'S.scf')
> Fortran runtime error: Sequential READ or WRITE not allowed after EOF 
> marker, possibly use REWIND or BACKSPACE
>
> >   stop error
> ERROR status in S_vol__-5.0


More information about the Wien mailing list