1 : C BGRCQ4 SOURCE CHAT 06/03/29 21:15:59 5360 2 : SUBROUTINE BGRCQ4(IGAU,XEL,SHPTOT,SHP,BGR,DJAC,EXCEN,NOPLAN,IARR) 3 : C |====================================================================| 4 : C | | 5 : C | CALCULER LA MATRICE DE GRADIENT BGR POUR COQ4 excentre ou non | 6 : C | CODE SUO X.Z. | 7 : C |====================================================================| 8 : C |INPUT | 9 : C | IGAU=NUMERO DU POINT DE GAUSS | 10 : C | NBNO=NOMBRE DE NOEUDS | 11 : C | LRE =NOMBRE DE COLONNES DE LA MATRICE BGR | 12 : C | XEL =COORDONNEES LOCALES DE L ELEMENT | 13 : C | SHPTOT(6,NBNO,NBGAU)=FONCTIONS DE FORMES ET DERIVEES | 14 : C | EXCEN=Excentrement de coque. | 15 : C | NOPLAN=1 si element non plan, | 16 : C | =0 sinon. | 17 : C | SHP=Fonctions de forme et derivees dans l'espace geometrique. | 18 : C |ZONE DE TRAVAIL | 19 : C | SHP(6,NBNO)=TABLEAU DE TRAVAIL | 20 : C |OUTPUT | 21 : C | DJAC=JACOBIEN | 22 : C | BGR(9,LRE)=MATRICE BGR | 23 : C |====================================================================| 24 : IMPLICIT INTEGER(I-N) 25 : IMPLICIT REAL*8(A-H,O-Z) 26 : PARAMETER (LRE=24,NBNO=4) 27 : DIMENSION XEL(3,*),BGR(9,*),SHP(6,*),SHPTOT(6,NBNO,*) 28 : DIMENSION SHP7(4:5,NBNO),SHP8(4:5,NBNO) 29 : DATA ZER/0.D0/ 30 : IARR=0 31 : * 32 : * Matrice jacobienne: 33 : * 34 : DO 110 I=1,NBNO 35 : SHP(1,I)=SHPTOT(1,I,IGAU) 36 : SHP(2,I)=SHPTOT(2,I,IGAU) 37 : SHP(3,I)=SHPTOT(3,I,IGAU) 38 : 110 CONTINUE 39 : DXDQSI = ZER 40 : DXDETA = ZER 41 : DYDQSI = ZER 42 : DYDETA = ZER 43 : DO 120 I=1,NBNO 44 : DXDQSI=DXDQSI+SHP(2,I)*XEL(1,I) 45 : DXDETA=DXDETA+SHP(3,I)*XEL(1,I) 46 : DYDQSI=DYDQSI+SHP(2,I)*XEL(2,I) 47 : DYDETA=DYDETA+SHP(3,I)*XEL(2,I) 48 : 120 CONTINUE 49 : DJAC=DXDQSI*DYDETA-DXDETA*DYDQSI 50 : IF(DJAC.LE. ZER) THEN 51 : IARR=1 52 : RETURN 53 : END IF 54 : * 55 : * Fonctions de forme dans l'espace geometrique 56 : * 57 : DQSIDX= DYDETA/DJAC 58 : DQSIDY=-DXDETA/DJAC 59 : DETADX=-DYDQSI/DJAC 60 : DETADY= DXDQSI/DJAC 61 : DO 130 I=1,NBNO 62 : TT=SHP(2,I)*DQSIDX+SHP(3,I)*DETADX 63 : SHP(3,I)=SHP(2,I)*DQSIDY+SHP(3,I)*DETADY 64 : SHP(2,I)=TT 65 : 130 CONTINUE 66 : C 67 : C CALCUL DE LA MATRICE BGR 68 : C 68 : CALL ZERO(BGR,9,LRE) 69 : N1 = 1 70 : N2 = 2 71 : DX1 = SHPTOT(2,N1,IGAU)*XEL(1,N1)+SHPTOT(2,N2,IGAU)*XEL(1,N2) 72 : DY1 = SHPTOT(2,N1,IGAU)*XEL(2,N1)+SHPTOT(2,N2,IGAU)*XEL(2,N2) 73 : N1 = 3 74 : N2 = 4 75 : DX2 = SHPTOT(2,N1,IGAU)*XEL(1,N1)+SHPTOT(2,N2,IGAU)*XEL(1,N2) 76 : DY2 = SHPTOT(2,N1,IGAU)*XEL(2,N1)+SHPTOT(2,N2,IGAU)*XEL(2,N2) 77 : N1 = 1 78 : N2 = 4 79 : DX3 = SHPTOT(3,N1,IGAU)*XEL(1,N1)+SHPTOT(3,N2,IGAU)*XEL(1,N2) 80 : DY3 = SHPTOT(3,N1,IGAU)*XEL(2,N1)+SHPTOT(3,N2,IGAU)*XEL(2,N2) 81 : N1 = 2 82 : N2 = 3 83 : DX4 = SHPTOT(3,N1,IGAU)*XEL(1,N1)+SHPTOT(3,N2,IGAU)*XEL(1,N2) 84 : DY4 = SHPTOT(3,N1,IGAU)*XEL(2,N1)+SHPTOT(3,N2,IGAU)*XEL(2,N2) 85 : * 86 : D2JAC = 2.D0 * DJAC 87 : * 88 : SHP7(4,1) = (- DYDETA*DY1 + DYDQSI*DY3) / D2JAC 89 : SHP7(4,2) = (- DYDETA*DY1 + DYDQSI*DY4) / D2JAC 90 : SHP7(4,3) = (- DYDETA*DY2 + DYDQSI*DY4) / D2JAC 91 : SHP7(4,4) = (- DYDETA*DY2 + DYDQSI*DY3) / D2JAC 92 : SHP7(5,1) = ( DYDETA*DX1 - DYDQSI*DX3) / D2JAC 93 : SHP7(5,2) = ( DYDETA*DX1 - DYDQSI*DX4) / D2JAC 94 : SHP7(5,3) = ( DYDETA*DX2 - DYDQSI*DX4) / D2JAC 95 : SHP7(5,4) = ( DYDETA*DX2 - DYDQSI*DX3) / D2JAC 96 : * 97 : SHP8(4,1) = ( DXDETA*DY1 - DXDQSI*DY3) / D2JAC 98 : SHP8(4,2) = ( DXDETA*DY1 - DXDQSI*DY4) / D2JAC 99 : SHP8(4,3) = ( DXDETA*DY2 - DXDQSI*DY4) / D2JAC 100 : SHP8(4,4) = ( DXDETA*DY2 - DXDQSI*DY3) / D2JAC 101 : SHP8(5,1) = (- DXDETA*DX1 + DXDQSI*DX3) / D2JAC 102 : SHP8(5,2) = (- DXDETA*DX1 + DXDQSI*DX4) / D2JAC 103 : SHP8(5,3) = (- DXDETA*DX2 + DXDQSI*DX4) / D2JAC 104 : SHP8(5,4) = (- DXDETA*DX2 + DXDQSI*DX3) / D2JAC 105 : * 106 : DO 300 I=1,NBNO 107 : K = 6*(I-1) 108 : IF (NOPLAN .EQ. 0) THEN 109 : BGR(1,K+1)=SHP(2,I) 110 : BGR(5,K+2)=SHP(3,I) 111 : BGR(1,K+5) = SHP(2,I) * EXCEN 112 : BGR(5,K+4) = -SHP(3,I) * EXCEN 113 : ENDIF 114 : BGR(7,K+3)=SHP(2,I) 115 : BGR(3,K+4) = SHP7(4,I) 116 : BGR(3,K+5) = SHP7(5,I) 117 : BGR(8,K+3)=SHP(3,I) 118 : BGR(6,K+4) = SHP8(4,I) 119 : BGR(6,K+5) = SHP8(5,I) 120 : * 121 : IF (.NOT. (IGAU .LE. 4)) THEN 122 : BGR(1,K+1)=SHP(2,I) 123 : BGR(5,K+2)=SHP(3,I) 124 : BGR(1,K+5) = SHP(2,I) * EXCEN 125 : BGR(5,K+4) = -SHP(3,I) * EXCEN 126 : BGR(2,K+1)=SHP(3,I) 127 : BGR(4,K+2)=SHP(2,I) 128 : BGR(4,K+4) = -SHP(2,I) * EXCEN 129 : BGR(2,K+5) = SHP(3,I) * EXCEN 130 : ENDIF 131 : 300 CONTINUE 132 : * 133 : * On finit de completer la matrice BGR, pour les contraintes ou 134 : * les deformations, par des valeurs calculees au centre: 135 : * 136 : IF (IGAU .LE. 4) THEN 137 : DO 500 I=1,NBNO 138 : SHP(1,I)=SHPTOT(1,I, 5 ) 139 : SHP(2,I)=SHPTOT(2,I, 5 ) 140 : SHP(3,I)=SHPTOT(3,I, 5 ) 141 : 500 CONTINUE 142 : * 143 : * FONCTIONS DE FORME DANS LA GEOMETRIE REELLE: 144 : * 144 : CALL JACOBI(XEL,SHP,2,NBNO,DJAC5) 145 : IF(DJAC5 .LE. ZER) THEN 146 : IARR=1 147 : RETURN 148 : END IF 149 : * 150 : DO 520 I=1,NBNO 151 : K = 6*(I-1) 152 : IF (NOPLAN .EQ. 1) THEN 153 : BGR(1,K+1)=SHP(2,I) 154 : BGR(5,K+2)=SHP(3,I) 155 : BGR(1,K+5) = SHP(2,I) * EXCEN 156 : BGR(5,K+4) = -SHP(3,I) * EXCEN 157 : ENDIF 158 : BGR(2,K+1)=SHP(3,I) 159 : BGR(4,K+2)=SHP(2,I) 160 : BGR(4,K+4) = -SHP(2,I) * EXCEN 161 : BGR(2,K+5) = SHP(3,I) * EXCEN 162 : 520 CONTINUE 163 : ENDIF 164 : RETURN 165 : END 166 : 167 : 168 :
© Cast3M 2003 - All rights reserved.
Disclaimer