Численное решение задачи с помощью пакета Maple. Сравнение с результатами приближённого аналитического решения
Далее было проведено сравнение результатов приближённого аналитического решения с численным решением, полученным в среде Maple для второй фазы. Приближенное аналитическое решение показало хорошую точность в сравнении с численным решением, максимальное относительное расхождение не превысило 7,75%.
ПРИЛОЖЕНИЕ1
Листинг программы численного решения поставленной задачи при условиях ( м, м) и первая фаза в математическом пакете Maple:
> PDE := diff(P(r, t), t) = 1 / r * diff(r * diff(P(r, t), r), r);[c] := 2e-4: Q[c] := 0.1: x := Q[c] / 2 / R[c]: R[f] := 4*sqrt(t);:= {P(r, 0) = 1, D[1](P)(R[c], t) = x, D[1](P)(R[f], t) = 0};:= pdsolve(PDE, BC, numeric, spacestep=0.001):
> P := SOL :- value()::= [1e-10, 1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 2.5e-5, 1e-4, 1e-3, 1e-2, 6.25e-2]:("t, c\t\tRf(t), м\tPc(t), Па\t\n\n"):i in tau do
s := P(R[c], i):
v := 4*sqrt(i):
printf("%0.2e\t%0.7f\t%0.7f\n", op(2, s[2]), v, op(2, s[3])):::- plot3d(r=R[c] 1, t=1e-10 6.25e-2, axes = boxed);:- plot(r=R[c], t=1e-10 6.25e-2, axes = normal);
ПРИЛОЖЕНИЕ2
Листинг программы численного решения поставленной задачи при условиях ( м, м) и вторая фаза в математическом пакете Maple:
> restart::= diff(P(r, t), t) = 1 / r * diff(r * diff(P(r, t), r), r);[c] := 2e-4: Q[c] := 0.1: x := Q[c] / 2 / R[c]: := {P(r, 0) = 1, D[1](P)(R[c], t) = x, D[1](P)(1, t) = 0};:= pdsolve(PDE, BC, numeric, timestep=1e-2, spacestep=0.001):
> tau := [6.25e-2, 0.1, 0.5, 1, 2, 3, 3.5]:("t, c\t\tPc(t), Па\tPk(t), Па\n\n"):i in tau do:= P(R[c], i)::= P(1, i):
printf("%0.2e\t%0.7f\t%0.7f\n", op(2, s[2]), op(2, s[3]), op(2, d[3]))::
SOL :- plot(r=R[c], t=6.25e-2 3,labels = [t, Pc], axes = normal);:- plot(r=1, t=6.25e-2 3,labels = [t, Pk], axes = normal);:- plot3d(r=R[c] 2e-4, t=1e-10 3, axes = normal);