5 Могут решаться, как явные (y’=f (t, у)), так и неявные (Ау’ =/(t, у)) системы. Если система явная, то задается рагат( 19) = 0 и матрица А не адресуется. В случае неявной системы рагат(\Л) определяет вид матрицы А. Если рагат( 19) = 1, то А – матрица (далее…)
Осевое направление z рассматривается как временная координата, радиус г – как пространственная переменная.
Обсуждение:
Решается нелинейная задача, данная в цилиндрических координатах. Для работы с такими координатами задается опция m = 1. При вычислениях используется дифференцирование назад.
345
1 -1-1-1
0.0 0.25 (далее…)
mid = half *(u(2,2:n) +u(2,l :n-1))
v_2 = half* sum(mid * exp(-mid) * (u(l, l:n – 1) + u(l, 2:n)) * (u(2, 2:n)-u(2,l:n -1))) d_pde_ld_mg_beta = zero
d_pde_ 1 d_mg_gamma = g(one, d_pde_ 1 d_mg_t) * &
v_l * v_2 / (v_l + one)**2 – d_pde_ 1 d_mg_u
else
d_pde_ld_mg_beta = zero d_pde_ (далее…)
kt = kt + 1 uv(l, kt) = t0 uv(2, kt) = u(l, 1) write(7, "(fl0.5)") tout do і = 1, npde + 1 write(7, "(4el5.5)") u(i,:) end do
tout = min(tout + delta_t, tend) if(t0 = tend) ido = 3 end if
case(3) ! Интегрирование завершено
close(unit = 7)
! Графический вывод! Прежде строим график и(х – 0, t) ! Текст (далее…)
integer, parameter :: npde = 1, n = 101
integer ido, i, nframes, kt \kt – число шагов по переменной t
real(kind(ld0)) u(npde + 1, n), mid(n – 1), tO, tout, v_l, v_2
real(kind(ld0)):: zero = OdO, half = 5d-l, one = IdO, &
two = 2d0, four = 4d0, delta_t = ld-1, tend = 5d0, a = 5d0 type(d_options) (далее…)
(1-ехр(-а))(1-(1+ 2а)ехр(-2а))(1- ехр(-а)+ exp(-f))
Эта задача содержит определенную во всей области неизвестную функцию м0с,0=—-f
1 – ехр(-а) + ехр(~0
что делает проблему весьма примечательной. Решение задачи посредством подпрограммы PDE1D MG становится возможным после введения двух уравнений
а
v1(t) (далее…)
40 По-другому файловый указатель называют маркер файла, стрелка файла и даже окно.
В двоичном файле преобразование символов CR — LF подавляется.
#define EOF (—1) используется для проверки конца файла, как правило, при посимвольном чтении из файла; при построчном вводе для определения конца файла обычно применяют значение NULL, так как при достижении конца файла будет получен нулевой указатель.
d_pde_l d_mg_beta = zero if(pde_ld_mg_left) then diff= exp(-20d0 * d_pde_ld_mg_t) ! Обеспечиваем непрерывность граничных условий d_pde_ld_mg_gamma = (/d_pde_ld_mg_u(l) – diff, d_pde_ld_mg_u(2) f) else
d_pde_ 1 d_mg_gamma = (/ d_pde_ld_mg_u(l) – one, d_pde_ld_mg_dudx(2) Г) end if end select
! Применяем дифференцирование назад call pde_ld_mg(tO, (далее…)
Свежие комментарии