hdiff output

r31507/potential.f90 2016-11-14 13:30:12.508648515 +0000 r31506/potential.f90 2016-11-14 13:30:12.836652943 +0000
 24: ! In addition, this routine also applies fields, if appropriate.  24: ! In addition, this routine also applies fields, if appropriate. 
 25:    USE COMMONS 25:    USE COMMONS
 26:    USE GENRIGID, ONLY: RIGIDINIT, NRIGIDBODY, DEGFREEDOMS, ATOMRIGIDCOORDT, & 26:    USE GENRIGID, ONLY: RIGIDINIT, NRIGIDBODY, DEGFREEDOMS, ATOMRIGIDCOORDT, &
 27:                        AACONVERGENCET, AACONVERGENCE, TRANSFORMRIGIDTOC, & 27:                        AACONVERGENCET, AACONVERGENCE, TRANSFORMRIGIDTOC, &
 28:                        TRANSFORMGRAD, TRANSFORMHESSIAN, TRANSFORMCTORIGID, & 28:                        TRANSFORMGRAD, TRANSFORMHESSIAN, TRANSFORMCTORIGID, &
 29:                        GENRIGID_DISTANCECHECK, GENRIGID_COMPRESS 29:                        GENRIGID_DISTANCECHECK, GENRIGID_COMPRESS
 30:    USE MULTIPOT, ONLY: MULTIPOT_CALL 30:    USE MULTIPOT, ONLY: MULTIPOT_CALL
 31:    USE QMODULE, ONLY: QMIN, QMINP  31:    USE QMODULE, ONLY: QMIN, QMINP 
 32:    USE PERMU, ONLY: FIN 32:    USE PERMU, ONLY: FIN
 33:    USE PORFUNCS 33:    USE PORFUNCS
 34:    USE AMBER12_INTERFACE_MOD, ONLY: AMBER12_ENERGY_AND_GRADIENT, POT_ENE_REC_C,& 34:    USE AMBER12_INTERFACE_MOD, ONLY: AMBER12_ENERGY_AND_GRADIENT, POT_ENE_REC_C
 35: &                                   AMBER12_NUM_HESS 
 36:    USE MODHESS, ONLY: HESS, RBAANORMALMODET  35:    USE MODHESS, ONLY: HESS, RBAANORMALMODET 
 37:    USE MODAMBER9, ONLY: ATMASS1 36:    USE MODAMBER9, ONLY: ATMASS1
 38:    USE POLIRMOD, ONLY: POLIR 37:    USE POLIRMOD, ONLY: POLIR
 39:    USE MBPOLMOD, ONLY: MBPOL 38:    USE MBPOLMOD, ONLY: MBPOL
 40:    USE SWMOD, ONLY: SWTYPE 39:    USE SWMOD, ONLY: SWTYPE
 41:    USE MODCUDALBFGS, ONLY: CUDA_ENEGRAD_WRAPPER, CUDA_NUMERICAL_HESS 40:    USE MODCUDALBFGS, ONLY: CUDA_ENEGRAD_WRAPPER, CUDA_NUMERICAL_HESS
 42:    USE GAUSS_MOD, ONLY: GFIELD 41:    USE GAUSS_MOD, ONLY: GFIELD
 43:    USE RAD_MOD, ONLY: RAD, RADR 42:    USE RAD_MOD, ONLY: RAD, RADR
 44:    USE PREC, ONLY: INT32, REAL64 43:    USE PREC, ONLY: INT32, REAL64
 45:    USE TWIST_MOD, ONLY: TWISTT, TWIST 44:    USE TWIST_MOD, ONLY: TWISTT, TWIST
