Метод Рунге-Кутты 4го порядка для уравнений двигателя постоянного тока по второму закону Киргофа

Здравствуйте. Нужен взгляд человека понимающего Pascal. По мере обучения в своей альма-матер понадобился расчёт уравнений двигателя постоянного тока по второму закону Киргофа методом Рунге-Кутты 4го порядка, кратко о нём:
1.Закон Киргофа для ДПТ:
U=I*R+L*∂I/∂t+ω*Ce;
I*Cm=J*∂ω/∂t+Mст
далее уравнения приводятся к форме задачи Коши:
∂I/∂t=(U-I-R-ω*Ce)/L
∂ω/∂t=(I*Cm-Mст) /J
далее уравнения дифференцируют для удобства записи (на шаге k+1):
Ik+1=Ik+Δt*(U-Ik-R-ωk*Ce)/L
ωk+1=ωk+Δt*(Ik*Cm-Mст) /J
и собственно сам метод Рунге-Кутты
k11 = dt*((U-Ik*R-ωk*Ce)/L)
k21 = dt*((U-Ik*R-ωk*Ce)/L) + k11/2
k31 = dt*((U-Ik*R-ωk*Ce)/L) + k21/2
k41 = dt*((U-Ik*R-ωk*Ce)/L) + k31/2

k12 = dt*((Ik*Cm-Mc)/J)
k22 = dt*((Ik*Cm-Mc)/J) + k12/2
k32 = dt*((Ik*Cm-Mc)/J) + k22/2
k42 = dt*((Ik*Cm-Mc)/J) + k32/2
тогда
Ik=(Ik+1/6*(k11+k21*2+k31*2+k41))
ωk=(ωk+1/6*(k12+k22*2+k32*2+k42))

Код:
http://pastebin.com/AKPVaQGQ
Конкретно выдаёт деление на ноль, не могу увидеть ошибку, хотелось бы мнение со стороны узнать.

  • При обращении к функциям difurI и difurW реальное параметры (fi_, Js, Mc и т. д. ) не соответствуют формальным параметрам в описании этих функций.
  • Ничего не исправил:
    function difurW(fi_,Js,Mc,Cmf:real):real;
    Обращение к ней:
    k11:=dt*difurW(t+dt,fi_[n],Mc,Js);
    В прототипе Js - 2 параметр, в обращении -4!И сразу же получаем деление на 0, т. как fi(0) =0.

Вас заинтересует