Statistiques
| Révision :

root / src / Energy_GEDIIS.f90 @ 2

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

1
      SUBROUTINE Energy_GEDIIS(MRESET,MSET,ci,GeomSet,GradSet,ESET,NCoord,ER_star)
2
      IMPLICIT NONE
3
      integer, parameter :: KINT = kind(1)
4
      integer, parameter :: KREAL = kind(1.0d0)
5

    
6

    
7
	  INTEGER(KINT) :: MRESET, MSET, NCoord
8
	  REAL(KREAL) :: ci(MRESET), GeomSet(MRESET*NCoord), GradSet(MRESET*NCoord), ESET(MRESET)
9
	  REAL(KREAL) :: ER_star, tmp
10
	  
11
	  INTEGER(KINT) :: I, J, IX, JX, INV, JNV, KX
12
	  
13
	  LOGICAL PRINT
14
	  
15
      PRINT=.FALSE.
16
	  
17
      IF (PRINT)  WRITE(*,'(/,''      BEGIN Energy_GEDIIS   '')')
18
	  
19
      ER_star=0.D0
20
      INV=-NCoord
21
      DO IX=1,MSET
22
         INV=INV+NCoord
23
         JNV=-NCoord
24
         DO JX=1,MSET
25
            JNV=JNV+NCoord
26
            tmp=0.D0
27
	        DO KX=1, NCoord
28
	           tmp = tmp + (((GradSet(INV+KX)-GradSet(JNV+KX))*(GeomSet(INV+KX)-GeomSet(JNV+KX)))/2.D0)
29
	        END DO
30
			ER_star = ER_star + ci(IX)*ci(JX)*tmp
31
         END DO
32
      END DO
33

    
34
	  DO I=1, MSET
35
	     ER_star = ER_star + (ci(I)*ESET(I))		
36
	  END DO
37

    
38
      IF (PRINT)  WRITE(*,'(/,''       END Energy_GEDIIS  '',/)')
39

    
40
      END SUBROUTINE Energy_GEDIIS