[Wien] minor bug in qtl
Kyoo Kim
kyoo at physics.rutgers.edu
Mon Sep 7 17:25:33 CEST 2009
Dear Wien2k users,
There's a minor bug in qtl program with SO calculation.
When qsplit values in case.inq file for different atoms are not the same,
for example, in the following case.
----------------------case.inq-------------
-9.0 3.0 Emin Emax
2 number of atoms
1 0 1 0 iatom,qsplit,symmetrize,locrot
4 0 1 2 3 nL, l-values
2 -2 1 0 iatom,qsplit,symmetrize,locrot
4 0 1 2 3 nL, l-values
----------------------------------------------
Partial DOS for the 1st atom can be wrong.
This is something to do with "fix for SO-vector, but nonrel. Basis" in
qtlmain.f
In l2main.f, by adding the following lines in the very beginning of JATOM
loop (DO 50 JATOM=1,NAT)
to remind l2main that each atom can have different iso value, this can be
fixed
----------------------------------------------------------------------------
-------------------------
if(SO)then
iso=2 ! s-o calculation, but nonrelativistic basis
if(nm(jatom).lt.80)then ! exclude density matrix
calculation
if(nm(jatom).ne.-1)then ! exclude relativistic basis
if(nm(jatom).ne.0)then ! exclude relativistic
basis
if(nm(jatom).ne.6)then ! exclude user defined
basis
iso=1
endif
endif
endif
endif
endif
----------------------------------------------------------------------------
------------------------
In addition, l2main needs "so" : Call L2main(...,so) in qtlmain.f
SUBROUTINE L2MAIN(cmplx,nsymop,popmat,qtlfn,so)
And one may need "LOGICAL so" in l2main.f
Regards,
Kyoo Kim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20090907/7b15deea/attachment.htm>
More information about the Wien
mailing list