t4m
C T4M SOURCE JK148537 23/03/20 21:15:07 11638 C t4m SOURCE G-M ROUX CHAUFFAGE+REFROIDISSEMENT V6 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C -INC PPARAM -INC CCOPTIO -INC CCHAMP -INC DECHE REAL*8 TINC0,TINC1 TINC0 = 0.D0 TINC1 = 0.D0 wrk52 = iwrk52 wrk53 = iwrk53 C>>>>>>Initialisations des champs T0 = ture0(1) TPS0=TEMP0 TPS1=TEMPF cJK148537 28/02/23 c PHA10 = valma0(1) c PHA20 = valma0(2) c PHA30 = valma0(3) PHA10 = rhas0(1) PHA20 = rhas0(2) PHA30 = rhas0(3) TINC0 = valma0(1) PHA40 = rhas0(4) rhasF(1)=PHA10 rhasF(2)=PHA20 rhasF(3)=PHA30 XMATF(1)=TINC0 XMATF(2)=0. rhasF(4)=PHA40 XMATF(12)=valma0(12) C>>>>>>Initialisation des constantes PARR_Ar=valma0(9) PARR_Br=valma0(10) PARR_Cr=valma0(11) AC1=valma0(2) PARJMA_k=valma0(3) PARJMA_m=valma0(4) PARKM_ms=valma0(7) PARKM_ks=valma0(8) PARHB_k=valma0(5) PARHB_e=valma0(6) PARHB_n=valma0(13) TF1=valma0(14) TF2=valma0(15) C C>>>>>germination de la phase austénitique IF (Tm.GT.AC1.AND.TINC0.LT.1.) THEN t_inc1= Tm - AC1 t_inc2 = (PARR_Cr / t_inc1) t_inc3 = EXP(t_inc2) t_inc4 = PARR_Br - Tm IF (t_inc4.LE.0.) THEN XMATF(1)=1. ELSE t_inc=t_inc3 * t_inc4 * PARR_Ar TINC1 = TINC0 + ((TPS1 - TPS0) / t_inc) XMATF(1)=TINC1 ENDIF IF (TINC1.GT.1) THEN XMATF(1) = 1. ENDIF ENDIF C ->si la germination est terminé, tinc=1 IF (Tm.GE.AC1.AND.TINC0.EQ.1.OR.PHA20.GT.0) THEN XMATF(1) = 1. ENDIF C ->si T<Ms et yg=0 IF (Tm.LT.PARKM_ms.AND.PHA20.EQ.0) THEN XMATF(1) = 0. ENDIF C ->si T>Assat IF (Tm.GT.PARR_Br) THEN XMATF(1) = 1. ENDIF C C>>>>>>croissance de la phase austénitique (méthode de Heun) C ->on passes les caractéristiques thermiques en Kelvin AC1=AC1 + 273. T0b=T0 + 273. C ->calcul de Teq(t=ti) Teq_11 = AC1 * PARJMA_k Teq_12 = 1. - PHA20 Teq_13 = LOG(Teq_12) Teq_14 = Teq_11 + ((-1. * Teq_13) ** (1. / PARJMA_m)) Teq_1 = (Teq_14 / PARJMA_k) C ->calcul de dyA/dt(t=ti) dPHA2_1_1 = (-1. * PARHB_e) / (8.31 * T0b) dPHA2_1_2 = PARHB_k * EXP(dPHA2_1_1) dPHA2_1_3=ABS(T0b - Teq_1) dPHA2_1 = dPHA2_1_2 * (dPHA2_1_3 ** PARHB_n) * (1. - PHA20) C ->calcul de yA(t=ti) PHA2_1=PHA20 + dPHA2_1 * (TPS1 - TPS0) IF (PHA2_1.GT.9.999d-01) THEN PHA21=1. ELSE C ->calcul de Teq(t=ti+1) Teq_21 = AC1 * PARJMA_k Teq_22 = 1. - PHA2_1 Teq_23 = LOG(Teq_22) Teq_24 = Teq_21 + ((-1. * Teq_23) ** (1. / PARJMA_m)) Teq_2 = (Teq_24 / PARJMA_K) C ->calcul de dyA/dt(t=ti+1) dPHA2_2_1 = (-1. * PARHB_e) / (8.31 * T1b) dPHA2_2_2 = PARHB_k * EXP(dPHA2_2_1) dPHA2_2_3=ABS(T1b - Teq_2) dPHA2_2 = dPHA2_2_2 * (dPHA2_2_3 ** PARHB_n) * (1. - PHA2_1) C ->calcul de yA(t)(ti+1) PHA21=PHA20 + ( (dPHA2_1 + dPHA2_2) / 2.)*(TPS1 - TPS0) IF (PHA21.GT.9.9d-01) THEN PHA21=1. ENDIF ENDIF IF (PHA30.GT.0.AND.PHA10.GT.0.) THEN C ->calcul des nouvelles phases si martensite+martensite revenue PHA11=PHA10-(PHA21-PHA20)/2. PHA31=PHA30-(PHA21-PHA20)/2. IF (PHA11.GT.0.) THEN PHA11=0. PHA31=1 - PHA21 ENDIF IF (PHA31.GT.0.) THEN PHA31=0. PHA11=1 - PHA21 ENDIF rhasF(2)=PHA21 rhasF(1)=PHA11 rhasF(3)=PHA31 XMATF(12)=PHA21 ELSE IF (PHA10.GT.0.) THEN C ->calcul des nouvelles phases si martensite revenue rhasF(2)=PHA21 rhasF(1)=1. - PHA21 rhasF(3)=0. XMATF(12)=PHA21 ELSE C ->calcul des nouvelles phases si martensite rhasF(2)=PHA21 rhasF(3)=1. - PHA21 rhasF(1)=0. XMATF(12)=PHA21 ENDIF ENDIF ENDIF ENDIF rhasF(2)=1. rhasF(3)=0. rhasF(1)=0. XMATF(12)=1. ENDIF C>>>>>transformation liquide-solide(loi linéaire) rhasF(2)=1.d0 - rhasF(4) rhasF(1)=0. rhasF(3)=0. XMATF(12)=1. ENDIF rhasF(4)=1. rhasF(2)=0. rhasF(1)=0. XMATF(12)=1. XMATF(1)=1. rhasF(3)=0. ENDIF rhasF(4)=0. rhasF(2)=1. rhasF(1)=0. XMATF(12)=1. rhasF(3)=0. ENDIF C C>>>>>transformation martensitique PHA31_2 = EXP(PHA31_1) PHA31_3=XMATF(12) * (1-PHA31_2) PHA11=PHA10 PHA21=XMATF(12) - PHA31_3 PHA31=1 - (PHA11 + PHA21) IF (PHA21.LT.1.d-03) THEN PHA21=0. PHA11=PHA10 PHA31=1 - PHA11 rhasF(4)=0. ENDIF C ->sorties rhasF(1)=PHA11 rhasF(2)=PHA21 rhasF(3)=PHA31 ENDIF C C>>>>>transformation martensite revenue rhasF(5)=0. C c if(iele.eq.1.and.igau.eq.3) write(6,*) (rhasF(jj),jj= 1,5) do 80 jj = 2,15 if (jj.eq.12) goto 80 xmatf(jj) = valma0(jj) 80 continue C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales