dohdst
C DOHDST SOURCE CHAT 05/01/12 22:53:30 5004 C C======================================================================= C C MATRICE DE HOOKE DES COQUES MINCES AVEC CISAILLEMENT TRANSVERSE C POUR L'ELEMENT DST C ENTREES C VELA() = materiau dans un tableau de travail C MATE = Nom du materiau C IFOU = num{ro d'harmonique de fourier: IFOUR de CCOPTIO C LHOOK = taille de la matrice de hooke C C SORTIES C DDHOOK(LHOOK,LHOOK) = matrice de hooke C IRET = 1 si option existante 0 SINON C C======================================================================= C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) PARAMETER(UNDEMI=.5D0,XZER=0.0D0,XK=1.2D0) PARAMETER(UN=1.D0,DEUX=2.D0) CHARACTER*8 MATE C DIMENSION VELA(*),DDHOOK(LHOOK,*) C IRET=1 C C MATERIAU ISOTROPE C IF(MATE.EQ.'ISOTROPE') THEN C C CAS TRIDIMENSIONNEL C IF(IFOU.EQ.2) THEN YOU =VELA(1) XNU =VELA(2) AUX=YOU/(UN-XNU*XNU) AUX1=AUX*XNU GEGE=YOU*UNDEMI/(UN+XNU) C DDHOOK(1,1)=AUX DDHOOK(2,1)=AUX1 DDHOOK(1,2)=AUX1 DDHOOK(2,2)=AUX DDHOOK(3,3)=GEGE C DDHOOK(4,4)=AUX DDHOOK(5,4)=AUX1 DDHOOK(4,5)=AUX1 DDHOOK(5,5)=AUX DDHOOK(6,6)=GEGE C DDHOOK(7,7)=GEGE/XK DDHOOK(8,8)=GEGE/XK ELSE IRET=0 ENDIF C C MATERIAU ORTHOTROPE OU UNIDIRECTIONNEL C ELSE IF(MATE.EQ.'ORTHOTRO'.OR. 1 MATE.EQ.'UNIDIREC')THEN C C CAS TRIDIMENSIONNEL C IF(IFOU.EQ.2)THEN C IF(MATE.EQ.'ORTHOTRO')THEN YG1 = VELA(1) YG2 = VELA(2) XNU12 = VELA(3) G12 = VELA(4) G23 = VELA(5) G13 = VELA(6) C X1NUNU = UN - (XNU12**2) * YG2 / YG1 DDHOOK(1,1) = YG1 / X1NUNU DDHOOK(2,2) = YG2 / X1NUNU DDHOOK(1,2) = XNU12 * DDHOOK(2,2) DDHOOK(2,1) = DDHOOK(1,2) DDHOOK(3,3) = G12 DDHOOK(1,3) = XZER DDHOOK(2,3) = XZER DDHOOK(3,1) = XZER DDHOOK(3,2) = XZER C DO 100 IC=1,3 IC3=IC+3 DO 100 IL=1,3 IL3=IL+3 DDHOOK(IL3,IC3)=DDHOOK(IL,IC) 100 CONTINUE DDHOOK(7,7) = G13/XK DDHOOK(8,8) = G23/XK ELSE DDHOOK(1,1)=VELA(1) DDHOOK(4,4)=VELA(1) ENDIF ELSE IRET=0 ENDIF ELSE IRET=0 ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales