SHAPE Subroutine

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 IntentOptional 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

ROTATE (subroutine)
EULER (subroutine)
CRIT (subroutine)
"> common /ANGLES/

Type Attributes Name Initial
real :: PI
real :: ALPHA
real :: BETA
real :: GAMMA

CRIT (subroutine)
"> common /TETRA/

Type Attributes Name Initial
real :: FA
real :: FB
real :: FD
real :: R0
real :: RD
integer :: ISIGNU
integer :: NTT