467:             CALL AMBER12_ENERGY_AND_GRADIENT(NATOMS, XCOORDS, EREAL, GRADATOMS, AMBER12_ENERGY_DECOMP)466:             CALL AMBER12_ENERGY_AND_GRADIENT(NATOMS, XCOORDS, EREAL, GRADATOMS, AMBER12_ENERGY_DECOMP)
468:             GRAD(1:3*NATOMS)=GRADATOMS(:)467:             GRAD(1:3*NATOMS)=GRADATOMS(:)
469:          END IF468:          END IF
470: ! Transform the gradient and coordinates back to the rigid body representation 469: ! Transform the gradient and coordinates back to the rigid body representation 
471:          CALL TRANSFORMGRAD(GRADATOMS, XRIGIDCOORDS, XRIGIDGRAD)470:          CALL TRANSFORMGRAD(GRADATOMS, XRIGIDCOORDS, XRIGIDGRAD)
472:          X(1:DEGFREEDOMS)=XRIGIDCOORDS(1:DEGFREEDOMS)471:          X(1:DEGFREEDOMS)=XRIGIDCOORDS(1:DEGFREEDOMS)
473:          X(DEGFREEDOMS+1:3*NATOMS)=0.0D0472:          X(DEGFREEDOMS+1:3*NATOMS)=0.0D0
474:          GRAD(1:DEGFREEDOMS)=XRIGIDGRAD(1:DEGFREEDOMS)473:          GRAD(1:DEGFREEDOMS)=XRIGIDGRAD(1:DEGFREEDOMS)
475:          GRAD(DEGFREEDOMS+1:3*NATOMS)=0.0D0474:          GRAD(DEGFREEDOMS+1:3*NATOMS)=0.0D0
476:       END IF475:       END IF
477: !copied from OPTIM, rbody part not tested 
478:       IF (SECT) THEN 
479:          IF (ALLOCATED(HESS)) DEALLOCATE(HESS) 
480:          ALLOCATE(HESS(3*NATOMS, 3*NATOMS)) 
481:          CALL AMBER12_NUM_HESS(NATOMS,X, DELTA=1.0D-5, HESSIAN=HESS(:, :)) 
482:          IF (RIGIDINIT .AND. (.NOT. ATOMRIGIDCOORDT) ) THEN 
483:             CALL TRANSFORMHESSIAN(HESS, GRADATOMS, XRIGIDCOORDS,XRIGIDHESS, RBAANORMALMODET) 
484:             HESS(DEGFREEDOMS+1:3*NATOMS,:) = 0.0D0 
485:             HESS(:,DEGFREEDOMS+1:3*NATOMS) = 0.0D0 
486:             HESS(1:DEGFREEDOMS,1:DEGFREEDOMS) = XRIGIDHESS(1:DEGFREEDOMS,1:DEGFREEDOMS) 
487:          END IF 
488:       END IF 
489: ! AMBER 9 Energy and gradient calls476: ! AMBER 9 Energy and gradient calls
490:    ELSE IF (AMBERT) THEN477:    ELSE IF (AMBERT) THEN
491: ! hk286 > Generalised rigid body478: ! hk286 > Generalised rigid body
492: ! hk286 > If rigid coords is used, then need to convert to atom coords first, 479: ! hk286 > If rigid coords is used, then need to convert to atom coords first, 
493: ! hk286 > compute energies, then convert gradients & coords back to rigid480: ! hk286 > compute energies, then convert gradients & coords back to rigid
494:       IF (ATOMRIGIDCOORDT) THEN481:       IF (ATOMRIGIDCOORDT) THEN
495:          CALL AMBERENERGIES(X, GRAD, EREAL, .FALSE., .FALSE.)482:          CALL AMBERENERGIES(X, GRAD, EREAL, .FALSE., .FALSE.)
496:          IF (RESTRAINLT) THEN483:          IF (RESTRAINLT) THEN
497:             CALL RESTRAINLPOTENTIAL(X, GRAD, EREAL, GRADT, SECT) ! hk286484:             CALL RESTRAINLPOTENTIAL(X, GRAD, EREAL, GRADT, SECT) ! hk286
498:          END IF485:          END IF


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0