hookor
C HOOKOR SOURCE BP208322 17/03/01 21:17:37 9325 + MELE,NPINT,IFOU,KCAS,NBGMAT,NELMAT,SECT,LHOOK, + TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,DDHOOK, + COBMA,XMOB,IRET) C C---------------------------------------------------------------------- C C Calcul de la matrice de HOOKE dans le cas d'un C matériau orthotrope C C Entrees: C -------- C VALMAT tableau de materiau C IB numero de l'element C IGAU numero du point de Gauss C MFR numero de formulation C EXCEN excentrement (coques minces avec ou sans cisail. transv) C EPAIST epaisseur (coques minces avec ou sans cisail. transv) C MELE numero de l'element fini C NPINT coque integree ou non C IFOU numero d'harmonique de Fourier C KCAS = 1 si on veut la matrice pour elle-meme C = 2 si on veut la matrice pour l'inverser ensuite C NBGMAT, NELMAT tailles des tableaux C SECT SECTION DE L'ELEMENT IB (<> 0 SI MFR.EQ.27) C LHOOK taille de la matrice de HOOKE C TXR,XLOC,XGLOB,D1HOOK,ROTHOO tableaux de travail C C Sorties: C -------- C DDHOOK 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(UN=1.D0,DEUX=2.D0,UNDEMI=.5D0) PARAMETER(XZER=0.D0,XK=1.2D0) CHARACTER*8 MATE C -INC CCHAMP -INC PPARAM -INC CCOPTIO C DIMENSION VALMAT(*) DIMENSION DDHOOK(LHOOK,*),DDHOMU(LHOOK,*) DIMENSION COBMA(*),COBAUX(10) REAL*8 D3HOO1(3,3),D3HOO2(3,3),RO1HOO(3,3) REAL*8 D2HOO1(2,2),D2HOO2(2,2),RO2HOO(2,2) REAL*8 XLOC(3,3),XGLOB(3,3),TXR(IDIM,*) REAL*8 D1HOOK(LHOOK,*),ROTHOO(LHOOK,*) C C INITIALISATIONS C MATE='ORTHOTRO' * C--------------------------------------------------------------------- C C JOINT UNIDIMENSIONNEL JOI1 C C--------------------------------------------------------------------- C IF (MFR.EQ.75) THEN IF(IDIM.EQ.3)THEN DDHOOK(1,1)=VALMAT(7) DDHOOK(2,2)=VALMAT(8) DDHOOK(3,3)=VALMAT(9) DDHOOK(4,4)=VALMAT(10) DDHOOK(5,5)=VALMAT(11) DDHOOK(6,6)=VALMAT(12) ELSE IF(IDIM.EQ.2)THEN DDHOOK(1,1)=VALMAT(3) DDHOOK(2,2)=VALMAT(4) DDHOOK(3,3)=VALMAT(5) ELSE IRET=0 ENDIF GOTO 2035 ENDIF * C--------------------------------------------------------------------- IF ( (MFR.EQ.1.OR.MFR.EQ.33.OR.MFR.EQ.31) .AND. & IGAU.LE.NBGMAT ) THEN C C--------------------------------------------------------------------- C C Formulation massive C C--------------------------------------------------------------------- C IF (MFR.EQ.1 .OR. MFR.EQ.31) THEN C C contraintes planes et KCAS=1 C IF(IFOU.EQ.-2.AND.KCAS.EQ.1)THEN YG1=VALMAT(1) YG2=VALMAT(2) XNU12=VALMAT(3) G12=VALMAT(4) XNU21=(YG2/YG1)*XNU12 AUX=UN-XNU12*XNU21 D1HOOK(1,1)=YG1/AUX D1HOOK(2,1)=XNU21*(YG1/AUX) D1HOOK(1,2)=D1HOOK(2,1) D1HOOK(2,2)=YG2/AUX D1HOOK(4,4)=G12 C C contraintes planes et KCAS=2 C ELSEIF(IFOU.EQ.-2.AND.KCAS.EQ.2)THEN * YG1=VALMAT(1) YG2=VALMAT(2) XNU12=VALMAT(3) G12=VALMAT(4) YG3=VALMAT(7) XNU23=VALMAT(8) XNU13=VALMAT(9) XNU21=(YG2/YG1)*XNU12 XNU32=(YG3/YG2)*XNU23 XNU31=(YG3/YG1)*XNU13 AUX=(UN-XNU12*XNU21-XNU23*XNU32-XNU13*XNU31 . -DEUX*XNU21*XNU32*XNU13) AUX1=AUX/YG1 AUX2=AUX/YG2 AUX3=AUX/YG3 D1HOOK(1,1)=(UN-XNU23*XNU32)/AUX1 D1HOOK(1,2)=(XNU21+XNU31*XNU23)/AUX1 D1HOOK(2,1)=D1HOOK(1,2) D1HOOK(1,3)=(XNU31+XNU21*XNU32)/AUX1 D1HOOK(3,1)=D1HOOK(1,3) D1HOOK(2,2)=(UN-XNU13*XNU31)/AUX2 D1HOOK(2,3)=(XNU32+XNU12*XNU31)/AUX2 D1HOOK(3,2)=D1HOOK(2,3) D1HOOK(3,3)=(UN-XNU12*XNU21)/AUX3 D1HOOK(4,4)=G12 C C deformations planes et axisymetrie C ELSEIF(IFOU.EQ.-1.OR.IFOU.EQ.0.OR.IFOU.EQ.-3) THEN YG1=VALMAT(1) YG2=VALMAT(2) YG3=VALMAT(3) XNU12=VALMAT(4) XNU23=VALMAT(5) XNU13=VALMAT(6) G12=VALMAT(7) XNU21=(YG2/YG1)*XNU12 XNU32=(YG3/YG2)*XNU23 XNU31=(YG3/YG1)*XNU13 AUX=(UN-XNU12*XNU21-XNU23*XNU32-XNU13*XNU31 . -DEUX*XNU21*XNU32*XNU13) AUX1=AUX/YG1 AUX2=AUX/YG2 AUX3=AUX/YG3 D1HOOK(1,1)=(UN-XNU23*XNU32)/AUX1 D1HOOK(1,2)=(XNU21+XNU31*XNU23)/AUX1 D1HOOK(2,1)=D1HOOK(1,2) D1HOOK(1,3)=(XNU31+XNU21*XNU32)/AUX1 D1HOOK(3,1)=D1HOOK(1,3) D1HOOK(2,2)=(UN-XNU13*XNU31)/AUX2 D1HOOK(2,3)=(XNU32+XNU12*XNU31)/AUX2 D1HOOK(3,2)=D1HOOK(2,3) D1HOOK(3,3)=(UN-XNU12*XNU21)/AUX3 D1HOOK(4,4)=G12 C C serie de fourier et 3D C ELSEIF(IFOU.EQ.1.OR.IFOU.EQ.2)THEN YG1=VALMAT(1) YG2=VALMAT(2) YG3=VALMAT(3) XNU12=VALMAT(4) XNU23=VALMAT(5) XNU13=VALMAT(6) G12=VALMAT(7) G23=VALMAT(8) G13=VALMAT(9) XNU21=(YG2/YG1)*XNU12 XNU32=(YG3/YG2)*XNU23 XNU31=(YG3/YG1)*XNU13 AUX=(UN-XNU12*XNU21-XNU23*XNU32-XNU13*XNU31 . -DEUX*XNU21*XNU32*XNU13) AUX1=AUX/YG1 AUX2=AUX/YG2 AUX3=AUX/YG3 if (lhook.lt.6) then iret=0 goto 2035 endif D1HOOK(1,1)=(UN-XNU23*XNU32)/AUX1 D1HOOK(1,2)=(XNU21+XNU31*XNU23)/AUX1 D1HOOK(2,1)=D1HOOK(1,2) D1HOOK(1,3)=(XNU31+XNU21*XNU32)/AUX1 D1HOOK(3,1)=D1HOOK(1,3) D1HOOK(2,2)=(UN-XNU13*XNU31)/AUX2 D1HOOK(2,3)=(XNU32+XNU12*XNU31)/AUX2 D1HOOK(3,2)=D1HOOK(2,3) D1HOOK(3,3)=(UN-XNU12*XNU21)/AUX3 D1HOOK(4,4)=G12 D1HOOK(5,5)=G13 D1HOOK(6,6)=G23 C= -> Modes de calcul 1D C= On calcule directement DDHOOK car les directions d'ORTHOTROPIE C= correspondent aux direction du repere GLOBAL ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN IF (IFOU.EQ.6.AND.KCAS.EQ.1) THEN DDHOOK(1,1)=VALMAT(1) ELSE IF ((IFOU.EQ.5.OR.IFOU.EQ.10.OR.IFOU.EQ.13).AND. . KCAS.EQ.1) THEN YG1=VALMAT(1) YG3=VALMAT(3) XNU13=VALMAT(6) XNU31=(YG3/YG1)*XNU13 AUX=UN/(UN-XNU13*XNU31) DDHOOK(1,1)=YG1*AUX DDHOOK(3,1)=XNU13*YG3*AUX DDHOOK(1,3)=DDHOOK(3,1) DDHOOK(3,3)=YG3*AUX ELSE IF ((IFOU.EQ.4.OR.IFOU.EQ.8).AND.KCAS.EQ.1) THEN YG1=VALMAT(1) YG2=VALMAT(2) XNU12=VALMAT(4) XNU21=(YG2/YG1)*XNU12 AUX=UN/(UN-XNU12*XNU21) DDHOOK(1,1)=YG1*AUX DDHOOK(2,1)=XNU21*YG1*AUX DDHOOK(1,2)=DDHOOK(2,1) DDHOOK(2,2)=YG2*AUX ELSE YG1=VALMAT(1) YG2=VALMAT(2) YG3=VALMAT(3) XNU12=VALMAT(4) XNU23=VALMAT(5) XNU13=VALMAT(6) XNU21=(YG2/YG1)*XNU12 XNU32=(YG3/YG2)*XNU23 XNU31=(YG3/YG1)*XNU13 AUX=UN/(UN-XNU12*XNU21-XNU23*XNU32-XNU13*XNU31 . -DEUX*XNU12*XNU23*XNU31) AUX1=AUX*YG1 AUX2=AUX*YG2 DDHOOK(1,1)=(UN-XNU23*XNU32)*AUX1 DDHOOK(2,1)=(XNU21+XNU23*XNU31)*AUX1 DDHOOK(3,1)=(XNU31+XNU32*XNU21)*AUX1 DDHOOK(1,2)=DDHOOK(2,1) DDHOOK(2,2)=(UN-XNU13*XNU31)*AUX2 DDHOOK(3,2)=(XNU32+XNU31*XNU12)*AUX2 DDHOOK(1,3)=DDHOOK(3,1) DDHOOK(2,3)=DDHOOK(3,2) DDHOOK(3,3)=(UN-XNU12*XNU21)*AUX*YG3 ENDIF RETURN ENDIF C ELSE C C--------------------------------------------------------------------- c C Formulation milieu poreux c C--------------------------------------------------------------------- * * elements massifs * IF(MELE.GE.79.AND.MELE.LE.83) THEN & XGLOB,D1HOOK,ROTHOO,DDHOOK,LHOOK, & COBMA,XMOB,KCAS,IRET) GO TO 2035 * * elements joints * ELSE IF(MELE.GE.108.AND.MELE.LE.110) THEN *********** COBMA ET XMOB PAS DEFINIS !!!! IRET=0 GO TO 2035 ELSE IRET=0 GO TO 2035 ENDIF * ENDIF C--------------------------------------------------------------------- C =================================================== C DEFINITION DES AXES ORTHO./AXES LOCAUX C =================================================== cbp IF(IDIM.EQ.2)THEN IF (IDIM.EQ.2.AND.IFOU.NE.1) THEN IF(IFOU.EQ.-2)THEN XLOC(1,1)=VALMAT(5) XLOC(2,1)=VALMAT(6) ELSEIF(IFOU.EQ.-1.OR.IFOU.EQ.0.OR. + ((MFR.EQ.1.OR.MFR.EQ.31).AND.IFOU.EQ.-3)) THEN XLOC(1,1)=VALMAT(8) XLOC(2,1)=VALMAT(9) c ELSEIF(IFOU.EQ.1)THEN c XLOC(1,1)=VALMAT(10) c XLOC(2,1)=VALMAT(11) ENDIF XLOC(1,2)=-XLOC(2,1) XLOC(2,2)=XLOC(1,1) cbp ELSEIF(IDIM.EQ.3)THEN ELSE XLOC(1,1)=VALMAT(10) XLOC(2,1)=VALMAT(11) XLOC(3,1)=VALMAT(12) XLOC(1,2)=VALMAT(13) XLOC(2,2)=VALMAT(14) XLOC(3,2)=VALMAT(15) ENDIF C C =================================================== C DEFINITION DES AXES ORTHO./AXES GLOBAUX C =================================================== C IF(IRET.EQ.1)THEN C IDIM2=IDIM IF(IFOU.EQ.1) IDIM2=3 DO 1045 J=1,IDIM DO 1045 K=1,IDIM2 DO 1045 I=1,IDIM XGLOB(K,J)=TXR(J,I)*XLOC(I,K)+XGLOB(K,J) 1045 CONTINUE cbp en 2D Fourier, vrai TXR = [TXR(2x2) [0] ; [0] 1] IF (IFOU.EQ.1) THEN XGLOB(1,3)=XLOC(3,1) XGLOB(2,3)=XLOC(3,2) XGLOB(3,3)=XLOC(3,3) ENDIF C MATRICE DE TRANSFORMATION cbp IF(IDIM.EQ.2)THEN IF (IDIM.EQ.2.AND.IFOU.NE.1) THEN ROTHOO(1,1)=XGLOB(1,1)*XGLOB(1,1) ROTHOO(1,2)=XGLOB(1,2)*XGLOB(1,2) ROTHOO(1,4)=XGLOB(1,1)*XGLOB(1,2) ROTHOO(2,1)=XGLOB(2,1)*XGLOB(2,1) ROTHOO(2,2)=XGLOB(2,2)*XGLOB(2,2) ROTHOO(2,4)=XGLOB(2,1)*XGLOB(2,2) ROTHOO(3,3)=UN ROTHOO(4,1)=DEUX*XGLOB(1,1)*XGLOB(2,1) ROTHOO(4,2)=DEUX*XGLOB(1,2)*XGLOB(2,2) ROTHOO(4,4)=XGLOB(1,2)*XGLOB(2,1)+XGLOB(1,1)*XGLOB(2,2) c IF(IFOU.EQ.1)THEN c ROTHOO(5,5)=XGLOB(1,1) c ROTHOO(5,6)=XGLOB(1,2) c ROTHOO(6,5)=XGLOB(2,1) c ROTHOO(6,6)=XGLOB(2,2) c ENDIF cbp ELSEIF(IDIM.EQ.3)THEN ELSE DO 1050 IC=1,3 DO 1050 IL=1,3 ROTHOO(IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC) 1050 CONTINUE C if (lhook.lt.6) then iret=0 goto 2035 endif DO 1060 IL=1,3 ROTHOO(IL,4)=XGLOB(IL,1)*XGLOB(IL,2) ROTHOO(IL,5)=XGLOB(IL,2)*XGLOB(IL,3) ROTHOO(IL,6)=XGLOB(IL,1)*XGLOB(IL,3) 1060 CONTINUE C DO 1065 IC=1,3 ROTHOO(4,IC)=DEUX*XGLOB(1,IC)*XGLOB(2,IC) ROTHOO(5,IC)=DEUX*XGLOB(2,IC)*XGLOB(3,IC) ROTHOO(6,IC)=DEUX*XGLOB(1,IC)*XGLOB(3,IC) 1065 CONTINUE C DO 1070 IL=4,6 IL1=IL-3 IL2=IL1+1 IF(IL2.GT.3)IL2=IL2-3 DO 1070 IC=4,6 IC1=IC-3 IC2=IC1+1 IF(IC2.GT.3)IC2=IC2-3 ROTHOO(IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+ . XGLOB(IL1,IC2)*XGLOB(IL2,IC1) 1070 CONTINUE DO 1075 IC=1,6 AA=ROTHOO(6,IC) ROTHOO(6,IC)=ROTHOO(5,IC) ROTHOO(5,IC)=AA 1075 CONTINUE DO 1080 IL=1,6 AA=ROTHOO(IL,6) ROTHOO(IL,6)=ROTHOO(IL,5) ROTHOO(IL,5)=AA 1080 CONTINUE ENDIF C C =================================================== C TRANSFORMATION DE LA MATRICE DE HOOKE ET DE COBAUX C =================================================== C * IF (MFR.EQ.33) THEN DO 1085 IL=1,LHOOK DO 1085 IC=1,LHOOK COBMA(IL)=COBMA(IL)+ROTHOO(IC,IL)*COBAUX(IC) 1085 CONTINUE ENDIF ENDIF C C--------------------------------------------------------------------- ELSEIF (IGAU.LE.NBGMAT.AND. + (IB.LE.NELMAT.OR.NBGMAT.GT.1)) THEN C C--------------------------------------------------------------------- c C Coques minces c C--------------------------------------------------------------------- IF(MFR.EQ.3) THEN C C CAS DKT INTEGRE C IF (NPINT.NE.0) THEN * CAS NON ENCORE IMPLEMENTE IRET=0 GOTO 2035 ELSE C C CAS TRIDIMENSIONNEL ET FOURIER C IF(IFOU.EQ.2.OR.IFOU.EQ.1) THEN YG1 =VALMAT(1) YG2 = VALMAT(2) XNU12 = VALMAT(3) G12 = VALMAT(4) COSA = VALMAT(5) SINA = VALMAT(6) C X1NUNU = UN - (XNU12**2) * YG2 / YG1 C D3HOO1(1,1) = YG1 / X1NUNU D3HOO1(2,2) = YG2 / X1NUNU D3HOO1(1,2) = XNU12 * D3HOO1(2,2) D3HOO1(2,1) = D3HOO1(1,2) D3HOO1(3,3) = G12 D3HOO1(1,3) = XZER D3HOO1(2,3) = XZER D3HOO1(3,1) = XZER D3HOO1(3,2) = XZER C COS2 = COSA**2 SIN2 = SINA**2 SINCOS = SINA * COSA C RO1HOO(1,1) = COS2 RO1HOO(1,2) = SIN2 RO1HOO(1,3) = SINCOS RO1HOO(2,1) = SIN2 RO1HOO(2,2) = COS2 RO1HOO(2,3) = - SINCOS RO1HOO(3,1) = - DEUX * SINCOS RO1HOO(3,2) = DEUX * SINCOS RO1HOO(3,3) = COS2 - SIN2 C C PASSAGE DANS LE REPERE DE L'ELEMENT: DO 1090 J=1,3 DO 1090 I=1,3 DDHOOK(I,J) = D3HOO2(I,J) DDHOOK(I+3,J+3) = D3HOO2(I,J) 1090 CONTINUE C C CAS AXISYMETRIQUE ET DEFORMATIONS PLANES C ELSE IF(IFOU.EQ.0.OR.IFOU.EQ.-1.OR.IFOU.EQ.-3) THEN YG1 = VALMAT(1) YG2 = VALMAT(2) XNU12 = VALMAT(3) COSA = VALMAT(5) SINA = VALMAT(6) C X1NUNU = UN - (XNU12**2) * YG2 / YG1 C D2HOO1(1,1) = YG1 / X1NUNU D2HOO1(2,2) = YG2 / X1NUNU D2HOO1(1,2) = XNU12 * D2HOO1(2,2) D2HOO1(2,1) = D2HOO1(1,2) C COS2 = COSA**2 SIN2 = SINA**2 RO2HOO(1,1) = COS2 RO2HOO(1,2) = SIN2 RO2HOO(2,1) = SIN2 RO2HOO(2,2) = COS2 C C PASSAGE DANS LE REPERE DE L'ELEMENT: DO 1095 J=1,2 DO 1095 I=1,2 DDHOOK(I,J) = D2HOO2(I,J) DDHOOK(I+2,J+2) = D2HOO2(I,J) 1095 CONTINUE C C CAS CONTRAINTES PLANES C ELSE IF(IFOU.EQ.-2) THEN YG1=VALMAT(1) DDHOOK(1,1)=YG1 DDHOOK(3,3)=YG1 C ELSE IRET=0 ENDIF ENDIF C C--------------------------------------------------------------------- c C Coques epaisses C C--------------------------------------------------------------------- c ELSE IF(MFR.EQ.5) THEN C C CAS TRIDIMENSIONNEL C IF(IFOU.EQ.2) THEN YG1 = VALMAT(1) YG2 = VALMAT(2) XNU12 = VALMAT(3) G12 = VALMAT(4) G23 = VALMAT(5) G13 = VALMAT(6) COSA = VALMAT(7) SINA = VALMAT(8) X1NUNU = UN - (XNU12**2) * YG2 / YG1 C D3HOO1(1,1) = YG1 / X1NUNU D3HOO1(2,2) = YG2 / X1NUNU D3HOO1(1,2) = XNU12 * D3HOO1(2,2) D3HOO1(2,1) = D3HOO1(1,2) D3HOO1(3,3) = G12 D3HOO1(1,3) = XZER D3HOO1(2,3) = XZER D3HOO1(3,1) = XZER D3HOO1(3,2) = XZER D2HOO1(1,1) = G13/XK D2HOO1(2,2) = G23/XK D2HOO1(1,2) = XZER D2HOO1(2,1) = XZER C COS2 = COSA**2 SIN2 = SINA**2 SINCOS = SINA * COSA RO1HOO(1,1) = COS2 RO1HOO(1,2) = SIN2 RO1HOO(1,3) = SINCOS RO1HOO(2,1) = SIN2 RO1HOO(2,2) = COS2 RO1HOO(2,3) = - SINCOS RO1HOO(3,1) = - DEUX * SINCOS RO1HOO(3,2) = DEUX * SINCOS RO1HOO(3,3) = COS2 - SIN2 C C PASSAGE DANS LE REPERE DE L'ELEMENT: DO 2000 J=1,3 DO 2000 I=1,3 DDHOOK(I,J) = D3HOO2(I,J) 2000 CONTINUE RO2HOO(1,1) = COSA RO2HOO(1,2) = SINA RO2HOO(2,1) = -SINA RO2HOO(2,2) = COSA C DO 2005 J=1,2 DO 2005 I=1,2 DDHOOK(3+I,3+J) = D2HOO2(I,J) 2005 CONTINUE C ELSE IRET=0 ENDIF C C--------------------------------------------------------------------- C C Coques minces avec cisaillement transverse C C--------------------------------------------------------------------- C ELSE IF(MFR.EQ.9) THEN C YG1 = VALMAT(1) YG2 = VALMAT(2) XNU12 = VALMAT(3) G12 = VALMAT(4) G23 = VALMAT(5) G13 = VALMAT(6) C C C CAS TRIDIMENSIONNEL C IF(IFOU.EQ.2) THEN COSA = VALMAT(7) SINA = VALMAT(8) C X1NUNU = UN - (XNU12**2) * YG2 / YG1 D3HOO1(1,1) = YG1 / X1NUNU D3HOO1(2,2) = YG2 / X1NUNU D3HOO1(1,2) = XNU12 * D3HOO1(2,2) D3HOO1(2,1) = D3HOO1(1,2) D3HOO1(3,3) = G12 D3HOO1(1,3) = XZER D3HOO1(2,3) = XZER D3HOO1(3,1) = XZER D3HOO1(3,2) = XZER D2HOO1(1,1) = G13/XK D2HOO1(2,2) = G23/XK D2HOO1(1,2) = XZER D2HOO1(2,1) = XZER C COS2 = COSA**2 SIN2 = SINA**2 SINCOS = SINA * COSA RO1HOO(1,1) = COS2 RO1HOO(1,2) = SIN2 RO1HOO(1,3) = SINCOS RO1HOO(2,1) = SIN2 RO1HOO(2,2) = COS2 RO1HOO(2,3) = - SINCOS RO1HOO(3,1) = - DEUX * SINCOS RO1HOO(3,2) = DEUX * SINCOS RO1HOO(3,3) = COS2 - SIN2 C C PASSAGE DANS LE REPERE DE L'ELEMENT: DO 2015 J=1,3 DO 2015 I=1,3 DDHOOK(I,J) = D3HOO2(I,J) DDHOOK(I+3,J+3) = D3HOO2(I,J) 2015 CONTINUE C RO2HOO(1,1) = COSA RO2HOO(1,2) = SINA RO2HOO(2,1) = -SINA RO2HOO(2,2) = COSA DO 2020 J=1,2 DO 2020 I=1,2 DDHOOK(6+I,6+J) = D2HOO2(I,J) 2020 CONTINUE ELSE IRET=0 * ENDIF ENDIF C C--------------------------------------------------------------------- c C Cas des barres c C--------------------------------------------------------------------- C ELSE IF(MFR.EQ.27) THEN C YOU=VALMAT(1) DDHOOK(1,1)=YOU*SECT C C--------------------------------------------------------------------- C Elements joints JOT3, JOI4 et JOI2 C--------------------------------------------------------------------- C ELSE IF(MFR.EQ.35) THEN C C CAS TRIDIMENSIONNEL C IF(IFOU.EQ.2) THEN ZK1 =VALMAT(1) ZK2 =VALMAT(2) ZK3 =VALMAT(3) COSA=VALMAT(4) SINA=VALMAT(5) C D3HOO1(1,1)=ZK1 D3HOO1(2,2)=ZK2 D3HOO1(3,3)=ZK3 D3HOO1(1,2)=XZER D3HOO1(1,3)=XZER D3HOO1(2,1)=XZER D3HOO1(2,3)=XZER D3HOO1(3,1)=XZER D3HOO1(3,2)=XZER C RO1HOO(1,1) = COSA RO1HOO(1,2) = -SINA RO1HOO(1,3) = 0.0D0 RO1HOO(2,1) = SINA RO1HOO(2,2) = COSA RO1HOO(2,3) = 0.0D0 RO1HOO(3,1) = 0.0D0 RO1HOO(3,2) = 0.0D0 RO1HOO(3,3) = 1.0D0 C C PASSAGE DANS LE REPERE DE L'ELEMENT: C DO 2025 J=1,3 DO 2025 I=1,3 DDHOOK(I,J) = D3HOO2(I,J) 2025 CONTINUE C ELSE IRET=0 ENDIF C--------------------------------------------------------------------- C ELSE IRET=0 GOTO 2035 ENDIF C--------------------------------------------------------------------- ENDIF C--------------------------------------------------------------------- C C Prise en compte de l'epaisseur et de l'excentrement C dans le cas des coques minces avec ou sans cisaillement C transverse C C--------------------------------------------------------------------- IF ((MFR.EQ.3.AND.NPINT.EQ.0).OR.MFR.EQ.9) THEN DO 1005 IO=1,LHOOK DO 1005 JO=1,LHOOK DDHOOK(IO,JO)=DDHOMU(IO,JO) 1005 CONTINUE ENDIF C--------------------------------------------------------------------- C * 2035 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales