Statistiques
| Révision :

root / src / Energy_GEDIIS.f90 @ 4

Historique | Voir | Annoter | Télécharger (1,08 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 4 pfleura2
    INTEGER(KINT) :: MRESET, MSET, NCoord
8 4 pfleura2
    REAL(KREAL) :: ci(MRESET), GeomSet(MRESET*NCoord), GradSet(MRESET*NCoord), ESET(MRESET)
9 4 pfleura2
    REAL(KREAL) :: ER_star, tmp
10 4 pfleura2
11 4 pfleura2
    INTEGER(KINT) :: I, J, IX, JX, INV, JNV, KX
12 4 pfleura2
13 4 pfleura2
    LOGICAL PRINT
14 4 pfleura2
15 1 equemene
      PRINT=.FALSE.
16 4 pfleura2
17 1 equemene
      IF (PRINT)  WRITE(*,'(/,''      BEGIN Energy_GEDIIS   '')')
18 4 pfleura2
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 4 pfleura2
          DO KX=1, NCoord
28 4 pfleura2
             tmp = tmp + (((GradSet(INV+KX)-GradSet(JNV+KX))*(GeomSet(INV+KX)-GeomSet(JNV+KX)))/2.D0)
29 4 pfleura2
          END DO
30 4 pfleura2
      ER_star = ER_star + ci(IX)*ci(JX)*tmp
31 1 equemene
         END DO
32 1 equemene
      END DO
33 1 equemene
34 4 pfleura2
    DO I=1, MSET
35 4 pfleura2
       ER_star = ER_star + (ci(I)*ESET(I))
36 4 pfleura2
    END DO
37 1 equemene
38 1 equemene
      IF (PRINT)  WRITE(*,'(/,''       END Energy_GEDIIS  '',/)')
39 1 equemene
40 1 equemene
      END SUBROUTINE Energy_GEDIIS