hdiff output

r30148/finalio.f90 2016-03-16 18:33:26.298986158 +0000 r30147/finalio.f90 2016-03-16 18:33:26.494988173 +0000
 29:     USE BGUPMOD 29:     USE BGUPMOD
 30:     USE PERMU 30:     USE PERMU
 31:     USE MODHESS, ONLY : HESS, MASSWT 31:     USE MODHESS, ONLY : HESS, MASSWT
 32:  32: 
 33:     IMPLICIT NONE 33:     IMPLICIT NONE
 34:  34: 
 35:     !   MCP 35:     !   MCP
 36:     INTEGER III, I3,  GLY_COUNT, ID, NUMCRD, NUMPRO, NCPHST, GETUNIT, AMHUNIT1, AMHUNIT2, LUNIT, NSYMOPS 36:     INTEGER III, I3,  GLY_COUNT, ID, NUMCRD, NUMPRO, NCPHST, GETUNIT, AMHUNIT1, AMHUNIT2, LUNIT, NSYMOPS
 37:     INTEGER J1, J2, J3, J4, J5, MYUNIT2, I1, NDUMMY, MYUNIT3, NC, NRBS1, NRBS2, MYUNIT4 37:     INTEGER J1, J2, J3, J4, J5, MYUNIT2, I1, NDUMMY, MYUNIT3, NC, NRBS1, NRBS2, MYUNIT4
 38:     DOUBLE PRECISION RBCOORDS(NRBSITES*3), DCOORDS(3*NATOMS), EDUMMY, ITDET 38:     DOUBLE PRECISION RBCOORDS(NRBSITES*3), DCOORDS(3*NATOMS), EDUMMY, ITDET
 39:     ! 
 40:     !ds656> Symmetry detection for clusters on a substrate... 
 41:     INTEGER :: ISITES(MIEF_NSITES), NSITES, COMBO_N 
 42:     DOUBLE PRECISION :: SITES(3*MIEF_NSITES), DISTS(MIEF_NSITES) 
 43:     INTEGER, ALLOCATABLE :: COMBO_LABELS(:) 
 44:     DOUBLE PRECISION, ALLOCATABLE :: COMBO_COORDS(:) 
 45:     !<ds656 
 46:     ! 
 47:     DOUBLE PRECISION P3(3,3), P(3), DU(3), RMI(3,3), DRMI(3,3), PI, PHI, THT, CHI 39:     DOUBLE PRECISION P3(3,3), P(3), DU(3), RMI(3,3), DRMI(3,3), PI, PHI, THT, CHI
 48:     !DOUBLE PRECISION, ALLOCATABLE :: XCOORDS(:), YCOORDS(:) 40:     !DOUBLE PRECISION, ALLOCATABLE :: XCOORDS(:), YCOORDS(:)
 49:     CHARACTER(LEN=13) J1CHAR,J1CHAR2                  !for gay-berne output files 41:     CHARACTER(LEN=13) J1CHAR,J1CHAR2                  !for gay-berne output files
 50:     CHARACTER(LEN=6) ZSTR 42:     CHARACTER(LEN=6) ZSTR
 51:     CHARACTER(LEN=2)  DUMMYSTR 43:     CHARACTER(LEN=2)  DUMMYSTR
 52:     DOUBLE PRECISION EulerPhi,EulerPsi,EulerTheta,EulerThetadeg,EulerPhiDeg,EulerPsiDeg  ! Euler angles for ellipsoids of revolution 44:     DOUBLE PRECISION EulerPhi,EulerPsi,EulerTheta,EulerThetadeg,EulerPhiDeg,EulerPsiDeg  ! Euler angles for ellipsoids of revolution
 53:  45: 
 54:     DOUBLE PRECISION EPS2, RAD, HEIGHT,sumx,sumy,sumz,CM(3),SYMOPS(120,3,3) 46:     DOUBLE PRECISION EPS2, RAD, HEIGHT,sumx,sumy,sumz,CM(3),SYMOPS(120,3,3)
 55:     LOGICAL :: GTEST 47:     LOGICAL :: GTEST
 56:     COMMON /CAPS/ EPS2, RAD, HEIGHT 48:     COMMON /CAPS/ EPS2, RAD, HEIGHT
210:         ELSE IF (AMHT) THEN202:         ELSE IF (AMHT) THEN
211:             WRITE(MYUNIT2,*) NMRES*3203:             WRITE(MYUNIT2,*) NMRES*3
212:         ELSE204:         ELSE
213:             WRITE(MYUNIT2,*) NATOMS205:             WRITE(MYUNIT2,*) NATOMS
214:         ENDIF206:         ENDIF
215:         !        IF (CSMT.AND.DEBUG) WRITE(MYUNIT,'(A,I6,2G20.10)') 'finalio> J1,QMIN,QMINAV=',J1,QMIN(J1),QMINAV(J1)207:         !        IF (CSMT.AND.DEBUG) WRITE(MYUNIT,'(A,I6,2G20.10)') 'finalio> J1,QMIN,QMINAV=',J1,QMIN(J1),QMINAV(J1)
216:         !208:         !
217:         ! ds656> Either append point group or print stuff for HSA209:         ! ds656> Either append point group or print stuff for HSA
218:         IF(PRINT_MINDATA.OR.PRINT_PTGRP) THEN210:         IF(PRINT_MINDATA.OR.PRINT_PTGRP) THEN
219:            !211:            !
220:            WRITE(MYUNIT,'(A,I4)') &212:            WRITE(MYUNIT,'(A,I4)') 'finalio> Analysing point group of minimum', J1
221:                 'finalio> Determining point group of minimum ', J1 
222:            ! 
223:            CM(1:3) = 0.0D0; NSYMOPS=0; SYMOPS(:,:,:) = 0.0D0213:            CM(1:3) = 0.0D0; NSYMOPS=0; SYMOPS(:,:,:) = 0.0D0
 214:            !ds656> TEST
