1 : C BMATSJ SOURCE CHAT 05/01/12 21:41:18 5004 2 : SUBROUTINE BMATSJ(NBPGAU,IG,NBNO,IDIM,IFOUR,LRE,NST, 3 : & SHPC,SGA,YOUN,REL) 4 : C====================================================================C 5 : C C 6 : C INPUT C 7 : C C 8 : C NBNO : NOMBRE DE NOEUDS C 9 : C IDIM : DIMENSION GEOMETRIQUE C 10 : C LRE : NOMBRE DE COLONNES DE LA MATRICE B C 11 : C NST : LES CONTRAINTES C 12 : C IG : NUMERO DU POINT DE GAUSS C 13 : C DJAC : JACOBIEN C 14 : C SHPC(5,NBNO,*) : FONCTIONS D'INTERPOLATION ET LEURS DERIVEES C 15 : C YOUN : MODULE D'YOUNG * AIRE D'ACIER C 16 : C C 17 : C OUTPUT C 18 : C C 19 : C REL(LRE,LRE) : MATRICE DE RAIDEUR C 20 : C C 21 : C====================================================================C 22 : IMPLICIT INTEGER(I-N) 23 : IMPLICIT REAL*8(A-H,O-Z) 24 : C Include contenant quelques constantes dont XPI : 25 : -INC CCREEL 26 : DIMENSION REL(LRE,*),SHPC(6,20,*),SGA(3,5,5),SS(3,3),SIB(3) 27 : DO 110 I=1,IDIM 28 : SIB(I)=SGA(I,4,IG) 29 : 110 CONTINUE 30 : DJ=SGA(1,5,IG) 31 : CO=YOUN/DJ 32 : IF(IDIM.EQ.2.AND.IFOUR.EQ.0) CO=CO/(2.D0*XPI) 33 : DO 120 I=1,IDIM 34 : DO 1201 J=1,IDIM 35 : SS(I,J)=SIB(I)*SIB(J)*CO 36 : 1201 CONTINUE 37 : 120 CONTINUE 38 : DO 100 II=1,NBNO 39 : C --- DNIM: la derivee de fonction d'interpolation Ni par rapport a la 40 : C variable de reference unidimensionnelle 41 : DNIM=0.D0 42 : DO 10 ID=1,IDIM 43 : DNIM=DNIM+SHPC(ID+1,II,IG)*SGA(ID,3,IG) 44 : 10 CONTINUE 45 : DNII=DNIM*DNIM 46 : I0=(II-1)*IDIM 47 : DO 20 ILIN=1,IDIM 48 : DO 201 ICOL=1,IDIM 49 : C --- Block II 50 : REL(I0+ILIN,I0+ICOL)=REL(I0+ILIN,I0+ICOL)+DNII*SS(ILIN 51 : $ ,ICOL) 52 : 201 CONTINUE 53 : 20 CONTINUE 54 : II0=II-1 55 : DO 1001 JJ=1,II0 56 : C --- DNJM: la derivee de fonction d'interpolation Nj par rapport a la 57 : C variable de reference unidimensionnelle 58 : DNJM=0.D0 59 : DO 30 ID=1,IDIM 60 : DNJM=DNJM+SHPC(ID+1,JJ,IG)*SGA(ID,3,IG) 61 : 30 CONTINUE 62 : DNIJ=DNIM*DNJM 63 : J0=(JJ-1)*IDIM 64 : DO 40 ILIN=1,IDIM 65 : DO 401 ICOL=1,IDIM 66 : C --- Block IJ 67 : REL(I0+ILIN,J0+ICOL)=REL(I0+ILIN,J0+ICOL)+DNIJ*SS(ILIN 68 : $ ,ICOL) 69 : 401 CONTINUE 70 : 40 CONTINUE 71 : DO 50 ILIN=1,IDIM 72 : DO 501 ICOL=1,IDIM 73 : REL(J0+ICOL,I0+ILIN)=REL(I0+ILIN,J0+ICOL) 74 : 501 CONTINUE 75 : 50 CONTINUE 76 : 1001 CONTINUE 77 : 100 CONTINUE 78 : END 79 : 80 : 81 : 82 : 83 : 84 : 85 :
© Cast3M 2003 - All rights reserved.
Disclaimer