C BJO3 SOURCE CHAT 05/01/12 21:40:29 5004 SUBROUTINE BJO3(IGAU,MFR,IFOU,NIFOU,XEL,BPSS,SHPTOT,SHP, . BGENE,DJAC,IRRT) C======================================================================= C C CALCUL DE LA MATRICE B = TETA * ( N , -N ) C ET DU JACOBIEN EN IGAU POUR UN JOINT 2D C ROUTINE FORTRAN PUR C Pierre Pegon (ISPRA) 28/10/93 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 BPSS(,) = AXE S1 C BPSS(,) = AXE SN 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 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 CONSTANTES C NBNO = NOMBRE DE NOEUDS C LRE = NOMBRE DE COLONNES DE LA MATRICE B C NST = NOMBRE DE COMPOSANTES DE CONTRAINTES C C REMARQUE : CE SOUS-PROGRAMME EST VALABLE EN CONTRAINTES PLANES, C DEFORMATIONS PLANES ET AXISYMETRIQUES. LA MATRICE C BGENE = TETA ( Ntop , - Nbot ) C EST UNE MATRICE (2x12). EN EFFET, TETA EST UNE MATRICE C (2x2), ET ( Ntop , - Nbot ) EST UNE MATRICE (2x12). C LA MATRICE TETA EST ICI APPELEE BPSS. C C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) PARAMETER (LRE=12,NST=2,NBNO=6) DIMENSION XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*) DIMENSION BPSS(3,3) C IRRT = 0 C C JACOBIEN C DO 1 I=1,NBNO SHP(1,I) = SHPTOT(1,I,IGAU) SHP(2,I) = SHPTOT(2,I,IGAU) 1 CONTINUE C NBNONN=NBNO/2 CALL DEVOLU(XEL,SHP,MFR,NBNONN,IFOU,NIFOU,86,1.D0,RR,DJAC) C IF (DJAC.EQ.0.0D0) THEN IRRT = 2 ENDIF C C MATRICE B ATTENTION AU RESPECT DE LA NUMEROTATION LOCALE C DES NOEUDS !!! C CALL ZERO(BGENE,NST,LRE) DO 2 I=1,2 DO 3 J=1,3 DO 4 K=1,2 L=2*(J-1)+K C CE N'EST PAS M=L+6 .... M=L+2*(2*(3-J)+1) BGENE(I,L)=BPSS(I,K)*SHP(1,J) BGENE(I,M)=-BGENE(I,L) 4 CONTINUE 3 CONTINUE 2 CONTINUE C RETURN END