hdiff output

r30622/rigidmd.f90 2016-07-06 15:37:51.633064377 +0100 r30621/rigidmd.f90 2016-07-06 15:37:51.981069069 +0100
300:             T(I,3) = T(I,3) + RSITE(INDX,1)*FSITE(INDX,2) - RSITE(INDX,2)*FSITE(INDX,1) 300:             T(I,3) = T(I,3) + RSITE(INDX,1)*FSITE(INDX,2) - RSITE(INDX,2)*FSITE(INDX,1) 
301:           END IF301:           END IF
302:          ENDDO302:          ENDDO
303:       303:       
304:       ENDDO304:       ENDDO
305: 305: 
306:       END SUBROUTINE FORQUE306:       END SUBROUTINE FORQUE
307:  307:  
308: !     ----------------------------------------------------------------------------------------------308: !     ----------------------------------------------------------------------------------------------
309: 309: 
310:       SUBROUTINE RBDEFMOL()310:       SUBROUTINE DEFMOL()
311: 311: 
312: !     DEFINE THE MOLECULAR GEOMETRY WITH THE CENTRE-OF-MASS AT THE 312: !     DEFINE THE MOLECULAR GEOMETRY WITH THE CENTRE-OF-MASS AT THE 
313: !     ORIGIN & CALCULATE THE TOTAL MASS & THE ORINCIPAL OF MOMENTS OF 313: !     ORIGIN & CALCULATE THE TOTAL MASS & THE ORINCIPAL OF MOMENTS OF 
314: !     INERTIA314: !     INERTIA
315: 315: 
316:       USE MDCOMMONS, ONLY : MST, JMI, MASS, MST, RCUT2, RCUT2SQ, RCUT, NSITE316:       USE MDCOMMONS, ONLY : MST, JMI, MASS, MST, RCUT2, RCUT2SQ, RCUT, NSITE
317: 317: 
318:       IMPLICIT NONE318:       IMPLICIT NONE
319: 319: 
320:       INTEGER :: I320:       INTEGER :: I
352: 352: 
353: !      JMI(1)  = MS(1)*MST(1,2)**2+MS(2)*MST(2,2)**2+MS(3)*MST(3,2)**2353: !      JMI(1)  = MS(1)*MST(1,2)**2+MS(2)*MST(2,2)**2+MS(3)*MST(3,2)**2
354: !      JMI(2)  = MS(1)*MST(1,1)**2+MS(2)*MST(2,1)**2+MS(3)*MST(3,1)**2354: !      JMI(2)  = MS(1)*MST(1,1)**2+MS(2)*MST(2,1)**2+MS(3)*MST(3,1)**2
355: !      JMI(3)  = MS(1)*MST(1,1)**2+MS(2)*MST(2,1)**2+MS(3)*MST(3,1)**2   &355: !      JMI(3)  = MS(1)*MST(1,1)**2+MS(2)*MST(2,1)**2+MS(3)*MST(3,1)**2   &
356: !                 + MS(1)*MST(1,2)**2+MS(2)*MST(2,2)**2+MS(3)*MST(3,2)**2356: !                 + MS(1)*MST(1,2)**2+MS(2)*MST(2,2)**2+MS(3)*MST(3,2)**2
357:       MASS = 1.0D0357:       MASS = 1.0D0
358:       JMI(:) = 1.0D0358:       JMI(:) = 1.0D0
359:       MST(:,:) = 1.0D0359:       MST(:,:) = 1.0D0
360: !        WRITE(*,*) 'JMI=', JMI(:), MASS, MST, NSITE360: !        WRITE(*,*) 'JMI=', JMI(:), MASS, MST, NSITE
361: !STOP361: !STOP
362:       END SUBROUTINE RBDEFMOL   362:       END SUBROUTINE DEFMOL   
363:        363:        
364: !     ----------------------------------------------------------------------------------------------364: !     ----------------------------------------------------------------------------------------------
365: 365: 
366:       SUBROUTINE EFM (EFMT, TIME)366:       SUBROUTINE EFM (EFMT, TIME)
367: 367: 
368:       ! calculate EFMT, the energy fluctuation metric: see 368:       ! calculate EFMT, the energy fluctuation metric: see 
369:       ! de Sauza and Wales J. Chem. Phys. 123 134504 2005 369:       ! de Sauza and Wales J. Chem. Phys. 123 134504 2005 
370:       ! http://dx.doi.org/10.1063/1.2035080370:       ! http://dx.doi.org/10.1063/1.2035080
371:       ! calculate energy averaged over time and molecules.371:       ! calculate energy averaged over time and molecules.
372:       ! calculate variance over molecules of time averaged energy372:       ! calculate variance over molecules of time averaged energy
1305: 1305: 
1306:       ENDDO 1306:       ENDDO 
1307: 1307: 
1308:       TKE = 0.5D0 * TKE1308:       TKE = 0.5D0 * TKE
1309:       RKE = 0.5D0 * RKE1309:       RKE = 0.5D0 * RKE
1310: 1310: 
1311: 1311: 
1312: 1312: 
1313:       END SUBROUTINE NVTMOVE1313:       END SUBROUTINE NVTMOVE
1314: 1314: 
 1315:       SUBROUTINE DEFMOL1()
 1316: 
 1317: !     DEFINE THE MOLECULAR GEOMETRY WITH THE CENTRE-OF-MASS AT THE 
 1318: !     ORIGIN & CALCULATE THE TOTAL MASS & THE ORINCIPAL OF MOMENTS OF 
 1319: !     INERTIA
 1320: 
 1321:       USE MDCOMMONS
 1322: 
 1323:       IMPLICIT NONE
 1324: 
 1325:       DOUBLE PRECISION :: MS(NSITE), PI
 1326: 
 1327:       PI       = 4.D0 * DATAN(1.D0)
 1328: 
 1329:       MST(1,1) = 0.D0
 1330:       MST(1,2) = - 2.D0 * DSIN(7.D0*PI/24.D0) / 3.D0
 1331:       MST(1,3) = 0.D0
 1332: 
 1333:       MST(2,1) = DCOS(7.D0*PI/24.D0)
 1334:       MST(2,2) = DSIN(7.D0*PI/24.D0) / 3.D0
 1335:       MST(2,3) = 0.D0
 1336: 
 1337:       MST(3,1) = - DCOS(7.D0*PI/24.D0)
 1338:       MST(3,2) = DSIN(7.D0*PI/24.D0) / 3.D0
 1339:       MST(3,3) = 0.D0
 1340:  
 1341:       MS(1)    = 1.D0/3.D0
 1342:       MS(2)    = 1.D0/3.D0
 1343:       MS(3)    = 1.D0/3.D0
 1344: 
 1345:       MASS     = MS(1) + MS(2) + MS(3)
 1346: 
 1347:       JMI(1)  = MS(1)*MST(1,2)**2+MS(2)*MST(2,2)**2+MS(3)*MST(3,2)**2
 1348:       JMI(2)  = MS(1)*MST(1,1)**2+MS(2)*MST(2,1)**2+MS(3)*MST(3,1)**2
 1349:       JMI(3)  = MS(1)*MST(1,1)**2+MS(2)*MST(2,1)**2+MS(3)*MST(3,1)**2   &
 1350:                  + MS(1)*MST(1,2)**2+MS(2)*MST(2,2)**2+MS(3)*MST(3,2)**2
 1351:       END SUBROUTINE DEFMOL1   
 1352: 
 1353: !     ----------------------------------------------------------------------------------------------
