dogo88
C DOGO88 SOURCE CHAT 05/01/12 22:53:12 5004 C C======================================================================= C C MATRICE DE HOOKE DES ELEMENTS JOINTS GENERALISE JGI2 (2D), C JGI4 ET JGT3 (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 P. PEGON 2001 d'apres DOUO88 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 UN,DEUX,UNDEMI/1.D0,2.0D0,.5D0/ C IRET=1 C---->attention, LHOOK vaut 6... C CALL ZERO(D3HOO1,LHOOK,LHOOK) C C MATERIAU ISOTROPE C IF(MATE.EQ.'ISOTROPE') THEN C YOU =VELA(1) XNU =VELA(2) C C CAS CONTRAINTES PLANES DANS LE PLAN (S1,N) C IF(IFOU.EQ.-2) THEN AUX =YOU/(UN-XNU*XNU) AUX1=AUX*XNU * DDHOOK(1,1)=(UN-XNU)*AUX*UNDEMI/EPAIST * DDHOOK(2,2)= AUX / EPAIST DDHOOK(2,3)= AUX1 * DDHOOK(3,2)= AUX1 DDHOOK(3,3)= AUX * EPAIST C C CAS DEFORMATIONS PLANES DANS LE PLAN (S1,N) C ELSE IF(IFOU.EQ.-3.OR.IFOU.EQ.-1) THEN AUX0=UN/((UN+XNU)*(UN-DEUX*XNU)) AUX =YOU*AUX0*(UN-XNU) AUX1=YOU*AUX0*XNU * DDHOOK(1,1)=YOU*UNDEMI/(UN+XNU)/EPAIST * DDHOOK(2,2)= AUX / EPAIST DDHOOK(2,3)= AUX1 DDHOOK(2,4)= AUX1 * DDHOOK(3,2)= AUX1 DDHOOK(3,3)= AUX * EPAIST DDHOOK(3,4)= AUX1 * EPAIST * DDHOOK(4,2)= AUX1 DDHOOK(4,3)= AUX1 * EPAIST DDHOOK(4,4)= AUX * EPAIST C C CAS TRIDIMENSIONNEL C ELSE IF(IFOU.EQ.2) THEN AUX0=UN/((UN+XNU)*(UN-DEUX*XNU)) AUX =YOU*AUX0*(UN-XNU) AUX1=YOU*AUX0*XNU * DDHOOK(1,1)=YOU*UNDEMI/(UN+XNU)/EPAIST * DDHOOK(2,2)=DDHOOK(1,1) * DDHOOK(3,3)= AUX / EPAIST DDHOOK(3,4)= AUX1 DDHOOK(3,5)= AUX1 * DDHOOK(4,3)= AUX1 DDHOOK(4,4)= AUX * EPAIST DDHOOK(4,5)= AUX1 * EPAIST * DDHOOK(5,3)= AUX1 DDHOOK(5,4)= AUX1 * EPAIST DDHOOK(5,5)= AUX * EPAIST * DDHOOK(6,6)=YOU*UNDEMI/(UN+XNU)*EPAIST C C OPTION NON DEFINIE C ELSE IRET=0 ENDIF C C MATERIAU ORTHOTROPE (Pour le moment rien!) C C ELSE IF(MATE.EQ.'ORTHOTRO') THEN C C CAS TRIDIMENSIONNEL C C IF(IFOU.EQ.2) THEN C ZK1 =VELA(1) C ZK2 =VELA(2) C ZK3 =VELA(3) C COSA=VELA(4) C SINA=VELA(5) C C D3HOO1(1,1)=ZK1 C D3HOO1(2,2)=ZK2 C D3HOO1(3,3)=ZK3 C C ROTHOO(1,1) = COSA C ROTHOO(1,2) = -SINA C ROTHOO(1,3) = 0.0D0 C ROTHOO(2,1) = SINA C ROTHOO(2,2) = COSA C ROTHOO(2,3) = 0.0D0 C ROTHOO(3,1) = 0.0D0 C ROTHOO(3,2) = 0.0D0 C ROTHOO(3,3) = 1.0D0 C C PASSAGE DANS LE REPERE DE L'ELEMENT: C C CALL PRODT (D3HOO2,D3HOO1,ROTHOO,3,3) C DO 400 J=1,3 C DO 400 I=1,3 C DDHOOK(I,J) = D3HOO2(I,J) C 400 CONTINUE C C OPTION NON DEFINIE C C ELSE C IRET=0 C ENDIF C C OPTION NON DEFINIE C ELSE IRET=0 ENDIF C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales