hdiff output

r29175/genrigid.f90 2015-11-17 23:32:52.604405563 +0000 r29174/genrigid.f90 2015-11-17 23:32:52.992410766 +0000
 27:       LOGICAL :: RIGIDOPTIMROTAT, FREEZERIGIDBODYT 27:       LOGICAL :: RIGIDOPTIMROTAT, FREEZERIGIDBODYT
 28:       DOUBLE PRECISION :: OPTIMROTAVALUES(3) 28:       DOUBLE PRECISION :: OPTIMROTAVALUES(3)
 29:       LOGICAL :: AACONVERGENCET 29:       LOGICAL :: AACONVERGENCET
 30:       LOGICAL :: DUMMYLOGICAL = .FALSE. 30:       LOGICAL :: DUMMYLOGICAL = .FALSE.
 31:       INTEGER, ALLOCATABLE :: LRBNPERMGROUP(:), LRBNPERMSIZE(:,:), LRBPERMGROUP(:,:), LRBNSETS(:,:), LRBSETS(:,:,:) 31:       INTEGER, ALLOCATABLE :: LRBNPERMGROUP(:), LRBNPERMSIZE(:,:), LRBPERMGROUP(:,:), LRBNSETS(:,:), LRBSETS(:,:,:)
 32:  32: 
 33: !   vr274:  added lattice coordinates 33: !   vr274:  added lattice coordinates
 34: !           if HAS_LATTICE_COORDS is true, the last two atoms are treated 34: !           if HAS_LATTICE_COORDS is true, the last two atoms are treated
 35: !           as lattice coordintes and rigidcoords is in reduced lattice units 35: !           as lattice coordintes and rigidcoords is in reduced lattice units
 36:       LOGICAL HAS_LATTICE_COORDS 36:       LOGICAL HAS_LATTICE_COORDS
 37: !   csw34>  RIGIDISRIGID = logical array, size NATOMS, TRUE if atom is part of 
 38: !           RB 
 39:       LOGICAL, ALLOCATABLE :: RIGIDISRIGID(:) 
 40:  37: 
 41: !-----------------------------------------------------------------------------------! 38: !-----------------------------------------------------------------------------------!
 42: ! NRIGIDBODY  = number of rigid bodies 39: ! NRIGIDBODY  = number of rigid bodies
 43: ! DEGFREEDOMS = number of degrees of freedom = 6 * NRIGIDBODY + 3 * ADDITIONAL ATOMS 40: ! DEGFREEDOMS = number of degrees of freedom = 6 * NRIGIDBODY + 3 * ADDITIONAL ATOMS
 44: ! MAXSITE     = maximum number of sites in a rigid body 41: ! MAXSITE     = maximum number of sites in a rigid body
 45: ! NRELAXRIGIDR = rigid body minimisation for this number of steps 42: ! NRELAXRIGIDR = rigid body minimisation for this number of steps
 46: ! NRELAXRIGIDA = atom minimisation for this number of steps 43: ! NRELAXRIGIDA = atom minimisation for this number of steps
 47: ! NSITEPERBODY= number of rigid body sites, no need to be the same for all bodies 44: ! NSITEPERBODY= number of rigid body sites, no need to be the same for all bodies
 48: ! REFVECTOR   = reference vector for the atomistic to rigic coordinate transformation 45: ! REFVECTOR   = reference vector for the atomistic to rigic coordinate transformation
 49: ! RIGIDSINGLES= list of atoms not in rigid bodies 46: ! RIGIDSINGLES= list of atoms not in rigid bodies
 78:   NRIGIDBODY = NEW_NRIGIDBODY 75:   NRIGIDBODY = NEW_NRIGIDBODY
 79:   MAXSITE = NEW_MAXSITE 76:   MAXSITE = NEW_MAXSITE
 80:  77: 
 81:   ! hk286 > Allocate NSITEPERBODY 78:   ! hk286 > Allocate NSITEPERBODY
 82:   ALLOCATE (NSITEPERBODY(NRIGIDBODY)) 79:   ALLOCATE (NSITEPERBODY(NRIGIDBODY))
 83:   ALLOCATE (SITESRIGIDBODY(MAXSITE,3,NRIGIDBODY)) 80:   ALLOCATE (SITESRIGIDBODY(MAXSITE,3,NRIGIDBODY))
 84:   ALLOCATE (RIGIDGROUPS(MAXSITE,NRIGIDBODY)) 81:   ALLOCATE (RIGIDGROUPS(MAXSITE,NRIGIDBODY))
 85:   ALLOCATE (REFVECTOR(NRIGIDBODY)) 82:   ALLOCATE (REFVECTOR(NRIGIDBODY))
 86:   ALLOCATE (GR_WEIGHTS(NATOMS)) 83:   ALLOCATE (GR_WEIGHTS(NATOMS))
 87:   ALLOCATE (IINVERSE(NRIGIDBODY,3,3)) 84:   ALLOCATE (IINVERSE(NRIGIDBODY,3,3))
 88: ! csw34>  
 89:   ALLOCATE (RIGIDISRIGID(NATOMS)) 
 90:   RIGIDISRIGID=.FALSE. 
 91:  85: 
 92:   ! by default use center of geometry - check if ok for AMBER 9/8/12 86:   ! by default use center of geometry - check if ok for AMBER 9/8/12
 93:   IF ( ALLOCATED(ATMASS1) ) THEN 87:   IF ( ALLOCATED(ATMASS1) ) THEN
 94:      GR_WEIGHTS=ATMASS1 88:      GR_WEIGHTS=ATMASS1
 95:   ELSE IF ( ALLOCATED(AMBER12_MASSES) .AND. AMBER12T ) THEN 89:   ELSE IF ( ALLOCATED(AMBER12_MASSES) .AND. AMBER12T ) THEN
 96:      ! AMBER 12 atom masses 90:      ! AMBER 12 atom masses
 97:      GR_WEIGHTS = AMBER12_MASSES 91:      GR_WEIGHTS = AMBER12_MASSES
 98:   ELSE IF (MASSES) THEN 92:   ELSE IF (MASSES) THEN
 99:      GR_WEIGHTS=ATMASS 93:      GR_WEIGHTS=ATMASS
100:   ELSE 94:   ELSE
326:   ENDIF320:   ENDIF
327: 321: 
328: !  vr274> Calling function for allocation to make more general (setup rigid bodies from code)322: !  vr274> Calling function for allocation to make more general (setup rigid bodies from code)
329:   CALL GENRIGID_ALLOCATE(NRIGIDBODY,MAXSITE)323:   CALL GENRIGID_ALLOCATE(NRIGIDBODY,MAXSITE)
330: ! hk286 > initialise SITESRIGIDBODY, RIGIDGROUPS, RIGIDSINGLES 324: ! hk286 > initialise SITESRIGIDBODY, RIGIDGROUPS, RIGIDSINGLES 
331:   OPEN(UNIT=222,FILE='rbodyconfig',status='unknown')325:   OPEN(UNIT=222,FILE='rbodyconfig',status='unknown')
332:   DO J1 = 1, NRIGIDBODY326:   DO J1 = 1, NRIGIDBODY
333:      READ(222,*) CHECK1, NSITEPERBODY(J1)327:      READ(222,*) CHECK1, NSITEPERBODY(J1)
334:      DO J2 = 1, NSITEPERBODY(J1)328:      DO J2 = 1, NSITEPERBODY(J1)
335:         READ(222,*) RIGIDGROUPS(J2,J1)329:         READ(222,*) RIGIDGROUPS(J2,J1)
336: ! csw34> check to make sure the current atom is not already in a rigid body 
337:         IF (RIGIDISRIGID(RIGIDGROUPS(J2,J1))) THEN 
338:             PRINT *," genrigid> ERROR: atom ",RIGIDGROUPS(J2,J1)," is in multiple rigid bodies! Stopping." 
339:             STOP 
340:         ELSE        
341: ! csw34> if not, flag the current atom 
342:             RIGIDISRIGID(RIGIDGROUPS(J2,J1))=.TRUE. 
343:         ENDIF 
344: ! vr274> Moved initialization of coordinates to GENRIGID_INITIALISE, here only read the setup330: ! vr274> Moved initialization of coordinates to GENRIGID_INITIALISE, here only read the setup
345: !        SITESRIGIDBODY(J2,:,J1) = COORDS(3*DUMMY-2:3*DUMMY,1)331: !        SITESRIGIDBODY(J2,:,J1) = COORDS(3*DUMMY-2:3*DUMMY,1)
346:      ENDDO332:      ENDDO
347:   ENDDO333:   ENDDO
348:   CLOSE(222)334:   CLOSE(222)
349:   CALL GENRIGID_INITIALISE(INICOORDS)335:   CALL GENRIGID_INITIALISE(INICOORDS)
350: END SUBROUTINE GENRIGID_READ_FROM_FILE336: END SUBROUTINE GENRIGID_READ_FROM_FILE
351: 337: 
352: !-----------------------------------------------------------338: !-----------------------------------------------------------
353: SUBROUTINE SETUP_TENSORS()339: SUBROUTINE SETUP_TENSORS()


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0