maxgen
C MAXGEN SOURCE CHAT 05/01/13 01:35:59 5004 1 IB,IGAU,MELE,NCHAIN,KERRE,DT,CMATE,NWA,TEMP0) * *============================================================== * chaine de Maxwell pour les coques et plaques *============================================================== * * entrees * * WRK0 * XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU * * WRK1 * SIG0(NSTRS) = CONTR. AU DEBUT DU PAS D'INTEGRATION * DEPST(NSTRS) = INCREMENT DES DEFORM. TOTALES * VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION * XCAR(ICARA) = CARACT. GEOMETRIQUES DES ELEMENTS FINIS * * WRK5 * EPINO(NSTRS) = DEFORMATION INELASTIQUE AU DEBUT DU PAS D'INTEGRATION * * WRK12 * EMi(2,NWA(i+1)) i=0 a 8 * = EVOLUTION DU MODUE D'YOUNG DE LA BRANCHE i * SMi(NSTRS) i=1 a 8 * = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION * * IB = NUMERO DE L'ELEMENT * IGAU = NUMERO DU POINT DE GAUSS * MELE = NUMERO DE L'ELEMENT FINI (TYPE) * NCHAIN = NOMBRE DE BRANCHE DU MODELE DE MAXWELL * DT = INCREMENT DE TEMPS * NWA = DIMENSION DES EVOLUTIONS EMi * TEMP0 = TEMPS COURANT * * sorties * * WRK1 * SIGF(NSTRS)= CONTR. A LA FIN DU PAS D'INTEGRATION * DEFP(NSTRS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS * D'INTEGRATION * * WRK5 * EPINF(NSTRS) = DEFORMATION INELASTIQUE A LA FIN DU PAS D'INTEGRATION * *============================================================== * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO * SEGMENT WRK0 REAL*8 XMAT(NCXMAT) ENDSEGMENT * SEGMENT WRK1 REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS) REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI) REAL*8 DEFP(NSTRS),XCAR(ICARA) ENDSEGMENT * SEGMENT WRK5 REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS) ENDSEGMENT * SEGMENT WR12 REAL*8 EM0(2,NWA(1)),EM1(2,NWA(2)),EM2(2,NWA(3)) REAL*8 EM3(2,NWA(4)),EM4(2,NWA(5)),EM5(2,NWA(6)) REAL*8 EM6(2,NWA(7)),EM7(2,NWA(8)),EM8(2,NWA(9)) REAL*8 SM0(NSTRS),SM1(NSTRS),SM2(NSTRS),SM3(NSTRS) REAL*8 SM4(NSTRS),SM5(NSTRS),SM6(NSTRS),SM7(NSTRS) REAL*8 SM8(NSTRS) ENDSEGMENT * CHARACTER*8 CMATE DIMENSION NWA(9) NCXMAT=XMAT(/1) NVARI=VAR0(/1) NSTRS=SIG0(/1) ANU=XMAT(2) UNANU=1.D0-ANU TPS1=TEMP0 TPS2=TEMP0+DT SE1=0.D0 SE2=0.D0 * ep=XCAR(1) IF(CMATE.EQ.'ISOTROPE') THEN ****************************************************** * Formulations COQUES MINCES - ISOTROPE * ****************************************************** *** TRIDIMENSIONNEL - FOURIER IF (IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN CONS=1.D0/(1.D0-(ANU*ANU)) CONS1=1.D0/(1.D0+ANU) ep=XCAR(1) DO 10 M=0,NCHAIN-1 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) SE1=SE1+E1 SE2=SE2+E2 IF (M.EQ.0) THEN 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) DO I=1,6 SIGF(I)=SM0(I) ENDDO ELSE IF (M.EQ.1) THEN 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) DO I=1,6 SIGF(I)=SIGF(I)+SM1(I) ENDDO ELSE IF (M.EQ.2) THEN 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) DO I=1,6 SIGF(I)=SIGF(I)+SM2(I) ENDDO ELSE IF (M.EQ.3) THEN 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) DO I=1,6 SIGF(I)=SIGF(I)+SM3(I) ENDDO ELSE IF (M.EQ.4) THEN 1 CONS*EFIC*((ep**3)/1.D02)*(DEPST(4)+ANU*DEPST(5)) 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) DO I=1,6 SIGF(I)=SIGF(I)+SM4(I) ENDDO ELSE IF (M.EQ.5) THEN 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) DO I=1,6 SIGF(I)=SIGF(I)+SM5(I) ENDDO ELSE IF (M.EQ.6) THEN 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) DO I=1,6 SIGF(I)=SIGF(I)+SM6(I) ENDDO ELSE IF (M.EQ.7) THEN 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) DO I=1,6 SIGF(I)=SIGF(I)+SM7(I) ENDDO ELSE IF (M.EQ.8) THEN 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) DO I=1,6 SIGF(I)=SIGF(I)+SM8(I) ENDDO END IF 10 CONTINUE DEFP(1)=DEPST(1)-((SIGF(1)-ANU*SIGF(2))/(ep*SE2) 1 -(SIG0(1)-ANU*SIG0(2))/(ep*SE1)) DEFP(2)=DEPST(2)-((SIGF(2)-ANU*SIGF(1))/(ep*SE2) 1 -(SIG0(2)-ANU*SIG0(1))/(ep*SE1)) DEFP(3)=DEPST(3)-(2.D0*(1+ANU)/ep)*(SIGF(3)/SE2-SIG0(3)/SE1) DEFP(4)=DEPST(4)-(12.D0/(ep**3))*((SIGF(4)-ANU*SIGF(5))/SE2 1 -(SIG0(4)-ANU*SIG0(5))/SE1) DEFP(5)=DEPST(5)-(12.D0/(ep**3))*((SIGF(5)-ANU*SIGF(4))/SE2 1 -(SIG0(5)-ANU*SIG0(4))/SE1) DEFP(6)=DEPST(6) 1 -(24.D0*(1+ANU)/ep**3)*(SIGF(6)/SE2-SIG0(6)/SE1) DO I=1,NSTRS EPINF(I)=EPIN0(I)+DEFP(I) END DO GOTO 999 ** Formulation DEFORMATIONS PLANES /AXISYMETRIQUE ELSE IF(IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN CONS=1.D0/(1.D0-(ANU*ANU)) DO 20 M=0,NCHAIN-1 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) SE1=SE1+E1 SE2=SE2+E2 IF (M.EQ.0) THEN 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) DO I=1,4 SIGF(I)=SM0(I) ENDDO ELSE IF (M.EQ.1) THEN 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) DO I=1,4 SIGF(I)=SIGF(I)+SM1(I) ENDDO ELSE IF (M.EQ.2) THEN 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) DO I=1,4 SIGF(I)=SIGF(I)+SM2(I) ENDDO ELSE IF (M.EQ.3) THEN 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) DO I=1,4 SIGF(I)=SIGF(I)+SM3(I) ENDDO ELSE IF (M.EQ.4) THEN 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) DO I=1,4 SIGF(I)=SIGF(I)+SM4(I) ENDDO ELSE IF (M.EQ.5) THEN 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) DO I=1,4 SIGF(I)=SIGF(I)+SM5(I) ENDDO ELSE IF (M.EQ.6) THEN 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) DO I=1,4 SIGF(I)=SIGF(I)+SM6(I) ENDDO ELSE IF (M.EQ.7) THEN 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) DO I=1,4 SIGF(I)=SIGF(I)+SM7(I) ENDDO ELSE IF (M.EQ.8) THEN 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) DO I=1,4 SIGF(I)=SIGF(I)+SM8(I) ENDDO END IF 20 CONTINUE DEFP(1)=DEPST(1)-((SIGF(1)-ANU*SIGF(2))/(SE2*ep) 1 -(SIG0(1)-ANU*SIG0(2))/(SE1*ep)) DEFP(2)=DEPST(2)-((SIGF(2)-ANU*SIGF(1))/(SE2*ep) 1 -(SIG0(2)-ANU*SIG0(1))/(SE1*ep)) DEFP(3)=DEPST(3)-(12/ep**3)*((SIGF(3)-ANU*SIGF(4))/SE2 1 -(SIG0(3)-ANU*SIG0(4))/SE1) DEFP(4)=DEPST(4)-(12/ep**3)*((SIGF(4)-ANU*SIGF(3))/SE2 1 -(SIG0(4)-ANU*SIG0(3))/SE1) DO I=1,NSTRS EPINF(I)=EPIN0(I)+DEFP(I) END DO GOTO 999 * Formulation CONTRAINTES PLANES * ELSE IF(IFOMOD.EQ.-1.AND.IFOUR.EQ.-2) THEN er=(ep**3)/12.d0 DO 30 M=0,NCHAIN-1 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) SE1=SE1+E1 SE2=SE2+E2 IF (M.EQ.0) THEN SIGF(1)=SM0(1) SIGF(3)=SM0(3) ELSE IF (M.EQ.1) THEN SIGF(1)=SIGF(1)+SM1(1) SIGF(3)=SIGF(3)+SM1(3) ELSE IF (M.EQ.2) THEN SIGF(1)=SIGF(1)+SM2(1) SIGF(3)=SIGF(3)+SM2(3) ELSE IF (M.EQ.3) THEN SIGF(1)=SIGF(1)+SM3(1) SIGF(3)=SIGF(3)+SM3(3) ELSE IF (M.EQ.4) THEN SIGF(1)=SIGF(1)+SM4(1) SIGF(3)=SIGF(3)+SM4(3) ELSE IF (M.EQ.5) THEN SIGF(1)=SIGF(1)+SM5(1) SIGF(3)=SIGF(3)+SM5(3) ELSE IF (M.EQ.6) THEN SIGF(1)=SIGF(1)+SM6(1) SIGF(3)=SIGF(3)+SM6(3) ELSE IF (M.EQ.7) THEN SIGF(1)=SIGF(1)+SM7(1) SIGF(3)=SIGF(3)+SM7(3) ELSE IF (M.EQ.8) THEN SIGF(1)=SIGF(1)+SM8(1) SIGF(3)=SIGF(3)+SM8(3) END IF 30 CONTINUE DEFP(1)=DEPST(1)-(1.d0/ep)*(SIGF(1)/SE2 1 -SIG0(1)/SE1) DEFP(2)=0.D0 DEFP(3)=DEPST(3)-(1.d0/er)*(SIGF(3)/SE2 1 -SIG0(3)/SE1) DEFP(4)=0.D0 DO I=1,NSTRS EPINF(I)=EPIN0(I)+DEFP(I) END DO GOTO 999 END IF * Formulation UNIDIRECTIONNELLES * ELSE IF(CMATE.EQ.'UNIDIREC') THEN DO 40 M=0,NCHAIN-1 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) SE1=SE1+E1 SE2=SE2+E2 IF (M.EQ.0) THEN SIGF(1)=SM0(1) ELSE IF (M.EQ.1) THEN SIGF(1)=SIGF(1)+SM1(1) ELSE IF (M.EQ.2) THEN SIGF(1)=SIGF(1)+SM2(1) ELSE IF (M.EQ.3) THEN SIGF(1)=SIGF(1)+SM3(1) ELSE IF (M.EQ.4) THEN SIGF(1)=SIGF(1)+SM4(1) ELSE IF (M.EQ.5) THEN SIGF(1)=SIGF(1)+SM5(1) ELSE IF (M.EQ.6) THEN SIGF(1)=SIGF(1)+SM6(1) ELSE IF (M.EQ.7) THEN SIGF(1)=SIGF(1)+SM7(1) ELSE IF (M.EQ.8) THEN SIGF(1)=SIGF(1)+SM8(1) END IF 40 CONTINUE DEFP(1)=DEPST(1)-(1.d0/ep)*(SIGF(1)/SE2 1 -SIG0(1)/SE1) DO I=1,NSTRS EPINF(I)=EPIN0(I)+DEFP(I) END DO GOTO 999 ENDIF GOTO 999 999 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales