1 : C DOGO88 SOURCE CHAT 05/01/12 22:53:12 5004
2 : SUBROUTINE DOGO88(VELA,MATE,EPAIST,IFOU,LHOOK,DDHOOK,IRET)
3 : C
4 : C=======================================================================
5 : C
6 : C MATRICE DE HOOKE DES ELEMENTS JOINTS GENERALISE JGI2 (2D),
7 : C JGI4 ET JGT3 (3D)
8 : C
9 : C ENTREES
10 : C VELA() = materiau dans un tableau de travail
11 : C MATE = Nom du materiau
12 : C IFOU = num{ro d'harmonique de fourier: IFOUR de CCOPTIO
13 : C LHOOK = taille de la matrice de hooke
14 : C
15 : C SORTIES
16 : C DDHOOK(LHOOK,LHOOK) = matrice de hooke
17 : C IRET = 1 si option existante 0 SINON
18 : C
19 : C REMARQUE : ATTENTION : DANS LES CAS CONTRAINTES PLANES,
20 : C DEFORMATIONS PLANES ET AXISYMETRIQUE,
21 : C LA MATRICE DE HOOK N'A PLUS LA DIMENSION
22 : C (3X3), MAIS (2X2). C'EST DONC LES DIMENSIONS DU CAS
23 : C BIDIMENSIONNEL.
24 : C
25 : C CECI EST UN DOUBLE DE DOHO88, MAIS AVEC LA THEORIE DE PARVIS
26 : C POUR LE CALCUL DE LA MATRICE DE TRANSFORMATION. LA MATRICE DE
27 : C ROTATION ROTHOO TRANSFORME UN VECTEUR (EN L'OCCURENCE LE VECTEUR
28 : C DEPLACEMENT) DU REPERE D'ORTHOTROPIE AU REPERE GLOBAL. IL FAUT
29 : C BIEN VOIR QUE CECI EST UNE TRANSFORMATION D'UN VECTEUR EN UN AUTRE
30 : C VECTEUR, ET NON PAS LA TRANSFORMATION D'UN TENSEUR (EX: TENSEUR
31 : C DES CONTRAINTES) EN UN AUTRE TENSEUR. C'EST DONC CETTE SUBROUTINE
32 : C QUI EST LA BONNE, CAR JE RAISONNE EN TERMES DE DEPLACEMENTS, ET
33 : C NON EN TERMES DE CONTRAINTES, DANS LE CAS DES JOINTS (cf. LA
34 : C RELATION FORCES/DEPLACEMENTS ET NON PAS CONTRAINTES/DEFORMATIONS)
35 : C
36 : C P. PEGON 2001 d'apres DOUO88
37 : C=======================================================================
38 : C
39 : IMPLICIT INTEGER(I-N)
40 : IMPLICIT REAL*8(A-H,O-Z)
41 : CHARACTER*8 MATE
42 : C
43 : DIMENSION VELA(*),DDHOOK(LHOOK,*)
44 : REAL*8 D3HOO1(3,3),D3HOO2(3,3),ROTHOO(3,3)
45 : DATA UN,DEUX,UNDEMI/1.D0,2.0D0,.5D0/
46 : C
47 : IRET=1
47 : CALL ZERO(DDHOOK,LHOOK,LHOOK)
48 : C---->attention, LHOOK vaut 6...
48 : C CALL ZERO(D3HOO1,LHOOK,LHOOK)
49 : C
50 : C MATERIAU ISOTROPE
51 : C
52 : IF(MATE.EQ.'ISOTROPE') THEN
53 : C
54 : YOU =VELA(1)
55 : XNU =VELA(2)
56 : C
57 : C CAS CONTRAINTES PLANES DANS LE PLAN (S1,N)
58 : C
59 : IF(IFOU.EQ.-2) THEN
60 : AUX =YOU/(UN-XNU*XNU)
61 : AUX1=AUX*XNU
62 : *
63 : DDHOOK(1,1)=(UN-XNU)*AUX*UNDEMI/EPAIST
64 : *
65 : DDHOOK(2,2)= AUX / EPAIST
66 : DDHOOK(2,3)= AUX1
67 : *
68 : DDHOOK(3,2)= AUX1
69 : DDHOOK(3,3)= AUX * EPAIST
70 : C
71 : C CAS DEFORMATIONS PLANES DANS LE PLAN (S1,N)
72 : C
73 : ELSE IF(IFOU.EQ.-3.OR.IFOU.EQ.-1) THEN
74 : AUX0=UN/((UN+XNU)*(UN-DEUX*XNU))
75 : AUX =YOU*AUX0*(UN-XNU)
76 : AUX1=YOU*AUX0*XNU
77 : *
78 : DDHOOK(1,1)=YOU*UNDEMI/(UN+XNU)/EPAIST
79 : *
80 : DDHOOK(2,2)= AUX / EPAIST
81 : DDHOOK(2,3)= AUX1
82 : DDHOOK(2,4)= AUX1
83 : *
84 : DDHOOK(3,2)= AUX1
85 : DDHOOK(3,3)= AUX * EPAIST
86 : DDHOOK(3,4)= AUX1 * EPAIST
87 : *
88 : DDHOOK(4,2)= AUX1
89 : DDHOOK(4,3)= AUX1 * EPAIST
90 : DDHOOK(4,4)= AUX * EPAIST
91 : C
92 : C CAS TRIDIMENSIONNEL
93 : C
94 : ELSE IF(IFOU.EQ.2) THEN
95 : AUX0=UN/((UN+XNU)*(UN-DEUX*XNU))
96 : AUX =YOU*AUX0*(UN-XNU)
97 : AUX1=YOU*AUX0*XNU
98 : *
99 : DDHOOK(1,1)=YOU*UNDEMI/(UN+XNU)/EPAIST
100 : *
101 : DDHOOK(2,2)=DDHOOK(1,1)
102 : *
103 : DDHOOK(3,3)= AUX / EPAIST
104 : DDHOOK(3,4)= AUX1
105 : DDHOOK(3,5)= AUX1
106 : *
107 : DDHOOK(4,3)= AUX1
108 : DDHOOK(4,4)= AUX * EPAIST
109 : DDHOOK(4,5)= AUX1 * EPAIST
110 : *
111 : DDHOOK(5,3)= AUX1
112 : DDHOOK(5,4)= AUX1 * EPAIST
113 : DDHOOK(5,5)= AUX * EPAIST
114 : *
115 : DDHOOK(6,6)=YOU*UNDEMI/(UN+XNU)*EPAIST
116 : C
117 : C OPTION NON DEFINIE
118 : C
119 : ELSE
120 : IRET=0
121 : ENDIF
122 : C
123 : C MATERIAU ORTHOTROPE (Pour le moment rien!)
124 : C
125 : C ELSE IF(MATE.EQ.'ORTHOTRO') THEN
126 : C
127 : C CAS TRIDIMENSIONNEL
128 : C
129 : C IF(IFOU.EQ.2) THEN
130 : C ZK1 =VELA(1)
131 : C ZK2 =VELA(2)
132 : C ZK3 =VELA(3)
133 : C COSA=VELA(4)
134 : C SINA=VELA(5)
135 : C
136 : C D3HOO1(1,1)=ZK1
137 : C D3HOO1(2,2)=ZK2
138 : C D3HOO1(3,3)=ZK3
139 : C
140 : C ROTHOO(1,1) = COSA
141 : C ROTHOO(1,2) = -SINA
142 : C ROTHOO(1,3) = 0.0D0
143 : C ROTHOO(2,1) = SINA
144 : C ROTHOO(2,2) = COSA
145 : C ROTHOO(2,3) = 0.0D0
146 : C ROTHOO(3,1) = 0.0D0
147 : C ROTHOO(3,2) = 0.0D0
148 : C ROTHOO(3,3) = 1.0D0
149 : C
150 : C PASSAGE DANS LE REPERE DE L'ELEMENT:
151 : C
151 : C CALL PRODT (D3HOO2,D3HOO1,ROTHOO,3,3)
152 : C DO 400 J=1,3
153 : C DO 400 I=1,3
154 : C DDHOOK(I,J) = D3HOO2(I,J)
155 : C 400 CONTINUE
156 : C
157 : C OPTION NON DEFINIE
158 : C
159 : C ELSE
160 : C IRET=0
161 : C ENDIF
162 : C
163 : C OPTION NON DEFINIE
164 : C
165 : ELSE
166 : IRET=0
167 : ENDIF
168 : C
169 : RETURN
170 : END
171 :
172 :
173 :
174 :
© Cast3M 2003 - All rights reserved.
Disclaimer