First, I suggest that you upgrade to WIEN2k 14.2, because some updates
have been made to SRC_tetra [ http://www.wien2k.at/reg_user/updates/ ,
http://www.mail-archive.com/wien%40zeus.theochem.tuwien.ac.at/msg11178.html
(patch to only WIEN2k 14.1?)].
Second, this might be due to a bug in SRC_tetra/ados.f. I think the
problem might be because dosold1(i,l) is used the first time without
being initialized (line 85 of ados.f in WIEN2k 14.2). However,
dosold1(i,l) is not a problem after that (as it is set in line 86).
There seems to be a history behind the problem as described in the old
post at:
http://www.mail-archive.com/wien%40zeus.theochem.tuwien.ac.at/msg03526.html
It seems that "dosold1=0.0" was used outside the "if(rxes )" and
"if(rxesw )" statements in the past. This, however, caused a problem
for the non-rxesw and non-rxes paths, such that "dosold1=0.0" was moved
inside the "if(rxes )" statement.
However, it seems that the following line should have also been put
after the allocate statement (on line 37 of ados.f in WIEN2k 14.2) in
the "if(rxesw )" statement:
dosold1=0.0
On 5/4/2015 6:04 AM, Tolhurst, Thomas wrote:
Hello,
This is an elaboration on an unresolved problem with I am having with
rxes calculations. I have asked about this a little bit in a previous
post, but the problem has persisted. Any help that can be provided
will be greatly appreciated.
I am running wien2k version 13.1. I am trying to obtain k-selective
rxes spectra through the
series of commands:
x txspec (this is being done in place of x initxspec)
x tetra -rxesw 0.76 0.83
x tetra -rxes
x txspec
x lorentz
My case.inxs looks like this:
Title: Atom 1 L3 absorption spectrum
6 (atom)
1 (n core)
0 (l core)
0,0.5,0.5 (split, Int1, Int2)
-40,0.02,20 (EMIN,DE,EMAX)
EMIS (type of spectrum)
1.00 (S)
0.001 (gamma0)
1.50 (W only for EMIS)
AUTO (AUTO or MANually select Energy ranges for broadening)
-16.7193900000000
-34.0598400000000
-34.1198500000000
My case.int looks like this:
Autocreate Title: Atom 1 L3 absorption spectrum
-2.4910127 0.0014700 1.9188713 0.0000000
2
6 3 l+1
0 1 tot
I am using the mBJ potential and after the scf calculation, I end up
with Ef = 0.4489051779 and Eg = 4.127 eV. I am using an un-shifted
k-mesh. Following that I run lapw2 -qtl -p. I am trying to get rxes
spectra by considering k-points only around the edge of the conduction
band. For example using E1 = 0.76 and E2 = 0.83.
I run into problems with the execution of tetra -rxesw E1 E2. Since
this step fails, the rest
of the attempt to calculate the spectra fails. After running tetra
-rxesw E1 E2 the first entry
in the weighting file case.rxes will read NAN or be on the order of
magnitude of 10^20, whereas all other entries seem to be on the order
of 10^1 or less. For example, I tend to find something like this:
$ cat case.rxes
Energy 0.763 0.829 atom,column 6 3 0 0
1 1 NaN NaN
1 2 0.994939263910E-02 0.844427585602E+01
1 3 0.835545267910E-02 0.724503898621E+01
1 4 0.870894733816E-02 0.771706342697E+01
1 5 0.780950719491E-02 0.698161888123E+01
1 6 0.949013140053E-02 0.821397781372E+01
...
If I then run tetra -rxes my case.dos1eV file tends to have several
(or even all) entries reading NAN in the second and third columns, or
" -2.71202************** NaN" in several rows. I have tried
varying the parameters in case.int and there seems to be no effect. I
have also tried varying E1 and E2 quite widely. It seem that for very
large separations of E1 and E2, for example when running:
x tetra -rxesw 0.5 1.5
I get a sensible case.rxes file, the beginning of which is:
Energy 0.500 1.500 atom,column 6 3 0 0
1 1 0.100038540363E+01 0.302590393066E+03
1 2 0.964178562164E+00 0.299021881104E+03
1 3 0.941299080849E+00 0.295303039551E+03
1 4 0.928038597107E+00 0.286147766113E+03
1 5 0.940963864326E+00 0.297471984863E+03
1 6 0.950316071510E+00 0.298051269531E+03
1 7 0.450937390327E+00 0.141126739502E+03
1 8 0.470923691988E+00 0.147648559570E+03
1 9 0.474452346563E+00 0.148927307129E+03
....
and the rest of the calculation for the DOS and spectra proceeds
without trouble. Having an energy window this large is not practical
for me however. In order to compare with my experimental results I
need to bring the upper energy limit to about 0.83 Ry. Doing this
gives the following case.rxes:
Energy 0.500 0.830 atom,column 6 3 0 0
1 1 0.170639701031E+22 0.942095565796E+01
1 2 0.194154866040E-01 0.972570705414E+01
1 3 0.162541195750E-01 0.901446437836E+01
1 4 0.164440535009E-01 0.778677415848E+01
1 5 0.144636239856E-01 0.861922359467E+01
1 6 0.174109078944E-01 0.925869750977E+01
...
with the first entry reading xxxE+22, this already starts causing
trouble for the DOS calculation. Matters only get worse if I narrow
the energy range. However, it is only ever the weights in the first
row that appear as NaN or xxxE+22, the rest of the file is always
sensible. Would you have a guess as to what might be causing these
first few entries to consistently read NaN, etc? Or any other
suggestions about how to proceed?
Thank you and very best regards,
Thomas
_______________________________________________
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