C FLUXBC SOURCE CHAT 05/01/13 00:05:13 5004 FUNCTION FLUXBC (RX1,ZX1,RX2,ZX2,DSURF,NE,ELIP) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) REAL*8 RX1,RX2,ZX1,ZX2,DSURF,AS1,F,DH,AX REAL*8 ELI1,ELI2,ELI INTEGER NF,NE DIMENSION ELIP(101) C WRITE(6,*) '##FluxBC##' IF (RX2.EQ.0) THEN c WRITE(6,*) 'ERREUR il faut un rayon d inducteur > 0 ' call erreur(959) else IF (RX1.EQ.0) THEN FLUXBC=0. ELSE F=8.54 DH=DSURF/F AS1= (RX1*RX1)+(RX2*RX2)+((ZX1-ZX2)**2) as1 = as1 + dh * IF ((AS1-(2*RX1*RX2)).LE.DH) THEN * AS1=(2*RX1*RX2)+DH * END IF AX= RX1*RX2/AS1 NF=INT (2*AX*NE) ELI1=ELIP(NF+1)*(NF+1-(2*AX*NE)) ELI2=ELIP(NF+2)*((2*AX*NE)-NF) ELI=ELI1+ELI2 ELI=ELI-(0.707107*(LOG(1-(4*AX*AX))))+(0.3127313*AX*AX) FLUXBC=ELI*(AS1**0.5)/10. RETURN END IF end if return END