224:            J3=1 ! Determine majority label/species215:            J3=1 ! Determine majority label/species
225:            DO J2=2,NSPECIES(0)216:            DO J2=2,NSPECIES(0)
226:               IF(NSPECIES(J2) > NSPECIES(J3)) J3 = J2217:               IF(NSPECIES(J2) > NSPECIES(J3)) J3 = J2
227:            ENDDO218:            ENDDO
228:            ! Determine the overall point-group (for ALL species!).219:            ! Determine the overall point-group (for ALL species!).
229:            CALL PGSYM( NATOMS, QMINP(J1,1:3*NATOMS), &220:            CALL PGSYM( NATOMS, QMINP(J1,1:3*NATOMS), &
230:                 QMINT(J1,1:NATOMS), PGSYMTOLS, 2, J3,&221:                 QMINT(J1,1:NATOMS), PGSYMTOLS, 2, J3,&
231:                 CM, NSYMOPS, SYMOPS, FPGRP )222:                 CM, NSYMOPS, SYMOPS, FPGRP )
232:            !223:            !
233:            IF(MIEFT.AND.NSYMOPS>1) THEN 
234:               ! 
235:               ! Sort field sites by distance from the cluster's 
236:               ! system of symmetry (CM). 
237:               DO J4=1,MIEF_NSITES 
238:                  ISITES(J4) = J4 
239:                  DISTS(J4) = 0.0 
240:                  DO J5=1,3 
241:                     DISTS(J4) = DISTS(J4) + & 
242:                          (MIEF_SITES(J4,J5)-CM(J5))**2 
243:                  ENDDO 
244:                  DISTS(J4) = DSQRT(DISTS(J4)) 
245:                  J5=J4 
246:                  sort_sites: DO WHILE(J5>1) 
247:                     IF(DISTS(J5) < DISTS(J5-1)) THEN 
248:                        NDUMMY = ISITES(J5)  
249:                        ISITES(J5) = ISITES(J5-1) 
250:                        ISITES(J5-1) = NDUMMY 
251:                        EDUMMY = DISTS(J5) 
252:                        DISTS(J5) = DISTS(J5-1) 
253:                        DISTS(J5-1) = EDUMMY 
254:                        J5=J5-1 
255:                     ELSE 
256:                        EXIT sort_sites 
257:                     ENDIF 
258:                  ENDDO sort_sites 
259:               ENDDO 
260:               !  
261:               !ds656> Extract a small subset of field sites.  
262:               ! While coding this I had graphene-like lattice in 
263:               ! in mind, in which case the fragment can be small. 
264:               ! Complications may arise for other substrates... 
265:               J5=3  
266:               count_sites: DO J4=4,MIEF_NSITES 
267:                  IF(ABS(DISTS(J4)-DISTS(J4-1)) < PGSYMTOLS(2)) THEN 
268:                     J5=J5+1 
269:                  ELSE 
270:                     EXIT count_sites 
271:                  ENDIF 
272:               ENDDO count_sites 
273:               NSITES=J5 
274:               ! 
275:               COMBO_N=NATOMS+NSITES 
276:               IF(ALLOCATED(COMBO_COORDS)) DEALLOCATE(COMBO_COORDS) 
277:               ALLOCATE(COMBO_COORDS(1:3*COMBO_N)) 
278:               IF(ALLOCATED(COMBO_LABELS)) DEALLOCATE(COMBO_LABELS) 
279:               ALLOCATE(COMBO_LABELS(1:COMBO_N)) 
280:               ! 
281:               ! Set substrate labels to 0 and store coordinates 
282:               COMBO_LABELS(1:NSITES) = 0 
283:               DO J4=1,NSITES 
284:                  DO J5=1,3 
285:                     COMBO_COORDS(3*(J4-1)+J5) = & 
286:                          MIEF_SITES(ISITES(J4),J5) 
287:                  ENDDO 
288:               ENDDO 
289:               ! 
290:               COMBO_LABELS(NSITES+1:COMBO_N) = QMINT(J1,1:NATOMS) 
291:               COMBO_COORDS(3*NSITES+1:3*COMBO_N) = & 
292:                    QMINP(J1,1:3*NATOMS) 
293:               ! 
294:               WRITE(MYUNIT,'(A,I4,A,I4,A)') & 
295:                    'finalio> Determining point group of minimum ',& 
296:                    J1,' including ', NSITES, ' MIEF sites.' 
297:               ! 
298:               CALL PGSYM( COMBO_N, COMBO_COORDS(1:3*COMBO_N), & 
299:                    COMBO_LABELS(1:COMBO_N), PGSYMTOLS, 2, J3,& 
300:                    CM, NSYMOPS, SYMOPS, FPGRP )               
301:               ! 
302:               DEALLOCATE(COMBO_COORDS, COMBO_LABELS) 
303:               ! 
304:            ENDIF 
305:            ! 
306:            IF(PRINT_PTGRP) THEN ! Just append point group224:            IF(PRINT_PTGRP) THEN ! Just append point group
307:               WRITE(MYUNIT2,99) J1, QMIN(J1), FF(J1), &225:               WRITE(MYUNIT2,99) J1, QMIN(J1), FF(J1), &
308:                    NPCALL_QMIN(J1), FPGRP, NSYMOPS226:                    NPCALL_QMIN(J1), FPGRP, NSYMOPS
309: 99            FORMAT('Energy of minimum ',I6,'=',G20.10, &227: 99            FORMAT('Energy of minimum ',I6,'=',G20.10, &
310:                    ' first found at step ',I8,' after ', &228:                    ' first found at step ',I8,' after ', &
311:                    I20,' function calls. Point group ',A4, &229:                    I20,' function calls. Point group ',A4, &
312:                 ' of order ', I3,'.')230:                 ' of order ', I3,'.')
313:            ELSE ! Print stuff for HSA in OPTIM's min.data format231:            ELSE ! Print stuff for HSA in OPTIM's min.data format
314:               !232:               !
315:               NUM_ZERO_EVS=6233:               NUM_ZERO_EVS=6


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0