в общем есть программа, но я не знаю правильно она работает или нет. и надо в ней кусок проверить
Код:
R:=Rs*(1+q);
for i:=1 to N - 1 do // цикл по сетке
begin
R[i]:=Rs*q^(i);
R[i-0.5]:=0.5*(R[i]+R[i-1]);
R[i+0.5]:=0.5*(R[i+1]+R[i]);
V:=0.5*((R[i+0.5])*(R[i+0.5])-(R[i-0.5])*(R[i-0.5]));
A[i]:=pepr*dT*((R[i-0.5])/(R[i]-R[i-1]));
C[i]:=(V+pepr*dT*(((R[i-0.5])/(R[i]-R[i-1]))-((R[i+0.5])/(R[i+1]-R[i]));
B[i]:=Pepr*dT*((R[i+0.5])/(R[i+1]-R[i]);
F[i]:=V*P2[i];
R:=R+(R[i]-R[i-1]);
end;
все делается чисто неявным методом, шаг по сетке переменный в геометрической прогрессии-то есть R(i) больше R(i-1) в q раз. хотелось бы узнать, правильно ли я расписал элементы R[i]? и если кто то понимает в численных методах и уравнениях параболического типа (пьезопроводность) не могли бы помочь? в долгу не останусь)