File: mecid.f

package info (click to toggle)
mopac7 1.15-5
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 3,748 kB
  • sloc: fortran: 35,321; sh: 9,039; ansic: 417; makefile: 95
file content (42 lines) | stat: -rw-r--r-- 1,690 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
      SUBROUTINE MECID(EIGS,GSE,EIGA,DIAG)
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
      INCLUDE 'SIZES'
      DIMENSION EIGS(*), EIGA(*), DIAG(*)
************************************************************************
*
*   MECID CALCULATES THE EFFECT OF REMOVING THE ELECTRONS INVOLVED IN
*   THE C.I. FROM THE GROUND-STATE CONFIGURATION, AND CALCULATES THE
*   MICROSTATE ENERGIES OF THE MICROSTATES INVOLVED IN THE C.I.
*
*  THE QUANTITIES NMOS, NELEC, AND LAB, AND THE ARRAYS EIGS, OCCA,
*  MICROA, AND MICROB ARE USED, BUT UNCHANGED ON EXIT
*
*   ON EXIT, GSE IS THE ELECTRONIC ENERGY OF STABILIZATION DUE TO
*            REMOVAL OF THE ELECTRONS INVOLVED IN THE C.I.
*
*            EIGA HOLDS THE ONE-ELECTRON ENERGY LEVELS RESULTING FROM
*            REMOVAL OF THE ELECTRONS INVOLVED IN THE C.I.
*
*            DIAG HOLDS THE MICROSTATE ENERGIES OF ALL STATES INVOLVED
*            IN THE C.I.  THIS CAN BE USED AS THE DIAGONAL OF A C.I.
*            MATRIX
*
************************************************************************
      COMMON /BASEOC/ OCCA(NMECI)
      COMMON /MICROS/ MICROA(NMECI,4*NMECI**2),MICROB(NMECI,4*NMECI**2)
      COMMON /CIBITS/ NMOS,LAB,NELEC, NBO(3)
      COMMON /XYIJKL/ XY(NMECI,NMECI,NMECI,NMECI)
      GSE=0.D0
      DO 20 I=1,NMOS
         X=0.0D0
         DO 10 J=1,NMOS
   10    X=X+(2.D0*XY(I,I,J,J)-XY(I,J,I,J))*OCCA(J)
         EIGA(I)=EIGS(I+NELEC)-X
         GSE=GSE+EIGA(I)*OCCA(I)*2.D0
         GSE=GSE+XY(I,I,I,I)*OCCA(I)*OCCA(I)
         DO 20 J=I+1,NMOS
   20 GSE=GSE+2.D0*(2.D0*XY(I,I,J,J) - XY(I,J,I,J))*OCCA(I)*OCCA(J)
      DO 30 I=1,LAB
   30 DIAG(I)=DIAGI(MICROA(1,I),MICROB(1,I),EIGA,XY,NMOS)-GSE
      RETURN
      END