Revision 5 src/PathCreate.f90

PathCreate.f90 (revision 5)
13 13
  use Io_module
14 14
  use Path_module, only : Nat, NGeomI, NCoord, NGeomF, IGeomRef, NMaxL, IReparam, IReparamT, &
15 15
       Coord, Frozen, Cart, NCart, NFroz, XyzGeomI, atome, r_cov, fact, &
16
       IndZmat, Renum, Order, OrderInv, IntCoordI, IntCoordF,Pi, BMat_BakerT, Nom, &
17
       Hess,IntFroz, ISpline, IntTangent, XyzGeomF, NPrim,Xprimitive_t, OptGeom,  &
18
       UMatF, UMat_local, XyzTangent, Linear, Align, FrozAtoms
16
       IndZmat, Renum, Order, OrderInv, IntCoordI, IntCoordF,Pi,  Nom, &
17
       ISpline, IntTangent,  NPrim,Xprimitive_t, OptGeom,  &
18
       UMatF, UMat_local, XyzTangent, Linear, Align, FrozAtoms,AtName
19 19
  ! BMat_BakerT (3*Nat,NCoord), XyzGeomI(NGeomI,3,Nat), IGeomRef=-1 (default value)
20 20
  ! IntCoordI(NGeomI,NCoord)
21 21

  
......
69 69
       integer(KINT) :: na
70 70
       integer(KINT) :: ind_zmat(Na,5)
71 71
     END FUNCTION TEST_ZMAT
72

  
73

  
74
    SUBROUTINE die(routine, msg, file, line, unit)
75

  
76
      Use VarTypes
77
      Use io_module
78

  
79
      implicit none
80

  
81
      character(len=*), intent(in)           :: routine, msg
82
      character(len=*), intent(in), optional :: file
83
      integer(KINT), intent(in), optional      :: line, unit
84

  
85
    END SUBROUTINE die
86

  
87
    SUBROUTINE Warning(routine, msg, file, line, unit)
88

  
89
      Use VarTypes
90
      Use io_module
91

  
92
      implicit none
93

  
94
      character(len=*), intent(in)           :: routine, msg
95
      character(len=*), intent(in), optional :: file
96
      integer(KINT), intent(in), optional      :: line, unit
97

  
98
    END SUBROUTINE Warning
99

  
72 100
  END INTERFACE
73 101

  
74 102

  
......
89 117

  
90 118
  Do I=1,NGeomI
91 119
     XGeom(I)=FLoat(I)-1.d0
120
     if (Print) THEN
121
        WRITE(*,*) "PathCreate - L121 - Initial geometries "
122
        DO J=1,Nat
123
           WRITE(*,'(1X,A10,3(1X,F15.8),A)') Trim(AtName(J)),XyzGeomI(I,1:3,J)
124
        END DO
125
     END IF
92 126
  END DO
93 127

  
94 128
  ! First iteration of the optimization:
......
186 220
           END IF ! matches IF (NCart.GE.2) THEN
187 221
           ! we now calculate the number of fragments.
188 222
           Call Decomp_frag(nat,liaisons,.NOT.Fcart,nbfrag,Fragment,NbAtFrag,FragAt)
223
           IF (debug) THEN
224
              WRITE(*,*) 'Debug PathCreat Line190'
225
              WRITE(*,*) 'NbFrag, NbFragRef=',NbFrag,NFragRef
226
           END IF
227

  
189 228
           IF (NbFrag.LT.NFragRef) THEN
190 229
              NFragRef=NbFrag
191 230
              ! The reference geometry, IGeomRef, is determined based on the least number
......
199 238
     END IF ! matches IF (((COORD.EQ."ZMAT").OR.(COORD.EQ."HYBRID").OR.(COORD.EQ."MIXED")
200 239
     ! .OR.(COORD.EQ."BAKER")).AND.(IGeomRef.LE.0)).
201 240

  
241
     IF ((COORD.EQ."CART").AND.(IGeomREF.LE.0)) THEN
242
        IGeomRef=1
243
        CALL Warning('PathCreate L209','IGeomRef<=0',UNIT=IOOUT)
244
     END IF
245

  
202 246
     if (debug) WRITE(*,*) "DBG PathCreate : IGeomRef= ",IGeomRef
203 247

  
204 248
     ! we now compute the internal coordinates for this geometry !
......
577 621
     z0=z
578 622
  END IF  ! First
579 623

  
624
     if (Print) THEN
625
        WRITE(*,*) "PathCreate - L631 - geometries "
626
        DO I=1,NGeomI
627
           DO J=1,Nat
628
              If (renum) THEN
629
                 Iat=Order(J)
630
                 WRITE(*,'(1X,A10,3(1X,F15.8),A)') Trim(AtName(J)),XyzGeomI(I,1:3,Iat)
631
              ELSE
632
                 Iat=OrderInv(J)
633
                 WRITE(*,'(1X,A10,3(1X,F15.8),A)') Trim(AtName(Iat)),XyzGeomI(I,1:3,J)
634
              END IF
635
           END DO
636
        END DO
637
     END IF
638

  
639

  
580 640
  ! Now that we have a zmat, we will generate all the IntCoodI corresponding...
581 641
  ! First one
582 642
  IF (COORD.EQ.'HYBRID') THEN     ! Matches at L680
......
746 806

  
747 807
  if (debug) WRITE(*,*) "Before interpolation, PathCreate.f90, L740, IOpt=",IOpt, &
748 808
       "ISpline=", ISpline 
809

  
810
     if (Print) THEN
811
        WRITE(*,*) "PathCreate - L811 - geometries "
812
        DO I=1,NGeomI
813
           DO J=1,Nat
814
              If (renum) THEN
815
                 Iat=Order(J)
816
                 WRITE(*,'(1X,A10,3(1X,F15.8),A)') Trim(AtName(J)),XyzGeomI(I,1:3,Iat)
817
              ELSE
818
                 Iat=OrderInv(J)
819
                 WRITE(*,'(1X,A10,3(1X,F15.8),A)') Trim(AtName(Iat)),XyzGeomI(I,1:3,J)
820
              END IF
821
           END DO
822
        END DO
823
     END IF
824

  
825

  
749 826
  ! Now comes the Interpolation:
750 827
  IF ((NGeomI>2).AND.(IOpt.GE.ISpline)) THEN
751 828
     Linear=.FALSE.

Also available in: Unified diff