Подпрограмма REAVZI. Взаимная индуктивность круговых контуров

Пп вычисляет полные эллиптические интегралы первого и второго рода и взаимную индуктивность нитевидных контуров по формуле (1.14).

Вызов: CALL REAVZI(R1,R2,Y,EPS,PID2, VZI)

SUBROUTINE REAVZI(R1,R2,Y,EPS,PID2, VZI)

!Рассчит-ет полн.эллиптич.интегр.перв.ЕИК и второго ELLE рода !и взаимн.индуктивность VZI двух нитевидн.коаксиальных контуров !с радиусами R1,R2 и расстоян. Y между паралл.плоскостями, в которых !лежат эти контуры. Рассчитанная в этой пп вз.инд.контуров VZI не умножена !на магн.проницаем.воздуха мю. Поэтому результат VZI надо ещё умножать на мю.

! EPS-точность вычисления эллипт.интегралов !РЮ2- число пи, делённое на 2.

!Для вычисления эллиптических интегралов в пп реализован алгоритм !арифметико-геометрического среднего

implicit none

REAL*8 Rl,R2,Y,EPS,PID2,VZI,znam,ak2,akc2,b,s,a,al,bl,ce,ellk,elle integer nt

ZNAM=(R1+R2)**2+Y*Y !3наменатель квадрата модуля элл.интегралов

AK2=4dO*Rl*R2/ZNAM !Квадрат модуля элл.интегралов AKC2=ldO-AK2 !Квадрат дополнительного модуля элл.интегралов

B=SQRT(AKC2) !Начальное зн-е В

NT=1; S=AK2 ИНачальное зн-е суммы

A=ldO !Начальное зн-еА

20 NT=2*NT !Цикл для реализации алгоритма

Al=(A+B)/2d0; B1=SQRT(A*B); CE=(A-B)/2d0; S=S+CE*CE*NT IF(ABS(CE).LT.EPS) GOTO 19 !Условие выхода из цикла А=А1; В=В1 GOTO 20

19 ELLK=PID2/A1 !Полный эллиптич.интеграл первого рода

ELLE=ELLK*(ld0-S/2d0) !Полный эллиптич.интеграл второго рода VZI=((ld0-AK2/2d0)*ELLK-ELLE)*SQRT(ZNAM) !Вз.инд.нитев.контуров без множителя мю END

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >