[Wien] x lapw2 -p -qtl fails with shared memory configuration

2011-03-29 Thread Ulrich Wedig
Dear Wien community,

indeed, the problem I reported in my last mail is solved, when using the
vec2old_lapw version that was distributed in the mailing list by Peter
Blaha on march, 7th.

Best regards,
Ulrich Wedig
-- 
-
Dr. Ulrich Wedig  Tel. 0711/6891535
Max-Planck-Institut fuer Festkoerperforschung FAX  0711/6891502
Heisenbergstr. 1
70569 Stuttgart   U.Wedig at fkf.mpg.de
-


[Wien] x lapw2 -p -qtl fails with shared memory configuration

2011-03-29 Thread Ulrich Wedig
Dear Wien community,
I'm just updating WIEN2k from version 9.1 to 10.1. The tar-file was
downloaded last thursday, march 24th. I compiled the programs under
SuSE-Linux 11.3 with ifort 11.1. The standard options supplied by
siteconfig_lapw worked well.
However, when I wanted to calculate partial charges in parallel (x lapw2
-qtl -p) lapw2 fails:

c3serv4{wedig}2388: x lapw2 -p -qtl
running LAPW2 in parallel mode
calculating QTL's from parallel vectors
moving vector to test101b.vector_1.old
moving vector to test101b.vector_2.old
moving vector to test101b.vector_3.old
L2main - Error
0.072u 0.052s 0:00.11 109.0%0+0k 0+0io 0pf+0w

Error in LAPW2
 'l2main' - error reading parallel vectors

I found the following reason for this behaviour. Compared to version
9.1, the following line was added in lapw2para_lapw for the -qtl option:
vec2old_lapw -p -local -$updn
This should copy vector files from remote scratch directories to the
case directory. However, a look into vec2old_lapw shows, that the -local
option is only considered, if $useremote ($USE_REMOTE in the file
parallel_options) is set to 1. I have configured WIEN2k for shared
memory without MPI. In this case $useremote is set to 0 and the vector
files are moved to *.vector_n.old in any case, leading to the error above.
As a simple workaround I modified vec2old_lapw as shown below. This work
for me as the scratch and the case directories are always identical
(SCRATCH=./). When $SCRATCH points to a different location, further
modifications may be necessary.

while ( $i <= $#machines )
  if( $copy == '') then
if ($useremote == 1) then
   if($?local) then
  .
  .
   else
  .
  .
   endif
else
   if( ! $?local) then   <=== this line added
  mv $file.vector${updn}_$i $file.vector${updn}_$i.old
  if($status == 0 ) echo moving vector to $file.vector${updn}_$i.old
   endif <=== this line added
endif

Best regards,
Ulrich Wedig
-- 
-
Dr. Ulrich Wedig  Tel. 0711/6891535
Max-Planck-Institut fuer Festkoerperforschung FAX  0711/6891502
Heisenbergstr. 1
70569 Stuttgart   U.Wedig at fkf.mpg.de
-