champm
C CHAMPM SOURCE CHAT 05/01/12 21:55:18 5004 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC CCREEL REAL*8 RX,ZX,RXC,ZXC,SURF,Z REAL*8 CHGR,CHGZ REAL*8 FCIR,DH,AX,AS1,AS2,ELI,DELI INTEGER NE,NF DIMENSION ELIP(101),DELIP(101) C WRITE(6,*) '##ChampMag##','RX=',RX IF (RXC.EQ.0.) THEN c WRITE(6,*) 'ERREUR il faut un rayon d inducteur > 0 ' ELSE F=8.54 DH=SURF/F AS1= (RX*RX)+(RXC*RXC)+((ZX-ZXC)*(ZX-ZXC)) as1 = as1 + dh * IF ((AS1-(2*RX*RXC)).LE.DH) THEN * AS1=(2*RX*RXC)+DH * END IF AS2= AS1**0.5 AX= RX*RXC/AS1 NF= INT(2*AX*NE) IF (NF.LT.NE) THEN ELI= (ELIP(NF+1)*(NF+1-(2*AX*NE)))+(ELIP(NF+2)*((2*AX*NE)-NF)) C WRITE(6,*) 'ELI=',ELI DELI=(DELIP(NF+1)*(NF+1-(2*AX*NE)))+(DELIP(NF+2)*((2*AX*NE)-NF)) ELI=ELI-(0.707107*(LOG(1-(4*AX*AX))))+(0.3127313*AX*AX) DELI=DELI+(5.656856*AX/(1-(4*AX*AX)))+(0.625463*AX) FCIR=(2*AX*DELI)-ELI IF (RX.EQ.0 ) THEN CHGR= 0. Z= ABS(ZXC-ZX) c BZ=(2.*xpi*1.e-1)*((rxc/z)**3)*((1.+(rxc/z)**2)**(-1.5))*(1./rxc) BZ=(2.*xpi*1.e-1)*((1.+(z/rxc)**2)**(-1.5))*(1./rxc) ELSE CHGR=FCIR/(10.*RX*AS1)*AS2*(ZX-ZXC) FCIR=(RXC/RX*DELI)-FCIR BZ= FCIR/(10.*AS1)*AS2 END IF ELSE WRITE(6,*) 'Attention NF=',NF,'>=NE=',NE,'B non calcule' END IF END IF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales