1 : C FLUXBC SOURCE CHAT 05/01/13 00:05:13 5004 2 : 3 : FUNCTION FLUXBC (RX1,ZX1,RX2,ZX2,DSURF,NE,ELIP) 4 : IMPLICIT INTEGER(I-N) 5 : IMPLICIT REAL*8 (A-H,O-Z) 6 : REAL*8 RX1,RX2,ZX1,ZX2,DSURF,AS1,F,DH,AX 7 : REAL*8 ELI1,ELI2,ELI 8 : INTEGER NF,NE 9 : DIMENSION ELIP(101) 10 : 11 : C WRITE(6,*) '##FluxBC##' 12 : IF (RX2.EQ.0) THEN 13 : c WRITE(6,*) 'ERREUR il faut un rayon d inducteur > 0 ' 13 : call erreur(959) 14 : else 15 : 16 : IF (RX1.EQ.0) THEN 17 : FLUXBC=0. 18 : ELSE 19 : F=8.54 20 : DH=DSURF/F 21 : AS1= (RX1*RX1)+(RX2*RX2)+((ZX1-ZX2)**2) 22 : as1 = as1 + dh 23 : * IF ((AS1-(2*RX1*RX2)).LE.DH) THEN 24 : * AS1=(2*RX1*RX2)+DH 25 : * END IF 26 : AX= RX1*RX2/AS1 27 : NF=INT (2*AX*NE) 28 : ELI1=ELIP(NF+1)*(NF+1-(2*AX*NE)) 29 : ELI2=ELIP(NF+2)*((2*AX*NE)-NF) 30 : ELI=ELI1+ELI2 31 : ELI=ELI-(0.707107*(LOG(1-(4*AX*AX))))+(0.3127313*AX*AX) 32 : FLUXBC=ELI*(AS1**0.5)/10. 33 : RETURN 34 : END IF 35 : end if 36 : return 37 : END 38 : 39 :
© Cast3M 2003 - All rights reserved.
Disclaimer