farca
C FARCA SOURCE CB215821 17/07/21 21:15:09 9513 IMPLICIT INTEGER(I-N) REAL*8 X,A,B,C,D,E REAL*8 T,ARG,DE REAL*8 R,COST,SINT,RES,MU,TD REAL*8 A2,B2,XI REAL*8 PREC CCCCC CASTEM 2000 interdit COMPLEX*16..... C COMPLEX*16 Z1,FNUM1,DENRED,TMP COMPLEX*16 Z1,FNUM1,DENRED,TMP C DATA PREC/1.D-8/ C SA=SQRT(A) AL=1.-D/SA BE=1.+D/SA DELTA=B**2-4.*A*C RE=-E+R*COST/(D-SA) IM=R*SINT/(D-SA) Z1=CMPLX(RE,IM) C T=-SA*X+SQRT(A*X**2+B*X+C) DE=B-2.*SA*T C0=1./(4.*A) C IF(ABS(IM).GT.PREC) THEN IF((ABS(DE).GT.PREC).AND.(ABS(DELTA).GT.PREC)) THEN ARG=(T-RE)/IM C4=(B**2-4.*A*C)**2/(8.*A**1.5) DENRED=(B-2.*SA*Z1)**3 TMP=(Z1**2-C)**2 & *(2.*A*AL*Z1**2-2.*B*SA*AL*Z1+B**2-2.*A*C*BE) FNUM1=TMP/DENRED C5=AIMAG(FNUM1)/IM C6=REAL(FNUM1)-C5*RE K1=K1-C4*(2.*B**3+24.*A*B*C)/DELTA**2 K1=K1-2.*(C5*C*(B-2.*E*SA)-C6*(E*B-2.*C*SA))/R**2 K2=-C0*DELTA/(2.*SA) K2=K2-C4*(3.*B**2+4.*A*C)/DELTA**2 K2=K2+(C5*(E*B-2.*C*SA)-C6*(B-2.*E*SA))/(2.*SA*R**2) C3=B*K2-0.5*K1 & +C3/(2.*SA*DE)+C4/(4.*SA*DE**2) & +(C5*0.5*LOG(ABS(T**2-2.*RE*T+(RE**2+IM**2))) & +(C6+RE*C5)/IM*ATAN(ARG))/(D-SA) ELSE A2=D+SA B2=B/(2.*SA)+E XI=A2*X+B2 RES=(0.5*XI*(XI-4.*B2)+B2**2*LOG(ABS(XI)))/(A2**2) ENDIF ELSE IF((ABS(DE).GT.PREC).AND.(ABS(DELTA).GT.PREC)) THEN TD=(E*SA-0.5*B)/(D-SA) MU=-D*R-E C5=2.*R**2 C4=2.*MU**4/(A*SA) K1=K1+C5*TD*DELTA/(TD**2-C) K2=-C0*0.5*DELTA/SA-C4*(3.*B**2+4.*A*C)/DELTA**2 K2=K2+C5*DELTA*0.5/((TD**2-C)*SA) C3=B*K2-K1 & +C3/(2.*SA*DE)+C4/(4.*SA*DE**2) & +C5*LOG(ABS(T-TD)) ELSE A2=D+SA B2=B/(2.*SA)+E XI=A2*X+B2 RES=(0.5*XI*(XI-4.*B2)+B2**2*LOG(ABS(XI)))/(A2**2) ENDIF ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales