jac0rh
C JAC0RH SOURCE PV 22/04/21 21:15:05 11344 CCC C ********************************************************************** CCC SUBROUTINE JAC0RHMC (KMAT,NDIMK,X,NDIMS,NDIMV,LAM, . nescri,ues,kerre) IMPLICIT INTEGER(I-N) integer ndims,nescri,ues,ndimv,i,j,k,kerre,ndimk real*8 x(ndims),lam,void(1),Kmat(ndimk,ndimk),g real*8 Amat(36),Gmat(36),vecn(6),vecm(6),Avecm(6),vecntA(6), . vecEm(6),Hmat(36) * write(6,*) ' dans jac0rhmc ',ndimk,x,ndims,ndimv,lam,nescri,ues, * > kerre kerre=0 void(1) =0.D0 do i=1,6 Avecm(i)=0.D0 vecntA(i)=0.D0 vecn(i)=0.D0 vecm(i)=0.D0 vecEm(i)=0.D0 enddo do i=1,36 amat(i)=0.D0 gmat(i)=0.D0 hmat(i)=0.D0 enddo c m call vflsigRHMC(x,ndims,void,ndimv,vecm) c n call vyisigRHMC(x,ndims,void,ndimv,vecn) c H call HessFlsigRHMC(x,ndims,void,ndimv,Hmat,ndims) c G=E call MatGenHook(Gmat,ndims,ndims) * write (6,*) ' jac0 1' c Em = E*m do i=1,ndims do j=1,ndims vecEm(i)=vecEm(i)+Gmat(ndims*(j-1)+i)*vecm(j) enddo enddo * write (6,*) ' jac0 1a' c A = I+l*E*H do i=1,ndims do j=1,ndims i1=ndims*(j-1)+i do k=1,ndims Amat(i1)=Amat(i1)+ . Gmat(ndims*(k-1)+i)*Hmat(ndims*(j-1)+k) enddo Amat(i1)=lam*Amat(i1) enddo Amat(ndims*(i-1)+i)=1.D0+Amat(ndims*(i-1)+i) enddo c G = A-1 * write (6,*) ' jac0 2' c g = nt*A-1*Em g=0.D0 do i=1,ndims do j=1,ndims g=g+vecn(i)*Gmat(i+ndims*(j-1))*vecEm(j) enddo enddo c G*Em; nt*G do i=1,ndims do j=1,ndims Avecm(i)=Avecm(i)+Gmat(i+ndims*(j-1))*vecEm(j) vecntA(i)=vecntA(i)+vecn(j)*Gmat(j+ndims*(i-1)) enddo enddo * write (6,*) ' jac0 3' c K = G-(G*m * nt*G)/g do i=1,ndims do j=1,ndims Kmat(i,j)=Gmat((j-1)*ndims+i)-Avecm(i)*vecntA(j)/g enddo enddo return end
© Cast3M 2003 - Tous droits réservés.
Mentions légales