Télécharger mtc21.eso

Retour à la liste

Numérotation des lignes :

  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
  23. call MatGenHookinv(Gmat,ndimx,ndims)
  24. call VecFlMAC(x,ndimx,vecm,nmodel)
  25. call VecYiMAC(x,ndimx,vecn,nmodel)
  26. call HessMAC(x,ndimx,Amat,ndimx,nnumer,deltax,nmodel)
  27. do i=1,ndimx*ndimx
  28. Amat(i)=Gmat(i)+lam*Amat(i)
  29. enddo
  30. call DescLU(Amat,ndimx)
  31. call LUinv(Amat,Gmat,ndimx)
  32. g=0.D0
  33. do i=1,ndimx
  34. do j=1,ndimx
  35. g=g+vecn(i)*Gmat(i+ndimx*(j-1))*vecm(j)
  36. enddo
  37. enddo
  38. do i=1,ndims
  39. do j=1,ndimx
  40. Avecm(i)=Avecm(i)+Gmat(i+ndimx*(j-1))*vecm(j)
  41. vecntA(i)=vecntA(i)+vecn(j)*Gmat(j+ndimx*(i-1))
  42. enddo
  43. enddo
  44. do ifi=1,ndims
  45. do jc=1,ndims
  46. K(ifi,jc)=Gmat((jc-1)*ndimx+ifi)-Avecm(ifi)*vecntA(jc)/g
  47. enddo
  48. enddo
  49. return
  50. end
  51.  
  52.  
  53.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales