C BMATSJ SOURCE CHAT 05/01/12 21:41:18 5004 SUBROUTINE BMATSJ(NBPGAU,IG,NBNO,IDIM,IFOUR,LRE,NST, & SHPC,SGA,YOUN,REL) C====================================================================C C C C INPUT C C C C NBNO : NOMBRE DE NOEUDS C C IDIM : DIMENSION GEOMETRIQUE C C LRE : NOMBRE DE COLONNES DE LA MATRICE B C C NST : LES CONTRAINTES C C IG : NUMERO DU POINT DE GAUSS C C DJAC : JACOBIEN C C SHPC(5,NBNO,*) : FONCTIONS D'INTERPOLATION ET LEURS DERIVEES C C YOUN : MODULE D'YOUNG * AIRE D'ACIER C C C C OUTPUT C C C C REL(LRE,LRE) : MATRICE DE RAIDEUR C C C C====================================================================C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C Include contenant quelques constantes dont XPI : -INC CCREEL DIMENSION REL(LRE,*),SHPC(6,20,*),SGA(3,5,5),SS(3,3),SIB(3) DO 110 I=1,IDIM SIB(I)=SGA(I,4,IG) 110 CONTINUE DJ=SGA(1,5,IG) CO=YOUN/DJ IF(IDIM.EQ.2.AND.IFOUR.EQ.0) CO=CO/(2.D0*XPI) DO 120 I=1,IDIM DO 1201 J=1,IDIM SS(I,J)=SIB(I)*SIB(J)*CO 1201 CONTINUE 120 CONTINUE DO 100 II=1,NBNO C --- DNIM: la derivee de fonction d'interpolation Ni par rapport a la C variable de reference unidimensionnelle DNIM=0.D0 DO 10 ID=1,IDIM DNIM=DNIM+SHPC(ID+1,II,IG)*SGA(ID,3,IG) 10 CONTINUE DNII=DNIM*DNIM I0=(II-1)*IDIM DO 20 ILIN=1,IDIM DO 201 ICOL=1,IDIM C --- Block II REL(I0+ILIN,I0+ICOL)=REL(I0+ILIN,I0+ICOL)+DNII*SS(ILIN $ ,ICOL) 201 CONTINUE 20 CONTINUE II0=II-1 DO 1001 JJ=1,II0 C --- DNJM: la derivee de fonction d'interpolation Nj par rapport a la C variable de reference unidimensionnelle DNJM=0.D0 DO 30 ID=1,IDIM DNJM=DNJM+SHPC(ID+1,JJ,IG)*SGA(ID,3,IG) 30 CONTINUE DNIJ=DNIM*DNJM J0=(JJ-1)*IDIM DO 40 ILIN=1,IDIM DO 401 ICOL=1,IDIM C --- Block IJ REL(I0+ILIN,J0+ICOL)=REL(I0+ILIN,J0+ICOL)+DNIJ*SS(ILIN $ ,ICOL) 401 CONTINUE 40 CONTINUE DO 50 ILIN=1,IDIM DO 501 ICOL=1,IDIM REL(J0+ICOL,I0+ILIN)=REL(I0+ILIN,J0+ICOL) 501 CONTINUE 50 CONTINUE 1001 CONTINUE 100 CONTINUE END