1 : C BJO4 SOURCE CHAT 05/01/12 21:40:36 5004 2 : SUBROUTINE BJO4(IGAU,XEL,BPSS,SHPTOT,SHP,BGENE,DJAC,IRRT) 3 : C======================================================================= 4 : C 5 : C CALCUL DE LA MATRICE B = TETA * ( N , -N ) 6 : C ET DU JACOBIEN EN IGAU 7 : C ROUTINE FORTRAN PUR 8 : C CODE S. FELIX MAI 92 9 : C======================================================================= 10 : C INPUT 11 : C IGAU = NUMERO DU POINT DE GAUSS 12 : C XEL = COORDONNEES DES NOEUDS DE L'ELEMENT 13 : C BPSS = MATRICE DE PASSAGE 14 : C BPSS(,) = AXE S1 15 : C BPSS(,) = AXE S2 16 : C BPSS(,) = AXE SN 17 : C SHPTOT= FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE DE REFERENCE 18 : C SHPTOT(1, ) = FONCTION DE FORME 19 : C SHPTOT(2, ) = DERIVEES PAR RAPPORT A QSI 20 : C SHPTOT(3, ) = DERIVEES PAR RAPPORT A ETA 21 : C OUTPUT 22 : C SHP = FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE GEOMETRIQUE 23 : C SHP(1, ) = FONCTION DE FORME 24 : C SHP(2, ) = DERIVEES PAR RAPPORT A X LOCAL 25 : C SHP(3, ) = DERIVEES PAR RAPPORT A Y LOCAL 26 : C DJAC = JACOBIEN AU POINT D'INTEGRATION IGAU 27 : C BGENE = MATRICE B AU POINT D'INTEGRATION IGAU 28 : C IRRT = DIFFERENT DE ZERO SI ERREUR 29 : C CONSTANTES 30 : C NBNO = NOMBRE DE NOEUDS 31 : C LRE = NOMBRE DE COLONNES DE LA MATRICE B 32 : C NST = NOMBRE DE COMPOSANTES DE CONTRAINTES 33 : C 34 : C REMARQUE : ATTENTION : DANS LES CAS CONTRAINTES PLANES ET 35 : C AXISYMETRIQUE, LA MATRICE BPSS ( RESPECTIVEMENT BGENE ) 36 : C N'A PLUS LA DIMENSION (3X3) ( RESPECTIVEMENT (3X24) ). 37 : C TROUVER LEURS DIMENSIONS CORRECTES ET MODIFIER LES 38 : C PARAMETRES LRE, NST, NBNO. CEUX CI CORRESPONDRONT A 39 : C CEUX DU CAS BIDIMENSIONNELS. AINSI PAR EXEMPLE, NBNO 40 : C SERA EGAL A 4, NST SERA EGAL A 2 ETC ... 41 : C 42 : C======================================================================= 43 : IMPLICIT INTEGER(I-N) 44 : IMPLICIT REAL*8(A-H,O-Z) 45 : PARAMETER (LRE=24,NST=3,NBNO=8) 46 : DIMENSION XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*) 47 : DIMENSION BPSS(3,3) 48 : C 49 : IRRT = 0 50 : C 51 : C MATRICE JACOBIENNE 52 : C 53 : DO 1 I=1,NBNO 54 : SHP(1,I) = SHPTOT(1,I,IGAU) 55 : SHP(2,I) = SHPTOT(2,I,IGAU) 56 : SHP(3,I) = SHPTOT(3,I,IGAU) 57 : 1 CONTINUE 58 : C 59 : C !!!!!! ATTENTION : IL FAUT CALCULER LE JACOBIEN AVEC NBNO=4 !!!!!! 60 : C IL NE FAUT SURTOUT PAS METTRE NBNO=8 CAR CA FAUSSE ALORS 61 : C LES RESULTATS ... NBNO DOIT ETRE EGAL A 8 CAR IL YA 8 NOEUDS 62 : C 63 : NBNONN=NBNO/2 63 : CALL JACOBI(XEL,SHP,2,NBNONN,DJAC) 64 : IF (DJAC.LT.0.0D0) THEN 65 : IRRT = 1 66 : ELSE IF (DJAC.EQ.0.0D0) THEN 67 : IRRT = 2 68 : ENDIF 69 : C 70 : C MATRICE B 71 : C 71 : CALL ZERO(BGENE,NST,LRE) 72 : DO 2 I=1,3 73 : DO 3 J=1,4 74 : DO 4 K=1,3 75 : L=3*(J-1)+K 76 : M=L+12 77 : BGENE(I,L)=BPSS(I,K)*SHP(1,J) 78 : BGENE(I,M)=-BGENE(I,L) 79 : 4 CONTINUE 80 : 3 CONTINUE 81 : 2 CONTINUE 82 : C 83 : RETURN 84 : END 85 :
© Cast3M 2003 - All rights reserved.
Disclaimer