bzco
C BZCO SOURCE FANDEUR 13/01/16 21:15:00 7666 C======================================================================= C CALCUL DE LA MATRICE B C ET DU JACOBIEN EN IGAU POUR UN ELEMENT DE ZONE COHESIVE C======================================================================= C INPUT C IGAU = NUMERO DU POINT DE GAUSS C MFR = NUMERO DE LA FORMULATION C XEL = COORDONNEES DES NOEUDS DE L'ELEMENT C BPSS = MATRICE DE PASSAGE C SHPTOT= FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE DE REFERENCE C SHPTOT(1, ) = FONCTION DE FORME C SHPTOT(2, ) = DERIVEES PAR RAPPORT A QSI C SHPTOT(3, ) = DERIVEES PAR RAPPORT A ETA C NBNO = NOMBRE DE NOEUDS C LRE = NOMBRE DE COLONNES DE LA MATRICE B C NST = NOMBRE DE COMPOSANTES DE CONTRAINTES C OUTPUT C SHP = FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE GEOMETRIQUE C SHP(1, ) = FONCTION DE FORME C SHP(2, ) = DERIVEES PAR RAPPORT A X LOCAL C SHP(3, ) = DERIVEES PAR RAPPORT A Y LOCAL C DJAC = JACOBIEN AU POINT D'INTEGRATION IGAU C BGENE = MATRICE B AU POINT D'INTEGRATION IGAU C IRRT = DIFFERENT DE ZERO SI ERREUR C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C DIMENSION BPSS(3,3) C IRRT = 0 NDIM = 2 IF(IFOU .GT. 0) NDIM = 3 IDIM = NDIM - 1 C C MATRICE JACOBIENNE C SHP(1,I) = SHPTOT(1,I,IGAU) SHP(2,I) = SHPTOT(2,I,IGAU) 1 CONTINUE C C TRAITEMENT PARTICULIER POUR LE CAS 2D C SINON, APPEL A DEVOLU C IF(NDIM.EQ.2) THEN dXdQsi=0.D0 dYdQsi=0.D0 dXdQsi=dXdQsi+SHP(2,i)*XEL(1,i) dYdQsi=dYdQsi+SHP(2,i)*XEL(2,i) ENDDO DJAC=SQRT(dXdQsi*dXdQsi+dYdQsi*dYdQsi) C C ON MULTIPLIE PAR LE RAYON EN AXI C IF (IFOU .EQ.0) THEN RAYON=0.D0 RAYON=RAYON+SHPTOT(1,IRAY,IGAU)*XEL(1,IRAY) ENDDO DJAC=DJAC*RAYON ENDIF ELSE ENDIF IF (DJAC.LT.0.0D0) THEN IRRT = 1 ELSE IF (DJAC.EQ.0.0D0) THEN IRRT = 2 ENDIF C C MATRICE B C C DO 2 I=1,NST r_z = 2.D0 * SHP(1,J) L = NDIM*(J-1) DO 4 K=1,NDIM BGENE(I,L+K) = BPSS(I,K) * r_z 4 CONTINUE 3 CONTINUE 2 CONTINUE C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales