devflo
C DEVFLO SOURCE PV 22/04/21 08:32:51 11344 * XMAT,NCOMAT,NSTRS,NVARI,EVP1,VARP1,TAU) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION SIG(*),VAR(*),XMAT(*),EVP1(*),VARP1(*) DIMENSION SS(6),EPS0(6),epsv(8) C_____________________________________________________________________ C C STEP-2 : COMPUTATION OF SEQUV C ------------------------------ SIGM=0.333333333333333D0*(SIG(1)+SIG(2)+SIG(3)) DO 40 I=1,NSTRS A =0.0D0 IF(I.LE.3) A=1.0D0 SS(I)=SIG(I)-A*SIGM 40 CONTINUE SEQUV = SQRT(1.5D0*SEQUV) EPSE = VAR(1) IF (SEQUV.LT.10.) THEN SEQUV = 10. ENDIF DEPSCP = 0. DEPSCS = 0. VAR(12) = 0. IF (INPLAS.EQ.85) THEN C C CCPL C COE1 = XMAT(6) * (SEQUV ** XMAT(7)) * XMAT(8) COE2 = XMAT(9) * (SEQUV ** XMAT(10)) * XMAT(11) COE3 = XMAT(12) * (SEQUV ** XMAT(13)) * XMAT(14) IF (COE1.GT.COE2) THEN COEI = COE1 ELSE COEI = COE2 ENDIF IF (COEI.LT.COE3) THEN COEFF = COEI ELSE COEFF = COE3 ENDIF DEP11 = COEFF * (1 + XMAT(19) * XMAT(18)) DEP12 = XMAT(15) * SEQUV ** XMAT(16) * XMAT(17) * & XMAT(18) DEPSCP = DEP11 + DEP12 ELSE IF (INPLAS.EQ.102) THEN C C SODERBERG C EPSE1 = VAR(2) EPSE2 = VAR(3) C terme secondaire COE1 = XMAT(6) * (SEQUV ** XMAT(7)) * XMAT(8) COE2 = XMAT(9) * (SEQUV ** XMAT(10)) * XMAT(11) COE3 = XMAT(12) * (SEQUV ** XMAT(13)) * XMAT(14) IF (COE1.GT.COE2) THEN COEI = COE1 ELSE COEI = COE2 ENDIF IF (COEI.LT.COE3) THEN COEFF = COEI ELSE COEFF = COE3 ENDIF DEP11 = COEFF * (1 + XMAT(19) * XMAT(18)) DEP12 = XMAT(15) * SEQUV ** XMAT(16) * XMAT(17) * & XMAT(18) DEPSCS = DEP11 + DEP12 C terme primaire de type E1 * (1-exp(-Rt)) E1_AMP = (XMAT(20) * EXP (XMAT(21) * SEQUV)) + XMAT(22) RTOT = (XMAT(23) + (XMAT(24) * SEQUV)) ** XMAT(25) DEPSCP = RTOT * (E1_AMP - EPSE1) VARP1(2) = DEPSCP VARP1(3) = DEPSCS ELSE IF (INPLAS.EQ.86) THEN C C X11 C E0 = XMAT(15) * TANH(XMAT(16) * SEQUV) VP0 = XMAT(13) * SINH(XMAT(14) * SEQUV) VS0 = XMAT(11) * SINH(XMAT(12) * SEQUV) VPF = XMAT(6) * EXP(-XMAT(7) * XMAT(17))+ & (1. - XMAT(6)) * EXP(-XMAT(8) * XMAT(17)) VSF = (1. - XMAT(9)) * EXP(-XMAT(10)*XMAT(17)) & + XMAT(9) DEPSCP = (VS0 * VSF) + ((VP0 * VPF) - (VS0 * VSF)) & * EXP(-EPSE/E0) ELSE IF (INPLAS.EQ.84) THEN C C COMETE C EPSE1 = VAR(2) EPSE2 = VAR(3) IF (EPSE1.LT.1E-40) THEN EPFIN1 = XMAT(6) * (SEQUV ** XMAT(7)) * & (TAU**XMAT(8)) COE12 = EPFIN1/TAU VAR(12) = 2. ELSE PUI1 = (XMAT(8) - 1.)/XMAT(8) COE11 = XMAT(6) * (SEQUV ** XMAT(7)) COE12 = XMAT(8) * (COE11 ** (1/XMAT(8))) * & (EPSE1 ** PUI1) ENDIF IF (EPSE2.LT.1E-40) THEN EPFIN2 = XMAT(9) * (SEQUV ** XMAT(10)) * & (TAU**XMAT(12)) * (XMAT(13) ** XMAT(11)) COE22 = EPFIN2/TAU VAR(12) = 3. ELSE PUI2 = (XMAT(12) - 1.)/XMAT(12) COE21 = XMAT(9) * (SEQUV ** XMAT(10)) COE22 = XMAT(12) * (COE21 ** (1/XMAT(12))) * & (EPSE2 ** PUI2) * (XMAT(13) ** XMAT(11)) ENDIF DEPSCP = COE12 DEPSCS = COE22 VARP1(2) = DEPSCP VARP1(3) = DEPSCS ENDIF DEPST = DEPSCP + DEPSCS CONS=1.5D0*DEPST/SEQUV DO 70 I=1,NSTRS 70 EPS0(I)=CONS*SS(I) DO 11 I=1,NSTRS EVP1(I)=EPS0(I) 11 CONTINUE VARP1(1) = DEPST C print*,VARP1(1),EVP1(1),EVP1(2),EVP1(3) RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales