1 : C DOHDST SOURCE CHAT 05/01/12 22:53:30 5004
2 : SUBROUTINE DOHDST(VELA,MATE,IFOU,LHOOK,DDHOOK,IRET)
3 : C
4 : C=======================================================================
5 : C
6 : C MATRICE DE HOOKE DES COQUES MINCES AVEC CISAILLEMENT TRANSVERSE
7 : C POUR L'ELEMENT DST
8 : C ENTREES
9 : C VELA() = materiau dans un tableau de travail
10 : C MATE = Nom du materiau
11 : C IFOU = num{ro d'harmonique de fourier: IFOUR de CCOPTIO
12 : C LHOOK = taille de la matrice de hooke
13 : C
14 : C SORTIES
15 : C DDHOOK(LHOOK,LHOOK) = matrice de hooke
16 : C IRET = 1 si option existante 0 SINON
17 : C
18 : C=======================================================================
19 : C
20 : IMPLICIT INTEGER(I-N)
21 : IMPLICIT REAL*8(A-H,O-Z)
22 : PARAMETER(UNDEMI=.5D0,XZER=0.0D0,XK=1.2D0)
23 : PARAMETER(UN=1.D0,DEUX=2.D0)
24 : CHARACTER*8 MATE
25 : C
26 : DIMENSION VELA(*),DDHOOK(LHOOK,*)
27 : C
28 : IRET=1
28 : CALL ZERO(DDHOOK,LHOOK,LHOOK)
29 : C
30 : C MATERIAU ISOTROPE
31 : C
32 : IF(MATE.EQ.'ISOTROPE') THEN
33 : C
34 : C CAS TRIDIMENSIONNEL
35 : C
36 : IF(IFOU.EQ.2) THEN
37 : YOU =VELA(1)
38 : XNU =VELA(2)
39 : AUX=YOU/(UN-XNU*XNU)
40 : AUX1=AUX*XNU
41 : GEGE=YOU*UNDEMI/(UN+XNU)
42 : C
43 : DDHOOK(1,1)=AUX
44 : DDHOOK(2,1)=AUX1
45 : DDHOOK(1,2)=AUX1
46 : DDHOOK(2,2)=AUX
47 : DDHOOK(3,3)=GEGE
48 : C
49 : DDHOOK(4,4)=AUX
50 : DDHOOK(5,4)=AUX1
51 : DDHOOK(4,5)=AUX1
52 : DDHOOK(5,5)=AUX
53 : DDHOOK(6,6)=GEGE
54 : C
55 : DDHOOK(7,7)=GEGE/XK
56 : DDHOOK(8,8)=GEGE/XK
57 : ELSE
58 : IRET=0
59 : ENDIF
60 : C
61 : C MATERIAU ORTHOTROPE OU UNIDIRECTIONNEL
62 : C
63 : ELSE IF(MATE.EQ.'ORTHOTRO'.OR.
64 : 1 MATE.EQ.'UNIDIREC')THEN
65 : C
66 : C CAS TRIDIMENSIONNEL
67 : C
68 : IF(IFOU.EQ.2)THEN
69 : C
70 : IF(MATE.EQ.'ORTHOTRO')THEN
71 : YG1 = VELA(1)
72 : YG2 = VELA(2)
73 : XNU12 = VELA(3)
74 : G12 = VELA(4)
75 : G23 = VELA(5)
76 : G13 = VELA(6)
77 : C
78 : X1NUNU = UN - (XNU12**2) * YG2 / YG1
79 : DDHOOK(1,1) = YG1 / X1NUNU
80 : DDHOOK(2,2) = YG2 / X1NUNU
81 : DDHOOK(1,2) = XNU12 * DDHOOK(2,2)
82 : DDHOOK(2,1) = DDHOOK(1,2)
83 : DDHOOK(3,3) = G12
84 : DDHOOK(1,3) = XZER
85 : DDHOOK(2,3) = XZER
86 : DDHOOK(3,1) = XZER
87 : DDHOOK(3,2) = XZER
88 : C
89 : DO 100 IC=1,3
90 : IC3=IC+3
91 : DO 100 IL=1,3
92 : IL3=IL+3
93 : DDHOOK(IL3,IC3)=DDHOOK(IL,IC)
94 : 100 CONTINUE
95 : DDHOOK(7,7) = G13/XK
96 : DDHOOK(8,8) = G23/XK
97 : ELSE
98 : DDHOOK(1,1)=VELA(1)
99 : DDHOOK(4,4)=VELA(1)
100 : ENDIF
101 : ELSE
102 : IRET=0
103 : ENDIF
104 : ELSE
105 : IRET=0
106 : ENDIF
107 : RETURN
108 : END
109 :
© Cast3M 2003 - All rights reserved.
Disclaimer