Download mtc21.eso

Back to the list

   1 : C MTC21     SOURCE    CHAT      05/01/13    01:53:37     5004           
   2 : CCC
   3 : C **********************************************************************
   4 : CCC
   5 :       SUBROUTINE MTC21 (K,NDIMK,X,NDIMX,LAM,NDIMS,
   6 :      .                nmodel,nescri,ues,nnumer,deltax,kerre)
   7 :       IMPLICIT INTEGER(I-N)
   8 :       integer ndims,nmodel,nescri,nnumer,ndimx,ues
   9 :       integer ifi,jc,i,j,kerre,ndimk
  10 :       real*8    x(ndimx),lam,deltax,K(ndimk,ndimk),g
  11 :       real*8    Amat(64),Gmat(64),vecn(8),vecm(8),Avecm(8),vecntA(8)
  12 :       kerre=0
  13 :       do i=1,8
  14 :           vecntA(i)=0.D0
  15 :           Avecm(i)=0.D0
  16 :           vecn(i)=0.D0
  17 :           vecm(i)=0.D0
  18 :         enddo
  19 :       do i=1,64
  20 :           Amat(i)=0.D0
  21 :           Gmat(i)=0.D0
  22 :         enddo
  22 :       call MatGenHookinv(Gmat,ndimx,ndims)
  22 :       call VecFlMAC(x,ndimx,vecm,nmodel)
  22 :       call VecYiMAC(x,ndimx,vecn,nmodel)
  22 :       call HessMAC(x,ndimx,Amat,ndimx,nnumer,deltax,nmodel)
  23 :       do i=1,ndimx*ndimx
  24 :          Amat(i)=Gmat(i)+lam*Amat(i)
  25 :       enddo
  25 :       call DescLU(Amat,ndimx)
  25 :       call LUinv(Amat,Gmat,ndimx)
  26 :       g=0.D0
  27 :       do i=1,ndimx
  28 :          do j=1,ndimx
  29 :              g=g+vecn(i)*Gmat(i+ndimx*(j-1))*vecm(j)
  30 :          enddo
  31 :       enddo
  32 :       do i=1,ndims
  33 :          do j=1,ndimx
  34 :            Avecm(i)=Avecm(i)+Gmat(i+ndimx*(j-1))*vecm(j)
  35 :            vecntA(i)=vecntA(i)+vecn(j)*Gmat(j+ndimx*(i-1))
  36 :          enddo
  37 :       enddo
  38 :       do ifi=1,ndims
  39 :          do jc=1,ndims
  40 :             K(ifi,jc)=Gmat((jc-1)*ndimx+ifi)-Avecm(ifi)*vecntA(jc)/g
  41 :          enddo
  42 :       enddo
  43 :       return
  44 :       end
  45 :  
  46 :  

© Cast3M 2003 - All rights reserved.
Disclaimer