Statistiques
| Révision :

root / src / Energy_GEDIIS.f90 @ 2

Historique | Voir | Annoter | Télécharger (1,06 ko)

1 1 equemene
      SUBROUTINE Energy_GEDIIS(MRESET,MSET,ci,GeomSet,GradSet,ESET,NCoord,ER_star)
2 1 equemene
      IMPLICIT NONE
3 1 equemene
      integer, parameter :: KINT = kind(1)
4 1 equemene
      integer, parameter :: KREAL = kind(1.0d0)
5 1 equemene
6 1 equemene
7 1 equemene
	  INTEGER(KINT) :: MRESET, MSET, NCoord
8 1 equemene
	  REAL(KREAL) :: ci(MRESET), GeomSet(MRESET*NCoord), GradSet(MRESET*NCoord), ESET(MRESET)
9 1 equemene
	  REAL(KREAL) :: ER_star, tmp
10 1 equemene
11 1 equemene
	  INTEGER(KINT) :: I, J, IX, JX, INV, JNV, KX
12 1 equemene
13 1 equemene
	  LOGICAL PRINT
14 1 equemene
15 1 equemene
      PRINT=.FALSE.
16 1 equemene
17 1 equemene
      IF (PRINT)  WRITE(*,'(/,''      BEGIN Energy_GEDIIS   '')')
18 1 equemene
19 1 equemene
      ER_star=0.D0
20 1 equemene
      INV=-NCoord
21 1 equemene
      DO IX=1,MSET
22 1 equemene
         INV=INV+NCoord
23 1 equemene
         JNV=-NCoord
24 1 equemene
         DO JX=1,MSET
25 1 equemene
            JNV=JNV+NCoord
26 1 equemene
            tmp=0.D0
27 1 equemene
	        DO KX=1, NCoord
28 1 equemene
	           tmp = tmp + (((GradSet(INV+KX)-GradSet(JNV+KX))*(GeomSet(INV+KX)-GeomSet(JNV+KX)))/2.D0)
29 1 equemene
	        END DO
30 1 equemene
			ER_star = ER_star + ci(IX)*ci(JX)*tmp
31 1 equemene
         END DO
32 1 equemene
      END DO
33 1 equemene
34 1 equemene
	  DO I=1, MSET
35 1 equemene
	     ER_star = ER_star + (ci(I)*ESET(I))
36 1 equemene
	  END DO
37 1 equemene
38 1 equemene
      IF (PRINT)  WRITE(*,'(/,''       END Energy_GEDIIS  '',/)')
39 1 equemene
40 1 equemene
      END SUBROUTINE Energy_GEDIIS