1 : C DOHMAO SOURCE CHAT 05/01/12 22:53:41 5004 2 : 3 : C======================================================================= 4 : C= D O H M A O = 5 : C= ----------- = 6 : C= = 7 : C= Fonction : = 8 : C= ---------- = 9 : C= Calcul de la matrice de Hooke (elasticite lineaire) dans le cas = 10 : C= des materiaux orthotropes et anisotropes = 11 : C= = 12 : C= Parametres : (E)=Entree (S)=Sortie = 13 : C= ------------ = 14 : C= VELA (E) Valeurs des parametres elastiques du materiau = 15 : C= MATE (E) Chaine contenant le type du materiau = 16 : C= IFOU (E) Mode de calcul (cf. IFOUR de CCOPTIO) = 17 : C= IDIM (E) Dimension du probleme (1,2,3) (cf. CCOPTIO) = 18 : C= TXR (E) Cosinus directeurs des axes LOCAUX / repere GLOBAL = 19 : C= XLOC (S) Tableau de travail contenant ... = 20 : C= XGLOB (S) Tableau de travail contenant ... = 21 : C= D1HOOK (S) Matrice de Hooke dans le repere LOCAL d'orthotropie= 22 : C= DDHOOK (S) Matrice de Hooke dans le repere GLOBAL = 23 : C= LHOOK (S) Dimension de la matrice de Hooke = 24 : C= KCAS (E) =1 si on veut la matrice de Hooke associee au mode = 25 : C= de calcul (non necessairement inversible) = 26 : C= =2 si on veut la matrice de Hooke complete pour = 27 : C= l'inverser par la suite (matrice de souplesse) = 28 : C= IRET (S) =1 si option existante , =0 sinon = 29 : C= = 30 : C= Remarque : En DIMEnsion 1, on calcule directement la matrice DDHOOK= 31 : C= ---------- car les directions d'ORTHOTROPIE correspondent a celles = 32 : C= du repere GLOBAL. = 33 : C======================================================================= 34 : 35 : SUBROUTINE DOHMAO (VELA,MATE,IFOU,IDIM,TXR,XLOC,XGLOB, 36 : . D1HOOK,ROTHOO,DDHOOK,LHOOK,KCAS,IRET) 37 : 38 : IMPLICIT INTEGER(I-N) 39 : IMPLICIT REAL*8 (A-H,O-Z) 40 : 41 : PARAMETER (XZero=0.,XUn=1.,XDeux=2.) 42 : 43 : DIMENSION VELA(*),DDHOOK(LHOOK,*),D1HOOK(LHOOK,*),ROTHOO(LHOOK,*), 44 : . TXR(IDIM,*),XLOC(IDIM,*),XGLOB(IDIM,*) 45 : CHARACTER*(*) MATE 46 : 47 : IRET=1 47 : CALL ZERO(DDHOOK,LHOOK,LHOOK) 48 : 49 : C 1 - MATERIAU ORTHOTROPE 50 : C ========================= 51 : IF (MATE.EQ.'ORTHOTRO') THEN 52 : C ===== 53 : C 1.1 - Definition de la matrice de HOOKE dans les axes d'ORTHOTROPIE 54 : C ===== 55 : C= -> Contraintes planes et KCAS=1 56 : IF (IFOU.EQ.-2.AND.KCAS.EQ.1) THEN 56 : CALL ZERO(D1HOOK,LHOOK,LHOOK) 57 : YG1=VELA(1) 58 : YG2=VELA(2) 59 : XNU12=VELA(3) 60 : XNU21=(YG2/YG1)*XNU12 61 : AUX=XUn/(XUn-XNU12*XNU21) 62 : D1HOOK(1,1)=YG1*AUX 63 : D1HOOK(2,1)=XNU21*YG1*AUX 64 : D1HOOK(1,2)=D1HOOK(2,1) 65 : D1HOOK(2,2)=YG2*AUX 66 : D1HOOK(4,4)=VELA(4) 67 : C= -> Contraintes planes et KCAS=2 68 : ELSE IF (IFOU.EQ.-2.AND.KCAS.EQ.2) THEN 68 : CALL ZERO(D1HOOK,LHOOK,LHOOK) 69 : YG1=VELA(1) 70 : YG2=VELA(2) 71 : YG3=VELA(7) 72 : XNU12=VELA(3) 73 : XNU23=VELA(8) 74 : XNU13=VELA(9) 75 : XNU21=(YG2/YG1)*XNU12 76 : XNU32=(YG3/YG2)*XNU23 77 : XNU31=(YG3/YG1)*XNU13 78 : AUX=XUn/( XUn-XNU12*XNU21-XNU23*XNU32-XNU13*XNU31 79 : . -XDeux*XNU12*XNU23*XNU31) 80 : AUX1=AUX*YG1 81 : AUX2=AUX*YG2 82 : D1HOOK(1,1)=(XUn-XNU23*XNU32)*AUX1 83 : D1HOOK(2,1)=(XNU21+XNU23*XNU31)*AUX1 84 : D1HOOK(3,1)=(XNU31+XNU32*XNU21)*AUX1 85 : D1HOOK(1,2)=D1HOOK(2,1) 86 : D1HOOK(2,2)=(XUn-XNU13*XNU31)*AUX2 87 : D1HOOK(3,2)=(XNU32+XNU31*XNU12)*AUX2 88 : D1HOOK(1,3)=D1HOOK(3,1) 89 : D1HOOK(2,3)=D1HOOK(3,2) 90 : D1HOOK(3,3)=(XUn-XNU12*XNU21)*AUX*YG3 91 : D1HOOK(4,4)=VELA(4) 92 : C= -> Deformations planes, Axisymetrie, Serie de Fourier et 3D 93 : ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-3.OR. 94 : . IFOU.EQ.0.OR.IFOU.EQ.1.OR.IFOU.EQ.2) THEN 94 : CALL ZERO(D1HOOK,LHOOK,LHOOK) 95 : YG1=VELA(1) 96 : YG2=VELA(2) 97 : YG3=VELA(3) 98 : XNU12=VELA(4) 99 : XNU23=VELA(5) 100 : XNU13=VELA(6) 101 : XNU21=(YG2/YG1)*XNU12 102 : XNU32=(YG3/YG2)*XNU23 103 : XNU31=(YG3/YG1)*XNU13 104 : AUX=XUn/( XUn-XNU12*XNU21-XNU23*XNU32-XNU13*XNU31 105 : . -XDeux*XNU12*XNU23*XNU31) 106 : AUX1=AUX*YG1 107 : AUX2=AUX*YG2 108 : D1HOOK(1,1)=(XUn-XNU23*XNU32)*AUX1 109 : D1HOOK(2,1)=(XNU21+XNU23*XNU31)*AUX1 110 : D1HOOK(3,1)=(XNU31+XNU32*XNU21)*AUX1 111 : D1HOOK(1,2)=D1HOOK(2,1) 112 : D1HOOK(2,2)=(XUn-XNU13*XNU31)*AUX2 113 : D1HOOK(3,2)=(XNU32+XNU31*XNU12)*AUX2 114 : D1HOOK(1,3)=D1HOOK(3,1) 115 : D1HOOK(2,3)=D1HOOK(3,2) 116 : D1HOOK(3,3)=(XUn-XNU12*XNU21)*AUX*YG3 117 : D1HOOK(4,4)=VELA(7) 118 : IF (IFOU.EQ.1.OR.IFOU.EQ.2) THEN 119 : D1HOOK(5,5)=VELA(9) 120 : D1HOOK(6,6)=VELA(8) 121 : ENDIF 122 : C= -> Modes de calcul 1D 123 : C= On calcule directement DDHOOK car les directions d'ORTHOTROPIE 124 : C= correspondent aux direction du repere GLOBAL 125 : ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN 126 : IF (IFOU.EQ.6.AND.KCAS.EQ.1) THEN 127 : DDHOOK(1,1)=VELA(1) 128 : ELSE IF ((IFOU.EQ.5.OR.IFOU.EQ.10.OR.IFOU.EQ.13).AND. 129 : . KCAS.EQ.1) THEN 130 : YG1=VELA(1) 131 : YG3=VELA(3) 132 : XNU13=VELA(6) 133 : XNU31=(YG3/YG1)*XNU13 134 : AUX=XUn/(XUn-XNU13*XNU31) 135 : DDHOOK(1,1)=YG1*AUX 136 : DDHOOK(3,1)=XNU13*YG3*AUX 137 : DDHOOK(1,3)=DDHOOK(3,1) 138 : DDHOOK(3,3)=YG3*AUX 139 : ELSE IF ((IFOU.EQ.4.OR.IFOU.EQ.8).AND.KCAS.EQ.1) THEN 140 : YG1=VELA(1) 141 : YG2=VELA(2) 142 : XNU12=VELA(4) 143 : XNU21=(YG2/YG1)*XNU12 144 : AUX=XUn/(XUn-XNU12*XNU21) 145 : DDHOOK(1,1)=YG1*AUX 146 : DDHOOK(2,1)=XNU21*YG1*AUX 147 : DDHOOK(1,2)=DDHOOK(2,1) 148 : DDHOOK(2,2)=YG2*AUX 149 : ELSE 150 : YG1=VELA(1) 151 : YG2=VELA(2) 152 : YG3=VELA(3) 153 : XNU12=VELA(4) 154 : XNU23=VELA(5) 155 : XNU13=VELA(6) 156 : XNU21=(YG2/YG1)*XNU12 157 : XNU32=(YG3/YG2)*XNU23 158 : XNU31=(YG3/YG1)*XNU13 159 : AUX=XUn/(XUn-XNU12*XNU21-XNU23*XNU32-XNU13*XNU31 160 : . -XDeux*XNU12*XNU23*XNU31) 161 : AUX1=AUX*YG1 162 : AUX2=AUX*YG2 163 : DDHOOK(1,1)=(XUn-XNU23*XNU32)*AUX1 164 : DDHOOK(2,1)=(XNU21+XNU23*XNU31)*AUX1 165 : DDHOOK(3,1)=(XNU31+XNU32*XNU21)*AUX1 166 : DDHOOK(1,2)=DDHOOK(2,1) 167 : DDHOOK(2,2)=(XUn-XNU13*XNU31)*AUX2 168 : DDHOOK(3,2)=(XNU32+XNU31*XNU12)*AUX2 169 : DDHOOK(1,3)=DDHOOK(3,1) 170 : DDHOOK(2,3)=DDHOOK(3,2) 171 : DDHOOK(3,3)=(XUn-XNU12*XNU21)*AUX*YG3 172 : ENDIF 173 : C= -> Cas non prevus actuellement 174 : ELSE 175 : IRET=0 176 : RETURN 177 : ENDIF 178 : C ===== 179 : C 1.2 - Definition de la matrice de passage des axes d'ORTHOTROPIE 180 : C aux axes LOCAUX au point considere (dimensions 2 et 3) 181 : C ===== 182 : IF (IDIM.EQ.2) THEN 183 : IF (IFOU.EQ.-2) THEN 184 : XLOC(1,1)=VELA(5) 185 : XLOC(2,1)=VELA(6) 186 : ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-3.OR.IFOU.EQ.0) THEN 187 : XLOC(1,1)=VELA(8) 188 : XLOC(2,1)=VELA(9) 189 : ELSE IF (IFOU.EQ.1) THEN 190 : XLOC(1,1)=VELA(10) 191 : XLOC(2,1)=VELA(11) 192 : ENDIF 193 : XLOC(1,2)=-XLOC(2,1) 194 : XLOC(2,2)=XLOC(1,1) 195 : ELSE IF (IDIM.EQ.3) THEN 196 : XLOC(1,1)=VELA(10) 197 : XLOC(2,1)=VELA(11) 198 : XLOC(3,1)=VELA(12) 199 : XLOC(1,2)=VELA(13) 200 : XLOC(2,2)=VELA(14) 201 : XLOC(3,2)=VELA(15) 201 : CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR) 202 : ENDIF 203 : 204 : C 2 - MATERIAU ANISOTROPE 205 : C ========================= 206 : ELSE IF (MATE.EQ.'ANISOTRO') THEN 207 : C ===== 208 : C 2.1 - Definition de la matrice de HOOKE dans les axes d'ANISOTROPIE 209 : C ===== 209 : CALL ZERO(D1HOOK,LHOOK,LHOOK) 210 : C= -> Contraintes planes et KCAS=1 211 : IF (IFOU.EQ.-2.AND.KCAS.EQ.1) THEN 212 : D11=VELA(1) 213 : D21=VELA(2) 214 : D22=VELA(3) 215 : D31=VELA(9) 216 : D32=VELA(10) 217 : D33=VELA(11) 218 : IF (D33.EQ.XZero) D33=D11*1.E-6 219 : D41=VELA(4) 220 : D42=VELA(5) 221 : D43=VELA(12) 222 : D44=VELA(6) 223 : D1HOOK(1,1)=D11-(D31*D31/D33) 224 : D1HOOK(2,1)=D21-(D31*D32/D33) 225 : D1HOOK(4,1)=D41-(D31*D43/D33) 226 : D1HOOK(1,2)=D1HOOK(2,1) 227 : D1HOOK(2,2)=D22-(D32*D32/D33) 228 : D1HOOK(4,2)=D42-(D32*D43/D33) 229 : D1HOOK(1,4)=D1HOOK(4,1) 230 : D1HOOK(2,4)=D1HOOK(4,2) 231 : D1HOOK(4,4)=D44-(D43*D43/D33) 232 : C= -> Contraintes planes et KCAS=2 233 : ELSE IF (IFOU.EQ.-2.AND.KCAS.EQ.2) THEN 234 : D1HOOK(1,1)=VELA(1) 235 : D1HOOK(2,1)=VELA(2) 236 : D1HOOK(3,1)=VELA(9) 237 : D1HOOK(4,1)=VELA(4) 238 : D1HOOK(1,2)=D1HOOK(2,1) 239 : D1HOOK(2,2)=VELA(3) 240 : D1HOOK(3,2)=VELA(10) 241 : D1HOOK(4,2)=VELA(5) 242 : D1HOOK(3,3)=VELA(11) 243 : D1HOOK(1,3)=D1HOOK(3,1) 244 : D1HOOK(2,3)=D1HOOK(3,2) 245 : D1HOOK(4,3)=VELA(12) 246 : D1HOOK(1,4)=D1HOOK(4,1) 247 : D1HOOK(2,4)=D1HOOK(4,2) 248 : D1HOOK(3,4)=D1HOOK(4,3) 249 : D1HOOK(4,4)=VELA(6) 250 : C= -> Deformations planes et Axisymetrie 251 : ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-3.OR.IFOU.EQ.0) THEN 252 : D1HOOK(1,1)=VELA(1) 253 : D1HOOK(2,1)=VELA(2) 254 : D1HOOK(3,1)=VELA(4) 255 : D1HOOK(4,1)=VELA(7) 256 : D1HOOK(1,2)=D1HOOK(2,1) 257 : D1HOOK(2,2)=VELA(3) 258 : D1HOOK(3,2)=VELA(5) 259 : D1HOOK(4,2)=VELA(8) 260 : D1HOOK(1,3)=D1HOOK(3,1) 261 : D1HOOK(2,3)=D1HOOK(3,2) 262 : D1HOOK(3,3)=VELA(6) 263 : D1HOOK(4,3)=VELA(9) 264 : D1HOOK(1,4)=D1HOOK(4,1) 265 : D1HOOK(2,4)=D1HOOK(4,2) 266 : D1HOOK(3,4)=D1HOOK(4,3) 267 : D1HOOK(4,4)=VELA(10) 268 : C= -> Serie de Fourier et 3D 269 : ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.2) THEN 270 : D1HOOK(1,1)=VELA(1) 271 : D1HOOK(2,1)=VELA(2) 272 : D1HOOK(3,1)=VELA(4) 273 : D1HOOK(4,1)=VELA(7) 274 : D1HOOK(1,2)=D1HOOK(2,1) 275 : D1HOOK(2,2)=VELA(3) 276 : D1HOOK(3,2)=VELA(5) 277 : D1HOOK(4,2)=VELA(8) 278 : D1HOOK(1,3)=D1HOOK(3,1) 279 : D1HOOK(2,3)=D1HOOK(3,2) 280 : D1HOOK(3,3)=VELA(6) 281 : D1HOOK(4,3)=VELA(9) 282 : D1HOOK(1,4)=D1HOOK(4,1) 283 : D1HOOK(2,4)=D1HOOK(4,2) 284 : D1HOOK(3,4)=D1HOOK(4,3) 285 : D1HOOK(4,4)=VELA(10) 286 : IF (IFOU.EQ.1) THEN 287 : D1HOOK(5,5)=VELA(11) 288 : D1HOOK(6,5)=VELA(12) 289 : D1HOOK(5,6)=D1HOOK(6,5) 290 : D1HOOK(6,6)=VELA(13) 291 : ELSE 292 : D1HOOK(5,1)=VELA(11) 293 : D1HOOK(6,1)=VELA(16) 294 : D1HOOK(5,2)=VELA(12) 295 : D1HOOK(6,2)=VELA(17) 296 : D1HOOK(5,3)=VELA(13) 297 : D1HOOK(6,3)=VELA(18) 298 : D1HOOK(5,4)=VELA(14) 299 : D1HOOK(6,4)=VELA(19) 300 : D1HOOK(1,5)=D1HOOK(5,1) 301 : D1HOOK(2,5)=D1HOOK(5,2) 302 : D1HOOK(3,5)=D1HOOK(5,3) 303 : D1HOOK(4,5)=D1HOOK(5,4) 304 : D1HOOK(5,5)=VELA(15) 305 : D1HOOK(6,5)=VELA(20) 306 : D1HOOK(1,6)=D1HOOK(6,1) 307 : D1HOOK(2,6)=D1HOOK(6,2) 308 : D1HOOK(3,6)=D1HOOK(6,3) 309 : D1HOOK(4,6)=D1HOOK(6,4) 310 : D1HOOK(5,6)=D1HOOK(6,5) 311 : D1HOOK(6,6)=VELA(21) 312 : ENDIF 313 : C= -> Cas non prevus actuellement 314 : ELSE 315 : IRET=0 316 : RETURN 317 : ENDIF 318 : C ===== 319 : C 2.2 - Definition de la matrice de passage des axes d'ANSIOTROPIE 320 : C aux axes LOCAUX au point considere (dimensions 2 et 3) 321 : C ===== 322 : IF (IDIM.EQ.2) THEN 323 : IF (IFOU.EQ.-2) THEN 324 : XLOC(1,1)=VELA(7) 325 : XLOC(2,1)=VELA(8) 326 : ELSE IF (IFOU.EQ.-3.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN 327 : XLOC(1,1)=VELA(11) 328 : XLOC(2,1)=VELA(12) 329 : ELSE IF (IFOU.EQ.1) THEN 330 : XLOC(1,1)=VELA(14) 331 : XLOC(2,1)=VELA(15) 332 : ENDIF 333 : XLOC(1,2)=-XLOC(2,1) 334 : XLOC(2,2)=XLOC(1,1) 335 : ELSE IF (IDIM.EQ.3) THEN 336 : XLOC(1,1)=VELA(22) 337 : XLOC(2,1)=VELA(23) 338 : XLOC(3,1)=VELA(24) 339 : XLOC(1,2)=VELA(25) 340 : XLOC(2,2)=VELA(26) 341 : XLOC(3,2)=VELA(27) 341 : CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR) 342 : ENDIF 343 : 344 : C 3 - MATERIAU UNIDIRECTIONNEL 345 : C ============================== 346 : ELSE IF (MATE.EQ.'UNIDIREC') THEN 347 : C ===== 348 : C 3.1 - Definition de la matrice de HOOKE dans les axes d'ANISOTROPIE 349 : C ===== 349 : CALL ZERO(D1HOOK,LHOOK,LHOOK) 350 : D1HOOK(1,1)=VELA(1) 351 : C ===== 352 : C 3.2 - Definition de la matrice de passage des axes d'ANISOTROPIE 353 : C aux axes LOCAUX au point considere (dimensions 2 et 3) 354 : C ===== 355 : IF (IDIM.EQ.2) THEN 356 : XLOC(1,1)=VELA(2) 357 : XLOC(2,1)=VELA(3) 358 : XLOC(1,2)=-XLOC(2,1) 359 : XLOC(2,2)=XLOC(1,1) 360 : ELSE IF (IDIM.EQ.3) THEN 361 : XLOC(1,1)=VELA(2) 362 : XLOC(2,1)=VELA(3) 363 : XLOC(3,1)=VELA(4) 364 : XLOC(1,2)=VELA(5) 365 : XLOC(2,2)=VELA(6) 366 : XLOC(3,2)=VELA(7) 366 : CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR) 367 : ENDIF 368 : 369 : C 4 - MATERIAUX NON PREVUS 370 : C ========================== 371 : ELSE 372 : IRET=0 373 : RETURN 374 : ENDIF 375 : 376 : C 5 - DEFINITION DE LA MATRICE DE PASSAGE DES AXES 377 : C D'ORTHO/ANISOTROPIE AUX AXES DU REPERE GLOBAL 378 : C =================================================== 379 : IF (IDIM.EQ.1) RETURN 379 : CALL ZERO(XGLOB,IDIM,IDIM) 379 : CALL ZERO(ROTHOO,LHOOK,LHOOK) 380 : DO j=1,IDIM 381 : DO k=1,IDIM 382 : cc=XZero 383 : DO i=1,IDIM 384 : cc=cc+TXR(j,i)*XLOC(i,k) 385 : ENDDO 386 : XGLOB(k,j)=cc 387 : ENDDO 388 : ENDDO 389 : IF (IDIM.EQ.2) THEN 390 : ROTHOO(1,1)=XGLOB(1,1)*XGLOB(1,1) 391 : ROTHOO(2,1)=XGLOB(2,1)*XGLOB(2,1) 392 : ROTHOO(4,1)=XDeux*XGLOB(1,1)*XGLOB(2,1) 393 : ROTHOO(1,2)=XGLOB(1,2)*XGLOB(1,2) 394 : ROTHOO(2,2)=XGLOB(2,2)*XGLOB(2,2) 395 : ROTHOO(4,2)=XDeux*XGLOB(1,2)*XGLOB(2,2) 396 : ROTHOO(3,3)=XUn 397 : ROTHOO(1,4)=XGLOB(1,1)*XGLOB(1,2) 398 : ROTHOO(2,4)=XGLOB(2,1)*XGLOB(2,2) 399 : ROTHOO(4,4)=XGLOB(1,2)*XGLOB(2,1)+XGLOB(1,1)*XGLOB(2,2) 400 : IF (IFOU.EQ.1) THEN 401 : ROTHOO(5,5)=XGLOB(1,1) 402 : ROTHOO(6,5)=XGLOB(2,1) 403 : ROTHOO(5,6)=XGLOB(1,2) 404 : ROTHOO(6,6)=XGLOB(2,2) 405 : ENDIF 406 : ELSE IF (IDIM.EQ.3) THEN 407 : IF (LHOOK.LT.6) THEN 408 : IRET=0 409 : RETURN 410 : ENDIF 411 : DO i=1,3 412 : ROTHOO(1,i)=XGLOB(1,i)*XGLOB(1,i) 413 : ROTHOO(2,i)=XGLOB(2,i)*XGLOB(2,i) 414 : ROTHOO(3,i)=XGLOB(3,i)*XGLOB(3,i) 415 : ROTHOO(i,4)=XGLOB(i,1)*XGLOB(i,2) 416 : ROTHOO(i,5)=XGLOB(i,2)*XGLOB(i,3) 417 : ROTHOO(i,6)=XGLOB(i,1)*XGLOB(i,3) 418 : ROTHOO(4,i)=XDeux*XGLOB(1,i)*XGLOB(2,i) 419 : ROTHOO(5,i)=XDeux*XGLOB(2,i)*XGLOB(3,i) 420 : ROTHOO(6,i)=XDeux*XGLOB(1,i)*XGLOB(3,i) 421 : ENDDO 422 : DO j=4,6 423 : j1=j-3 424 : j2=j1+1 425 : IF (j2.GT.3) j2=j2-3 426 : DO i=4,6 427 : i1=i-3 428 : i2=i1+1 429 : IF (i2.GT.3) i2=i2-3 430 : ROTHOO(i,j)= XGLOB(i1,j1)*XGLOB(i2,j2) 431 : . +XGLOB(i1,j2)*XGLOB(i2,j1) 432 : ENDDO 433 : ENDDO 434 : DO i=1,6 435 : AA=ROTHOO(6,i) 436 : ROTHOO(6,i)=ROTHOO(5,i) 437 : ROTHOO(5,i)=AA 438 : ENDDO 439 : DO i=1,6 440 : AA=ROTHOO(i,6) 441 : ROTHOO(i,6)=ROTHOO(i,5) 442 : ROTHOO(i,5)=AA 443 : ENDDO 444 : ENDIF 445 : 446 : C 6 - CALCUL DE LA MATRICE DE HOOKE DANS LE REPERE GLOBAL 447 : C ========================================================= 447 : CALL PRODT(DDHOOK,D1HOOK,ROTHOO,LHOOK,LHOOK) 448 : 449 : RETURN 450 : END 451 : 452 : 453 :
© Cast3M 2003 - All rights reserved.
Disclaimer