1315: 1354: 
1316:       SUBROUTINE GET_FRAME_R_ORNT(IOstatus, AABOOL)1355:       SUBROUTINE GET_FRAME_R_ORNT(IOstatus, AABOOL)
1317: 1356: 
1318: ! load positions, orientations, linear velocities, and angular1357: ! load positions, orientations, linear velocities, and angular
1319: ! velocities from files1358: ! velocities from files
1320: 1359: 
1321:       USE MDCOMMONS, ONLY : R, QTRN, NMOL 1360:       USE MDCOMMONS, ONLY : R, QTRN, NMOL 
1322: 1361: 
1323:       IMPLICIT NONE1362:       IMPLICIT NONE
1324: 1363: 
1573: !      T4(NMOL,4), PHI(NMOL,3), FSITE(NTST,3), MST(NSITE,3), KEP(NMOL), PEP(NMOL), SUMEPT(NMOL), &1612: !      T4(NMOL,4), PHI(NMOL,3), FSITE(NTST,3), MST(NSITE,3), KEP(NMOL), PEP(NMOL), SUMEPT(NMOL), &
1574: !      STAT = STATUS)1613: !      STAT = STATUS)
1575: 1614: 
1576: !      IF (STATUS /= 0) STOP 'ALLOCATION PROBLEM'1615: !      IF (STATUS /= 0) STOP 'ALLOCATION PROBLEM'
1577:  1616:  
1578: !     BOX LENGTH1617: !     BOX LENGTH
1579: 1618: 
1580:       VLM    = DBLE(NMOL) / RHO1619:       VLM    = DBLE(NMOL) / RHO
1581: !      BOXL   = VLM ** (1.D0/3.D0)1620: !      BOXL   = VLM ** (1.D0/3.D0)
1582:       BOXL = 10.0D01621:       BOXL = 10.0D0
1583:       CALL RBDEFMOL()1622:       CALL DEFMOL()
1584: 1623: 
1585:       IF ( BOXL .LE. 2.D0 + 2.D0*RCUT ) THEN1624:       IF ( BOXL .LE. 2.D0 + 2.D0*RCUT ) THEN
1586:         write(*,*) "WARNING: the box is too small, molecules will be interacting with multiple images"1625:         write(*,*) "WARNING: the box is too small, molecules will be interacting with multiple images"
1587:       ENDIF1626:       ENDIF
1588: 1627: 
1589: !      WRITE(*,*) RCUT, RCUT2, RLIST1628: !      WRITE(*,*) RCUT, RCUT2, RLIST
1590: 1629: 
1591: 1630: 
1592:       INQUIRE(FILE="initpos1.dat", EXIST=bool1 ) 1631:       INQUIRE(FILE="initpos1.dat", EXIST=bool1 ) 
1593:       INQUIRE(FILE="initortn1.dat", EXIST=bool2 ) 1632:       INQUIRE(FILE="initortn1.dat", EXIST=bool2 ) 
2232: !      T4(NMOL,4), PHI(NMOL,3), FSITE(NTST,3), MST(NSITE,3), KEP(NMOL), PEP(NMOL), SUMEPT(NMOL), &2271: !      T4(NMOL,4), PHI(NMOL,3), FSITE(NTST,3), MST(NSITE,3), KEP(NMOL), PEP(NMOL), SUMEPT(NMOL), &
2233: !      STAT = STATUS)2272: !      STAT = STATUS)
2234: 2273: 
2235: !      IF (STATUS /= 0) STOP 'ALLOCATION PROBLEM'2274: !      IF (STATUS /= 0) STOP 'ALLOCATION PROBLEM'
2236:  2275:  
2237: !     BOX LENGTH2276: !     BOX LENGTH
2238: 2277: 
2239:       VLM    = DBLE(NMOL) / RHO2278:       VLM    = DBLE(NMOL) / RHO
2240:       BOXL   = VLM ** (1.D0/3.D0)2279:       BOXL   = VLM ** (1.D0/3.D0)
2241: 2280: 
2242:       CALL RBDEFMOL()2281:       CALL DEFMOL()
2243: 2282: 
2244: !      WRITE(*,*) RCUT, RCUT2, RLIST2283: !      WRITE(*,*) RCUT, RCUT2, RLIST
2245: 2284: 
2246: 2285: 
2247:       INQUIRE(FILE="initpos1.dat", EXIST=bool1 ) 2286:       INQUIRE(FILE="initpos1.dat", EXIST=bool1 ) 
2248:       INQUIRE(FILE="initortn1.dat", EXIST=bool2 ) 2287:       INQUIRE(FILE="initortn1.dat", EXIST=bool2 ) 
2249:       if ( bool1 .and. bool2 ) then2288:       if ( bool1 .and. bool2 ) then
2250:         !start from an existing configuration2289:         !start from an existing configuration
2251:         !CALL EQCON()2290:         !CALL EQCON()
2252:         write(*,*) " reading init files"2291:         write(*,*) " reading init files"
2871: !      T4(NMOL,4), PHI(NMOL,3), FSITE(NTST,3), MST(NSITE,3), KEP(NMOL), PEP(NMOL), SUMEPT(NMOL), &2910: !      T4(NMOL,4), PHI(NMOL,3), FSITE(NTST,3), MST(NSITE,3), KEP(NMOL), PEP(NMOL), SUMEPT(NMOL), &
2872: !      STAT = STATUS)2911: !      STAT = STATUS)
2873: 2912: 
2874: !      IF (STATUS /= 0) STOP 'ALLOCATION PROBLEM'2913: !      IF (STATUS /= 0) STOP 'ALLOCATION PROBLEM'
2875:  2914:  
2876: !     BOX LENGTH2915: !     BOX LENGTH
2877: 2916: 
2878:       VLM    = DBLE(NMOL) / RHO2917:       VLM    = DBLE(NMOL) / RHO
2879:       BOXL   = VLM ** (1.D0/3.D0)2918:       BOXL   = VLM ** (1.D0/3.D0)
2880: 2919: 
2881:       CALL RBDEFMOL()2920:       CALL DEFMOL()
2882: 2921: 
2883: !      WRITE(*,*) RCUT, RCUT2, RLIST2922: !      WRITE(*,*) RCUT, RCUT2, RLIST
2884:       WRITE(*,*) "Read in input parameters"2923:       WRITE(*,*) "Read in input parameters"
2885: 2924: 
2886:       INQUIRE(FILE="initpos1.dat", EXIST=bool1 ) 2925:       INQUIRE(FILE="initpos1.dat", EXIST=bool1 ) 
2887:       INQUIRE(FILE="initortn1.dat", EXIST=bool2 ) 2926:       INQUIRE(FILE="initortn1.dat", EXIST=bool2 ) 
2888:       if ( bool1 .and. bool2 ) then2927:       if ( bool1 .and. bool2 ) then
2889:         !start from an existing configuration2928:         !start from an existing configuration
2890:         !CALL EQCON()2929:         !CALL EQCON()
2891:         write(*,*) "reading init files: initpos1.dat and initortn1.dat"2930:         write(*,*) "reading init files: initpos1.dat and initortn1.dat"


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0