You are right.
Anyway, a quick fix should be to add a line
ipip=max(ilo(3),1)
However, in comparison to p3splt and d5splt.f I can see that there are
cross-terms with local orbitals missing in most of these equations, so
I'd very much doubt that these numbers are correct when you have f-los.
In any case, the fsplit is not really used for anything (except when you
use ISPLIT=15, which should not be done and the qtl program is a much
better alternative.
Am 08.10.2013 10:10, schrieb Pavel Ondračka:
Peter Blaha píše v Po 07. 10. 2013 v 22:48 +0200:
I can confirm that this is a "real problem", which was undetected for
two reasons:
a) It is active ONLY when ISPLIT=15 in case.struct. Thus you must have
set this manually. However, I doubt that this kind of splitting
(according to +/-m) is very informative. Instead, use the qtl program !
This is strange, I've most certainly didn't set ISPLIT to 15. I've just
tested with two different cases, one has ISPLIT=2 in case.struct, the
other ISPLIT=8 and both crash in the same place. BTW I can reproduce
this even on 64bit fedora with gfortran, I just have to compile lapw2
with "-O0 -g". I can then be reproduced even with the simple TiC case
created exactly according to the User's Guide.
BTW the crashing F7SPLT subroutine is called from csplit.f:78
76 ! IF(L.EQ.3 .and. isplit(jatom).eq.15) &
77 IF(L.EQ.3) &
78 CALL F7SPLT
(ALM(1,NUM),BLM(1,NUM),cLM(1,NUM,ipip),MULT(JATOM), &
79 PEI(L),num,coord,dmat_f)
So if this should be called only when ISPLIT = 15, then line 76 probably
shouldn't be commented out.
b) In ifort uninitial variables are set to zero, so it does not seem to
harm (maybe it would if you have f-LOs), but in principle it is a "bug".
I'm abroad and the internet connection is not stable enough to make
tests, but I'll try to look into it soon.
Am 07.10.2013 18:55, schrieb Pavel Ondračka:
Oliver Albertini píše v Po 07. 10. 2013 v 07:56 -0700:
I had the same problem when I used the wrong -qarch. I had to specify
pwr7 and the default from siteconfig is pwr5. If you want to find out
the system architecture issue the prtconf command.
Dear Oliver,
thank for advice, however prtconf reports: "Processor Type:
PowerPC_POWER5" so I should be probably fine with -qarch=pwr5, also it's
kinda strange that you fixed this by setting pwr7. I thought that those
optimization flags were forward compatible...
For example: IBM docs I've just googled states that -qarch=pwr3
"Produces object code containing instructions that will run on the
POWER5, POWER5+, POWER6, or POWER7 hardware platforms"
So IMHO compiling with -qarch=pwr5 for pwr7 shouldn't break anything
unless some other weird stuff is going on.
Best regards
Pavel Ondračka
On Oct 7, 2013 3:00 AM, "Pavel Ondračka" <pavel.ondra...@email.cz>
wrote:
Dear WIEN2k mailing list,
this is a follow up to thread "compilation problems on AIX
with xlf90".
I've finally managed to compile WIEN2k_13 on AIX 5.3,
however I'm now getting a segfault when running lapw2.
Segmentation fault in f7splt at line 51 in file "" ($t1)
could not read "f7splt.f"
(dbx) where
f7splt(alm = (...), blm = (...), clm = (...), mult = 2, uenorm
=
0.0028448010014590045, num = 1, coord = ' ', dmat =
(...)), line 51
in "f7splt.f"
csplit(0xfffffffffd8f50c, 0xfffffffffd8f510,
0xfffffffffd8a718,
0xfffffffffd8976c, 0xfffffffffd8f67c, 0x11023fe30,
0x110250590,
0x110260cf0), line 78 in "csplit.f"
l2main(0xfffffffffffe340, 0xfffffffffffdb84,
0xfffffffffffe518,
0x1101ac4b0, 0x110000b88, 0xfffffffffffdb80,
0xfffffffffffdb90,
0xfffffffffffdc48), line 1313 in "l2main_tmp_.F"
lapw2(), line 605 in "lapw2_tmp_.F"
The corresponding lines looks like this:
51 dmat(i,j,num)=dmat(i,j,num) + (alm(j)*conjg(alm(i))+ &
52 blm(j)*conjg(blm(i))*uenorm+clm(j)*conjg(clm(i))+ &
53
alm(j)*conjg(clm(i))*pi12lo(ipip,3)+clm(j)*conjg(alm(i))*pi12lo(ipip,3)+
&
54
blm(j)*conjg(clm(i))*pe12lo(ipip,3)+clm(j)*conjg(blm(i))*pe12lo(ipip,3)
) / mult
Going through all the variables shows suspicious value of ipip
=
-2147483648, which is used as array index for pi12lo an pe12lo
causing
the segfault.
By grepping through SRC_lapw2 directory I can see, that all
other
subroutines which use ipip do something like this:
$grep "ipip=" *
csplit.f: ipip=max(ilo(l),1)
d5splt.f: ipip=max(ilo(2),1)
p3splt.f: ipip=max(ilo(1),1)
I'm wondering if there is some similar initialization
statement missing
in f7splt.f and what should be ipip set to?
Also I hope this isn't just some result of my inexperienced
efforts to
make WIEN compile on ancient AIX 5.3 or some other bad
configuration.
Best regards
Pavel Ondračka
_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
--
Peter Blaha
Inst.Materials Chemistry
TU Vienna
Getreidemarkt 9
A-1060 Vienna
Austria
+43-1-5880115671
_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html