C DEPEN3 SOURCE PV 21/01/29 21:15:19 10866 SUBROUTINE depen3 (iri2,iri1) c==================================================================== c transformation d une matrice de relations en matrice de dependance C c entrees: c mrigid rigidité [C] de dependance cree par rela c sorties: C ri1 matrice de dependence C C on conserve dans irigel(8,irig) le pointeur sur la matrice accro C d origine C c==================================================================== IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC SMRIGID -INC SMELEME -INC SMCOORD -INC PPARAM -INC CCOPTIO -INC CCGEOME -INC CCHAMP -INC SMLMOTS C mrigid=iri2 * write(6,*) ' entree dans depen3' * call prrigi(mrigid) SEGACT MRIGID C segini , ri1=mrigid iri1= ri1 ri1.imgeo1=0 ri1.imgeo2=0 nrige = 8 nrigel=irigel(/2) if( nrige.ne.ri1.irigel(/1)) segadj ri1 idec=1 irigg=0 do 100 irig = 1,irigel(/2) C rectification des supports geometriques et matrices meleme = irigel(1,irig) ** write(6,*) ' depen3 meleme itypel ',meleme,itypel xmatri = irigel(4,irig) segact ,meleme ,xmatri nbnn = num(/1)-idec if (nbnn.eq.0) then segdes meleme,xmatri goto 100 endif irigg=irigg+1 nbelem=num(/2) nelrig = nbelem nbsous=0 nbref=0 segini ,ipt1 segini,xmatr1=xmatri ri1.irigel(1,irigg)=ipt1 ri1.irigel(4,irigg)=xmatr1 ri1.irigel(7,irigg)=2 ri1.coerig(irigg)=1.d0 C on stocke ds irigel de 8 le meleme avec supports de LX ri1.irigel(8,irigg)=meleme * superelement ipt1.itypel=28 descr = irigel(3,irig) segact descr nligrp=lisinc(/2)-idec-1 nligrd=2-idec segini des1 nelrig=nbelem segadj xmatr1 ri1.irigel(3,irigg) = des1 do 110 iel=1,nbelem * xmatri=imattt(iel) * segact xmatri do 111 ip=1,nbnn ipt1.num(ip,iel)=num(ip+idec,iel) 111 continue * segini xmatr1 * imatr1.imattt(iel) = xmatr1 aa= re(1,2,iel) do 121 ic = 1,nligrp xmatr1.re(1,ic,iel)=(-re(1,ic+idec+1,iel)/aa) 121 continue 120 continue * segdes xmatri,xmatr1 110 continue do 130 il=1,nligrp des1.lisinc(il)= lisinc(il+idec+1) des1.noelep(il)= noelep(il+idec+1)-1 130 continue des1.lisdua(1)= lisinc(2) des1.noeled(1)= noelep(2)-1 C write(6,*) ' depen3 irigel(8,irig) ' ,ri1.irigel(8,irig) segdes ipt1,meleme,xmatr1,descr,des1,xmatri 100 continue nrigel=irigg nrige=ri1.irigel(/1) segadj ri1 segdes ri1,mrigid * call prrigi(ri1,1) RETURN END