thetun
C THETUN SOURCE BP208322 17/03/01 21:18:31 9325 1 THM,THSU,SD,EPAIST,TXR,XLOC,XGLOB, 2 ROTS,DHOOK,RES,KERRE) ******************************************************************* * APPELE PAR THETAP :CONTRAINTES THERMIQUES POUR LES MATERIAUX * UNIDIRECTIONNELS * * ENTREES : * MFR = NUMERO DE LA FORMULATION * MELE = NUMERO DE L'ELEMENT FINI * VALMAT = TABLEAU DE MATERIAU * LHOOK = DIMENSION DE LA MATRICE DE HOOKE * NSTRS = NOMBRE DE COMPOSANTES DES CONTRAINTES * TEMP,THIF,THM,THSU = TEMPERATURES * SD = SECTION * EPAIST = EPAISSEUR * TXR,XLOC,XGLOB,ROTS,DHOOK = TABLEAUX DE TRAVAIL * SORTIES : * RES = TABLEAU DE CONTRAINTES * KERRE= INDICATEUR D'ERREUR * * P DOWLATYARI MARS 92 *********************************************************************** IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * -INC PPARAM -INC CCOPTIO -INC CCHAMP * DIMENSION XLOC(3,3),XGLOB(3,3) DIMENSION ROTS(NSTRS,*),DHOOK(LHOOK,*) DIMENSION TXR(IDIM,*),RES(NSTRS) DIMENSION VALMAT(*) * DIMENSION SIG1(6),SIG2(6) * KERRE=0 * * TEST SUR LA FORMULATION * *-------------------------------------------------------------- * CAS MASSIF ET POREUX *-------------------------------------------------------------- IF(MFR.EQ.1.OR.MFR.EQ.33) THEN * * * CONTRAINTES PLANES * OU * DEFORMATIONS PLANES OU AXI OU FOURIER * IF(IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0 1 .OR.IFOUR.EQ.1)THEN * YG = VALMAT(1) ALPH= VALMAT(2) XLOC(1,1)=VALMAT(3) XLOC(2,1)=VALMAT(4) XLOC(1,2)=-XLOC(2,1) XLOC(2,2)=XLOC(1,1) C DEFINITION DES AXES ORTHO./AXES GLOBAUX DO 4310 K=1,IDIM DO 4310 J=1,IDIM DO 4310 I=1,IDIM XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K) 4310 CONTINUE CC=XGLOB(1,1)*XGLOB(1,1) SS=XGLOB(2,1)*XGLOB(2,1) CS=XGLOB(1,1)*XGLOB(2,1) * * EN AXES D'ORTHOTROPIE * SIG1(1)=YG*ALPH * * CHGT D'AXES * SIG2(1)=CC*SIG1(1) SIG2(2)=SS*SIG1(1) SIG2(3)=0.D0 SIG2(4)=CS*SIG1(1) * RES(1)=SIG2(1)*TEMP RES(2)=SIG2(2)*TEMP RES(3)=0.D0 RES(4)=SIG2(4)*TEMP IF(IFOUR.EQ.1) THEN RES(5)=0.D0 RES(6)=0.D0 ENDIF * * TRIDIMENSIONNEL * ELSE YG = VALMAT(1) ALPH= VALMAT(2) XLOC(1,1)=VALMAT(3) XLOC(2,1)=VALMAT(4) XLOC(3,1)=VALMAT(5) XLOC(1,2)=VALMAT(6) XLOC(2,2)=VALMAT(7) XLOC(3,2)=VALMAT(8) C DEFINITION DES AXES ORTHO./AXES GLOBAUX DO 2330 K=1,IDIM DO 2330 J=1,IDIM DO 2330 I=1,IDIM XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K) 2330 CONTINUE * * MATRICE DE TRANSFORMATION * DO 2331 IC=1,3 DO 2331 IL=1,3 ROTS(IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC) 2331 CONTINUE C DO 2332 IL=1,3 ROTS(IL,4)=2.D0*XGLOB(IL,1)*XGLOB(IL,2) ROTS(IL,5)=2.D0*XGLOB(IL,2)*XGLOB(IL,3) ROTS(IL,6)=2.D0*XGLOB(IL,1)*XGLOB(IL,3) 2332 CONTINUE C DO 2333 IC=1,3 ROTS(4,IC)=XGLOB(1,IC)*XGLOB(2,IC) ROTS(5,IC)=XGLOB(2,IC)*XGLOB(3,IC) ROTS(6,IC)=XGLOB(1,IC)*XGLOB(3,IC) 2333 CONTINUE C DO 2334 IL=4,6 IL1=IL-3 IL2=IL1+1 IF(IL2.GT.3)IL2=IL2-3 DO 2334 IC=4,6 IC1=IC-3 IC2=IC1+1 IF(IC2.GT.3)IC2=IC2-3 ROTS(IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+ . XGLOB(IL1,IC2)*XGLOB(IL2,IC1) 2334 CONTINUE DO 2335 IC=1,6 AA=ROTS(6,IC) ROTS(6,IC)=ROTS(5,IC) ROTS(5,IC)=AA 2335 CONTINUE DO 2336 IL=1,6 AA=ROTS(IL,6) ROTS(IL,6)=ROTS(IL,5) ROTS(IL,5)=AA 2336 CONTINUE * * EN AXES D'ORTHOTROPIE * SIG1(1)=YG*ALPH DO 2340 I=2,6 SIG1(I)=0.D0 2340 CONTINUE * * CHGT D'AXES * DO 2350 I=1,6 SIG2(I)=0.D0 DO 2350 J=1,6 SIG2(I)= SIG2(I) +ROTS(I,J)*SIG1(J) 2350 CONTINUE * RES(1)=SIG2(1)*TEMP RES(2)=SIG2(2)*TEMP RES(3)=SIG2(3)*TEMP RES(4)=SIG2(4)*TEMP RES(5)=SIG2(5)*TEMP RES(6)=SIG2(6)*TEMP ENDIF *____________________________________________________________________ * * SECTEUR DE CALCUL POUR LES ELEMENTS JOINTS 2D JOI2 et JOI3 *____________________________________________________________________ * ELSEIF (MELE.EQ.85.OR.MELE.EQ.86) THEN * ZKN = VALMAT(2) ALPN= VALMAT(3) C IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0) THEN RES(1)=0.D0 RES(2)=ALPN * ZKN * TEMP ELSE KERRE=19 GOTO 99 ENDIF *____________________________________________________________________ * * SECTEUR DE CALCUL POUR LES ELEMENTS JOINTS 3D JOI4 *____________________________________________________________________ * ELSE IF (MELE.EQ.88) THEN ZKN = VALMAT(3) ALPN= VALMAT(4) IF (IFOUR.EQ.2) THEN RES(1)=0.D0 RES(2)=0.D0 RES(3)=ALPN * ZKN * TEMP ELSE KERRE=19 GOTO 99 ENDIF *____________________________________________________________________ * * SECTEUR DE CALCUL POUR LES ELEMENTS COQUES MINCES SAUF COQ2 *____________________________________________________________________ * ELSE IF(MELE.EQ.27.OR.MELE.EQ.28.OR. 1 MELE.EQ.49)THEN YG = VALMAT(1) ALPH=VALMAT(2) V1X= VALMAT(3) V1Y= VALMAT(4) CC=V1X*V1X SS=V1Y*V1Y CS=V1X*V1Y THMO=(THSU+THIF+4.D0*THM)/6.D0 THDI=THSU-THIF EXCEN =0.D0 EP2=EPAIST*EPAIST/12.D0 FACM=THMO*EPAIST FACF=THMO*EPAIST*EXCEN+THDI*EP2 * * EN AXES D'ORTHOTROPIE * SIG1(1)=YG*ALPH SIG1(2)=0.D0 SIG1(3)=0.D0 * * CHGT D'AXES * SIG2(1)=CC*SIG1(1) SIG2(2)=SS*SIG1(1) SIG2(3)=CS*SIG1(1) * IF(IFOUR.GT.0) THEN RES(1)=SIG2(1)*FACM RES(2)=SIG2(2)*FACM RES(3)=SIG2(3)*FACM RES(4)=SIG2(1)*FACF RES(5)=SIG2(2)*FACF RES(6)=SIG2(3)*FACF ELSE IF(IFOUR.LE.0) THEN * * PAS GRAND SENS DANS CE CAS * KERRE=19 GO TO 99 ENDIF C____________________________________________________________________ C C SECTEUR DE CALCUL POUR LES ELEMENTS COQ2 C____________________________________________________________________ C ELSEIF(MELE.EQ.44)THEN YG =VALMAT(1) ALPH=VALMAT(2) V1X =VALMAT(3) V1Y =VALMAT(4) CC=V1X*V1X SS=V1Y*V1Y CS=V1X*V1Y THMO=(THSU+THIF+4.D0*THM)/6.D0 THDI=THSU-THIF EXCEN =0.D0 EP2=EPAIST*EPAIST/12.D0 FACM=THMO*EPAIST FACF=THMO*EPAIST*EXCEN+THDI*EP2 * * EN AXES D'ORTHOTROPIE * SIG1(1)=YG*ALPH SIG1(2)=0.D0 SIG1(3)=0.D0 * * CHGT D'AXES * SIG2(1)=CC*SIG1(1) SIG2(2)=SS*SIG1(1) SIG2(3)=CS*SIG1(1) * IF(IFOUR.GT.0) THEN RES(1)=SIG2(1)*FACM RES(2)=SIG2(2)*FACM RES(3)=SIG2(3)*FACM RES(4)=SIG2(1)*FACF RES(5)=SIG2(2)*FACF RES(6)=SIG2(3)*FACF ELSE IF(IFOUR.LE.0) THEN RES(1)=SIG2(1)*FACM RES(2)=SIG2(2)*FACM RES(3)=SIG2(1)*FACF RES(4)=SIG2(2)*FACF ELSE KERRE=19 GO TO 99 ENDIF * *____________________________________________________________________ * * ELEMENTS POUTRES ET TUYAUX *____________________________________________________________________ * ELSEIF(MELE.EQ.29.OR.MELE.EQ.42.OR.MELE.EQ.84)THEN YOU=VALMAT(1) ALPH=VALMAT(2) AUX = YOU*ALPH*SD * RES(1)= AUX*TEMP * *____________________________________________________________________ * * ELEMENTS BARRES CERCES ET POINT *____________________________________________________________________ * ELSEIF(MELE.EQ.46.OR.MELE.EQ.95.OR.MELE.EQ.45)THEN * IF(MELE.EQ.45.AND.IFOUR.NE.-3) THEN KERRE=86 GO TO 99 ENDIF IF(MELE.EQ.95.AND.IFOUR.NE.0) THEN KERRE=86 GO TO 99 ENDIF * YOU=VALMAT(1) ALPH=VALMAT(2) AUX = YOU*ALPH*SD RES(1)= AUX*TEMP ELSE KERRE=19 ENDIF * 99 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales