1 : C BJO4G SOURCE CHAT 05/01/12 21:40:39 5004
2 : SUBROUTINE BJO4G(IGAU,XE,XEL,BPSS,SHPTOT,SHP,EPAIST,BGENE,DJAC
3 : . ,IRRT)
4 : C=======================================================================
5 : C
6 : C CALCUL DE LA MATRICE B = TETA * ( N , -N )
7 : C ET DU JACOBIEN EN IGAU
8 : C ROUTINE FORTRAN PUR
9 : C P. PEGON 2001 d'apres CODE S. FELIX MAI 92
10 : C=======================================================================
11 : C INPUT
12 : C IGAU = NUMERO DU POINT DE GAUSS
13 : C XEL = COORDONNEES DES NOEUDS DE L'ELEMENT
14 : C BPSS = MATRICE DE PASSAGE
15 : C BPSS(,) = AXE S1
16 : C BPSS(,) = AXE S2
17 : C BPSS(,) = AXE SN
18 : C SHPTOT= FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE DE REFERENCE
19 : C SHPTOT(1, ) = FONCTION DE FORME
20 : C SHPTOT(2, ) = DERIVEES PAR RAPPORT A QSI
21 : C SHPTOT(3, ) = DERIVEES PAR RAPPORT A ETA
22 : C OUTPUT
23 : C SHP = FONCTIONS DE FORME ET DERIVEES DANS L'ESPACE GEOMETRIQUE
24 : C SHP(1, ) = FONCTION DE FORME
25 : C SHP(2, ) = DERIVEES PAR RAPPORT A X LOCAL
26 : C SHP(3, ) = DERIVEES PAR RAPPORT A Y LOCAL
27 : C DJAC = JACOBIEN AU POINT D'INTEGRATION IGAU
28 : C BGENE = MATRICE B AU POINT D'INTEGRATION IGAU
29 : C IRRT = DIFFERENT DE ZERO SI ERREUR
30 : C CONSTANTES
31 : C NBNO = NOMBRE DE NOEUDS
32 : C LRE = NOMBRE DE COLONNES DE LA MATRICE B ("IDIM*NBNO")
33 : C NST = NOMBRE DE COMPOSANTES DE CONTRAINTES
34 : C
35 : C REMARQUE : ATTENTION : DANS LES CAS CONTRAINTES PLANES ET
36 : C AXISYMETRIQUE, LA MATRICE BPSS ( RESPECTIVEMENT BGENE )
37 : C N'A PLUS LA DIMENSION (3X3) ( RESPECTIVEMENT (3X24) ).
38 : C TROUVER LEURS DIMENSIONS CORRECTES ET MODIFIER LES
39 : C PARAMETRES LRE, NST, NBNO. CEUX CI CORRESPONDRONT A
40 : C CEUX DU CAS BIDIMENSIONNELS. AINSI PAR EXEMPLE, NBNO
41 : C SERA EGAL A 4, NST SERA EGAL A 2 ETC ...
42 : C
43 : C=======================================================================
44 : IMPLICIT INTEGER(I-N)
45 : IMPLICIT REAL*8(A-H,O-Z)
46 : PARAMETER (LRE=24,NST=6,NBNO=8)
47 : CcPPj DIMENSION XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*)
48 : DIMENSION XE(3,*),XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*)
49 : DIMENSION BPSS(3,3)
50 : C
51 : IRRT = 0
52 : C
53 : C MATRICE JACOBIENNE
54 : C
55 : DO 1 I=1,NBNO
56 : SHP(1,I) = SHPTOT(1,I,IGAU)
57 : SHP(2,I) = SHPTOT(2,I,IGAU)
58 : SHP(3,I) = SHPTOT(3,I,IGAU)
59 : 1 CONTINUE
60 : C
61 : NBNONN=NBNO/2
61 : CALL JACOBI(XEL,SHP,2,NBNONN,DJAC)
62 : IF (DJAC.LT.0.0D0) THEN
63 : IRRT = 1
64 : ELSE IF (DJAC.EQ.0.0D0) THEN
65 : IRRT = 2
66 : ENDIF
67 : C
68 : C MATRICE B ---> joint "standard"
69 : C
69 : CALL ZERO(BGENE,NST,LRE)
70 : DO 2 I=1,3
71 : DO 3 J=1,4
72 : DO 4 K=1,3
73 : L=3*(J-1)+K
74 : M=L+12
75 : BGENE(I,L)=BPSS(I,K)*SHP(1,J)
76 : BGENE(I,M)=-BGENE(I,L)
77 : 4 CONTINUE
78 : 3 CONTINUE
79 : 2 CONTINUE
80 : CpPPj
81 : C
82 : C DETERMINATION DE L'EPAISSEUR EN CAS DE BESOIN
83 : C (on utilise BGENE(3,.) pour l'ouverture)
84 : C
85 : IF(EPAIST.EQ.0.D+0)THEN
86 : DO I=1,NBNO
87 : J=3*(I-1)
88 : DO K=1,3
89 : EPAIST=EPAIST+BGENE(3,J+K)*XE(K,I)
90 : ENDDO
91 : ENDDO
92 : ENDIF
93 : IF(EPAIST.LE.0.D+0)THEN
94 : IRRT = 10
95 : ENDIF
96 : CpPPj
97 : C
98 : C MATRICE B ---> complement pour le cisaillement
99 : C
100 : DO I=1,2
101 : DO J=1,4
102 : DO K=1,3
103 : L=3*(J-1)+K
104 : M=L+12
105 : AAAA=0.5D0*BPSS(3,K)*SHP(I+1,J)*EPAIST
106 : BGENE(I,L)=BGENE(I,L)+AAAA
107 : BGENE(I,M)=BGENE(I,M)+AAAA
108 : ENDDO
109 : ENDDO
110 : ENDDO
111 : C
112 : C MATRICE B ---> composante de deformation axiales dans le plan
113 : C
114 : DO I=1,2
115 : DO J=1,4
116 : DO K=1,3
117 : L=3*(J-1)+K
118 : M=L+12
119 : BGENE(I+3,L)=0.5D0*BPSS(I,K)*SHP(I+1,J)
120 : BGENE(I+3,M)=BGENE(I+3,L)
121 : ENDDO
122 : ENDDO
123 : ENDDO
124 : C
125 : C MATRICE B ---> composante de cisaillement (gamma) dans le plan
126 : C
127 : DO J=1,4
128 : DO K=1,3
129 : L=3*(J-1)+K
130 : M=L+12
131 : BGENE(6,L)=0.5D0*BPSS(1,K)*SHP(2+1,J)
132 : > +0.5D0*BPSS(2,K)*SHP(1+1,J)
133 : BGENE(6,M)=BGENE(6,L)
134 : ENDDO
135 : ENDDO
136 : C
137 : RETURN
138 : END
139 :
140 :
© Cast3M 2003 - All rights reserved.
Disclaimer