douo88
C DOUO88 SOURCE CHAT 05/01/12 22:54:30 5004 C C======================================================================= C C MATRICE DE HOOKE DES ELEMENTS JOINTS JOI4 ET JOT3 (3D) C 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 REMARQUE : ATTENTION : DANS LES CAS CONTRAINTES PLANES, C DEFORMATIONS PLANES ET AXISYMETRIQUE, C LA MATRICE DE HOOK N'A PLUS LA DIMENSION C (3X3), MAIS (2X2). C'EST DONC LES DIMENSIONS DU CAS C BIDIMENSIONNEL. C C CECI EST UN DOUBLE DE DOHO88, MAIS AVEC LA THEORIE DE PARVIS C POUR LE CALCUL DE LA MATRICE DE TRANSFORMATION. LA MATRICE DE C ROTATION ROTHOO TRANSFORME UN VECTEUR (EN L'OCCURENCE LE VECTEUR C DEPLACEMENT) DU REPERE D'ORTHOTROPIE AU REPERE GLOBAL. IL FAUT C BIEN VOIR QUE CECI EST UNE TRANSFORMATION D'UN VECTEUR EN UN AUTRE C VECTEUR, ET NON PAS LA TRANSFORMATION D'UN TENSEUR (EX: TENSEUR C DES CONTRAINTES) EN UN AUTRE TENSEUR. C'EST DONC CETTE SUBROUTINE C QUI EST LA BONNE, CAR JE RAISONNE EN TERMES DE DEPLACEMENTS, ET C NON EN TERMES DE CONTRAINTES, DANS LE CAS DES JOINTS (cf. LA C RELATION FORCES/DEPLACEMENTS ET NON PAS CONTRAINTES/DEFORMATIONS) C C======================================================================= C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) CHARACTER*8 MATE C DIMENSION VELA(*),DDHOOK(LHOOK,*) REAL*8 D3HOO1(3,3),D3HOO2(3,3),ROTHOO(3,3) DATA DEUX/2.0D0/ C IRET=1 C C MATERIAU ISOTROPE C IF(MATE.EQ.'ISOTROPE') THEN C C CAS TRIDIMENSIONNEL C IF(IFOU.EQ.2) THEN ZK1 =VELA(1) ZK2 =VELA(1) ZK3 =VELA(2) C DDHOOK(1,1)=ZK1 DDHOOK(2,2)=ZK2 DDHOOK(3,3)=ZK3 C C CAS CONTRAINTES PLANES DANS LE PLAN (S1,N) C DEFORMATIONS PLANES DANS LE PLAN (S1,N) C AXISYMETRIE DANS LE PLAN (S1,N) C ELSE IF(IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN ZK1 =VELA(1) ZK2 =VELA(2) C DDHOOK(1,1)=ZK1 DDHOOK(2,2)=ZK2 C C OPTION NON DEFINIE C ELSE IRET=0 ENDIF C C MATERIAU ORTHOTROPE C ELSE IF(MATE.EQ.'ORTHOTRO') THEN C C CAS TRIDIMENSIONNEL C IF(IFOU.EQ.2) THEN ZK1 =VELA(1) ZK2 =VELA(2) ZK3 =VELA(3) COSA=VELA(4) SINA=VELA(5) C D3HOO1(1,1)=ZK1 D3HOO1(2,2)=ZK2 D3HOO1(3,3)=ZK3 C ROTHOO(1,1) = COSA ROTHOO(1,2) = -SINA ROTHOO(1,3) = 0.0D0 ROTHOO(2,1) = SINA ROTHOO(2,2) = COSA ROTHOO(2,3) = 0.0D0 ROTHOO(3,1) = 0.0D0 ROTHOO(3,2) = 0.0D0 ROTHOO(3,3) = 1.0D0 C C PASSAGE DANS LE REPERE DE L'ELEMENT: C DO 400 J=1,3 DO 400 I=1,3 DDHOOK(I,J) = D3HOO2(I,J) 400 CONTINUE C C OPTION NON DEFINIE C ELSE IRET=0 ENDIF C C OPTION NON DEFINIE C ELSE IRET=0 ENDIF C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales