subroutine SHAPE(NPOI8, AFACE8, BFACE8, CFACE8, DFACE8, TOLVDIST, TOLEULER, NMIN, NVERTICES8, XVERT8, YVERT8, ZVERT8, NFACE8, LMAX8, dlt8, KEYPAN8, NM8, ICLUSTER, NCELL_S, scale_s, NPAN_S, MESHN_S, NM_S, XRN_S, DRN_S, NFUN_S, LMIFUN_S, THETAS_S)
@# KKRtags: VORONOI radial-grid initialization shape-functions
S H A P E P R O G R A M
F O R A R B I T R A R Y V O R O N O I P O L Y H E D R A
N.Stefanou
In order to improve the efficency of the code and to
check more, this program was changed in summer 1998 by N.Stefanou
ATTENTION: BUG is removed!
In the old version IPAN=-1 is wrong and has to be
set to IPAN=0.
THIS PROGRAM CALCULATES THE ANGULAR MOMENTUM COMPONENTS OF THE
SHAPEFUNCTION FOR AN ARBITRARY VORONOI POLYHEDRON.
A REAL SPHERICAL HARMONIC BASIS IS USED FOR THE DECOMPOSITION.
ON INPUT WE GIVE :
LMAX : MAXIMUM ANGULAR MOMENTUM
DLT : DEFINES THE STEP FOR GAUSS-LEGENDRE CALC.
TIME (DEC) DLT TOTAL ENERGY (BCC-TEST CdSb in Ge 12 Shells)
1104S 0.002 -.59583341\
315S 0.005 -.59583341 \
51S 0.050 -.59583341 --> NO CHANGES ALSO IN
40S 0.100 -.59583341 / CHARGES OR FORCES
38S 0.200 -.59583341/
38S 0.300 -.59583354---> CHARGES DIFFER IN 10NTH DIGIT
35S 0.400 -.59583673---> CHARGES DIFFER IN 7NNTH DIGIT
FORCES DIFFER IN 5TH DIGIT
--->TO BE AT THE SAVE SIDE USE 0.05 OR 0.1 (SHOULD BE QUITE GOOD)
SIMILAR RESULTS WERE HELD FOR Cu in Fe NN relaxation.
NFACE : NUMBER OF FACES OF THE POLYHEDRON
KEYPAN : KEY TO DEFINE THE RADIAL MESH. IF KEYPAN=
THE DEFAULT RADIAL DIVISION OF PANNELS GIVE
IN DATA STATEMENT IS USED.OTHERWISE THE NUMBE
OF RADIAL MESH POINTS PER PANNEL (NM(IPAN)
IS READ IN INPUT
** IN THIS VERSION THE MESH IS DETERMINED
BY SUBROUTINE MESH0.
Z(I) : COEFFICIENTS OF THE EQUATION OF A FACE
Z(1)*X + Z(2)*Y + Z(3)*Z = 1
NVERT : NUMBER OF VERTICES OF A FACE
V(I,IVERT) : COORDINATES OF THE VERTICES OF A FACE
NEWSCH(IFACE) : INTEGER PARAMETER TO CALCULATE (=1)
THE CONTRIBUTION OF THE CORRESPONDING
PYRAMID TO THE SHAPEFUNCTIONS . IF
NEWSCH.NE.1 THE CONTRIBUTION IS TAKEN
EQUAL TO THAT OF THE PREVIOUS PYRAMID
IN ORDER TO SAVE MEMORY WE STORE IN LOCAL TEMPORARY FILES IN UNIT
30+1 , 30+2 , ... , 30+NFACE THE TRANSFORMATION MATRICES ASSOCIATE
WITH THE ROTATION OF EACH PYRAMID. THE TEMPORARY DIRECT ACCESS FIL
IN UNIT 10 CONTAINS THE CALCULATED COMPONENTS OF THE SHAPEFUNCTIO
...........I N P U T C A R D...(Bcc/fcc)
IF not (Bcc/fcc) change main prg
bcc <----- Gives the lattice parameters
16 1 0.05000 lmax,nkey,division
LMAX=4*LMAX(KKR),
NKEY is not used,
DIVISION is DLT
125 0 number of mesh points,keypan
Number of mesh points
used for the radial mesh (Depends
on the number of pannels).
IF keypan is 1,
then the radial mesh division is
taken from the input
-3.30000 -3.30000 -3.30000 relaxation percent
63 32 30 7 21 15 15 15 15 15 \
15 17 15 15 23 15 15 0 0 0 \ This is the
0 17 15 15 23 15 15 0 0 0 / radial mesh info
0 0 0 0 0 0 0 0 0 0 /
.........................................
THE DEFINITION OF REAL SPHERICAL HARMONICS IS NOT THE STANDARD ON
REFERED IN THE PAPER:
N.STEFANOU,H.AKAI AND R.ZELLER,COMPUTER PHYS.COMMUN. 60 (1990) 231
IF YOU WANT TO HAVE ANGULAR MOMENTUM COMPONENTS IN THE STANDARD BA
SIS CHANGE THE FOLLOWING STATEMENTS IN THE ROUTINES :
IN CCOEF ISI=1 ----> ISI=1-2*MOD(M,
IN DREAL IF(MOD(M+MP),2).EQ.0) D=-D ----> DELETE THE LIN
.. PARAMETER STATEMENTS ..
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer
|
|
|
|
:: |
NPOI8 |
|
real(kind=8)
|
|
|
|
:: |
AFACE8(NFACED) |
|
real(kind=8)
|
|
|
|
:: |
BFACE8(NFACED) |
|
real(kind=8)
|
|
|
|
:: |
CFACE8(NFACED) |
|
real(kind=8)
|
|
|
|
:: |
DFACE8(NFACED) |
|
real(kind=8)
|
|
|
|
:: |
TOLVDIST |
|
real(kind=8)
|
|
|
|
:: |
TOLEULER |
|
integer
|
|
|
|
:: |
NMIN |
|
integer
|
|
|
|
:: |
NVERTICES8(NFACED) |
|
real(kind=8)
|
|
|
|
:: |
XVERT8(NVERTD,NFACED) |
|
real(kind=8)
|
|
|
|
:: |
YVERT8(NVERTD,NFACED) |
|
real(kind=8)
|
|
|
|
:: |
ZVERT8(NVERTD,NFACED) |
|
integer
|
|
|
|
:: |
NFACE8 |
|
integer
|
|
|
|
:: |
LMAX8 |
|
real(kind=8)
|
|
|
|
:: |
dlt8 |
|
integer
|
|
|
|
:: |
KEYPAN8 |
|
integer
|
|
|
|
:: |
NM8(NPAND) |
|
integer
|
|
|
|
:: |
ICLUSTER |
|
integer
|
|
|
|
:: |
NCELL_S |
|
real(kind=8)
|
|
|
|
:: |
scale_s |
|
integer
|
|
|
|
:: |
NPAN_S |
|
integer
|
|
|
|
:: |
MESHN_S |
|
integer
|
|
|
|
:: |
NM_S(NPAND) |
|
real(kind=8)
|
|
|
|
:: |
XRN_S(MESHND) |
|
real(kind=8)
|
|
|
|
:: |
DRN_S(MESHND) |
|
integer
|
|
|
|
:: |
NFUN_S |
|
integer
|
|
|
|
:: |
LMIFUN_S(IBMAXD) |
|
real(kind=8)
|
|
|
|
:: |
THETAS_S(MESHND,IBMAXD) |
|
Common Blocks
Type |
Attributes |
|
Name |
| Initial | |
real
|
|
:: |
PI |
|
|
|
real
|
|
:: |
ALPHA |
|
|
|
real
|
|
:: |
BETA |
|
|
|
real
|
|
:: |
GAMMA |
|
|
|
Type |
Attributes |
|
Name |
| Initial | |
real
|
|
:: |
FA |
|
|
|
real
|
|
:: |
FB |
|
|
|
real
|
|
:: |
FD |
|
|
|
real
|
|
:: |
R0 |
|
|
|
real
|
|
:: |
RD |
|
|
|
integer
|
|
:: |
ISIGNU |
|
|
|
integer
|
|
:: |
NTT |
|
|
|