coq4ri
C COQ4RI SOURCE CHAT 05/01/12 22:21:41 5004 ************************************************************************ * * C O Q 4 R I * ----------- * * FONCTION: * --------- * * Calcul du produit Bt.D.B en 1 point de Gauss, pour le COQ4. * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * IGAU (E) Num{ro du point de Gauss. * BGENE (E) Matrice "B". * DJAC (E) Jacobien. * EXCENT (E) Excentrement. * NOPLAN (E) = 1 si {l{ment non plan, * = 0 sinon. * DHOOK (E) Matrice de Hooke int{gr{e dans l'{paisseur. * S{paration par blocs: * membrane, puis flexion, puis cisaillement transverse. * (S) Contenu modifie. * REL (E) Matrice de Raideur. * (S) Complet{e par la contribution du point de Gauss * courant. * IMPLICIT INTEGER(I-N) PARAMETER (NSTRS=8, LRE=24) REAL*8 DJAC,EXCENT REAL*8 DHOOK(NSTRS,NSTRS),REL(LRE,LRE),BGENE(NSTRS,LRE) * * VARIABLES: * ---------- * REAL*8 DB(NSTRS,LRE) * * MODE DE FONCTIONNEMENT: * ----------------------- * * Utilisation de la valeur de "Bm" au point central pour toute ou * partie de la raideur de membrane: * - tout si {l{ment non plan, * - cisaillement sinon. * * Utilisation de la valeur de "Bf" au point central pour la raideur * de couplage membrane/flexion due @ l'excentrement dans les memes * conditions que pour la membrane. * * AUTEUR, DATE DE CREATION: * ------------------------- * * Pascal MANIGOT 27 Mars 1991 * ************************************************************************ * DO 100 J=1,NSTRS DO 100 I=1,NSTRS DHOOK(I,J) = DJAC * DHOOK(I,J) 100 CONTINUE * END DO * END DO * IF (ABS(EXCENT) .GT. 1.D-30) THEN INCMAX = 5 ELSE INCMAX = 2 END IF * * * eD.Bm | eD.h.Bf DO 120 J=1,INCMAX DO 120 I=1,3 DO 120 K=1,3 DB(I,J+N6) = DB(I,J+N6) + DHOOK(I,K)*BGENE(K,J+N6) 120 CONTINUE * END DO * END DO * END DO * IF (IGAU .LE. 4) THEN DO 160 J=3,5 * e3/12.D.Bf DO 140 I=4,6 DO 140 K=4,6 DB(I,J+N6) = DB(I,J+N6) + DHOOK(I,K)*BGENE(K,J+N6) 140 CONTINUE * END DO * END DO * 5/6.eG.Bc DB(7,J+N6) = DB(7,J+N6) + DHOOK(7,7)*BGENE(7,J+N6) DB(8,J+N6) = DB(8,J+N6) + DHOOK(8,8)*BGENE(8,J+N6) 160 CONTINUE * END DO END IF * 110 CONTINUE * END DO * IF (IGAU .LE. 4) THEN * Int{gration exacte. * * Rigidit{ de Flexion et Cisaillement transverse. DO 200 M=3,5 DO 200 L=3,5 DO 200 NOEUD2 = 1,4 M6 = 6 * (NOEUD2 - 1) DO 200 I=4,8 REL(L+L6,M+M6) & = REL(L+L6,M+M6) + BGENE(I,L+L6)*DB(I,M+M6) 200 CONTINUE * END DO * END DO * END DO * END DO * END DO * IF (NOPLAN .EQ. 0) THEN * Int{gration exacte raideur de membrane et de couplage * membrane/flexion, sauf cisaillement: DO 220 M=1,INCMAX DO 220 L=1,INCMAX DO 220 NOEUD2 = 1,4 M6 = 6 * (NOEUD2 - 1) REL(L+L6,M+M6) = REL(L+L6,M+M6) & + BGENE(1,L+L6)*DB(1,M+M6) & + BGENE(2,L+L6)*DB(2,M+M6) 220 CONTINUE * END DO * END DO * END DO * END DO END IF * ELSE IF (IGAU .EQ. 5) THEN * * Int{gration r{duite raideur de membrane et de couplage * membrane/flexion: IF (NOPLAN .EQ. 1) THEN I1 = 1 ELSE I1 = 3 END IF DO 240 M=1,INCMAX DO 240 L=1,INCMAX DO 240 NOEUD2 = 1,4 M6 = 6 * (NOEUD2 - 1) DO 240 I=I1,3 REL(L+L6,M+M6) & = REL(L+L6,M+M6) + BGENE(I,L+L6)*DB(I,M+M6) 240 CONTINUE * END DO * END DO * END DO * END DO * END DO * END IF * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales