      SUBROUTINE INITAL
C...
C...  NUMOL SOLUTION OF EQUATIONS (7.42) TO (7.45)
C...
      COMMON/T/   TIME
     1      /Y/  T(51)
     2      /F/ TT(51)
     3      /S/     R0,   R(51),  TR(51), TRR(51)
     4      /I/      N
C...
C...  RADIUS
      R0=1.0
C...
C...  GRID SPACING
      N=51
      DR=R0/FLOAT(N-1)
C...
C...  INITIAL CONDITION (7.43)
      DO 1 I=1,N
         R(I)=FLOAT(I-1)*DR
         T(I)=0.
1     CONTINUE
      RETURN
      END
      SUBROUTINE DERV
      COMMON/T/   TIME
     1      /Y/  T(51)
     2      /F/ TT(51)
     3      /S/     R0,   R(51),  TR(51), TRR(51)
     4      /I/      N
C...
C...  BOUNDARY CONDITION (7.44)
      T(N)=1.0
C...
C...  DERIVATIVE TR
      CALL DSS002(0.,R0,N,T,TR)
C...
C...  BOUNDARY CONDITION (7.45)
      TR(1)=0.
C...
C...  DERIVATIVE TRR
      CALL DSS002(0.,R0,N,TR,TRR)
C...
C...  EQUATION (7.42)
      DO 2 I=2,N
      TT(I)=TRR(I)+(2.0/R(I))*TR(I)
2     CONTINUE
      TT(1)=3.0*TRR(1)
      RETURN
      END
      SUBROUTINE PRINT(NI,NO)
      COMMON/T/   TIME
     1      /Y/  T(51)
     2      /F/ TT(51)
     3      /S/     R0,   R(51),  TR(51), TRR(51)
     4      /I/      N
C...
C...  PRINT THE NUMOL SOLUTION 
      WRITE(NO,2)TIME,(T(I),I=1,N,10)
2     FORMAT(' TIME = ',F6.2,/,15X,'  R=0',5X,'R=0.2',5X,'R=0.4',5X,
     1                             'R=0.6',5X,'R=0.8',5X,'  R=1',/,
     2                         '    T(R,T)',6F10.6,/)
      RETURN
      END
