W

5  Могут решаться, как явные (y’=f (t, у)), так и неявные…

On 05.04.2011, in Программирование, by admin

5  Могут решаться, как явные (y’=f (t, у)), так и неявные (Ау’ =/(t, у)) системы. Если система явная, то задается рагат( 19) = 0 и матрица А не адресуется. В случае неявной системы рагат(\Л) определяет вид матрицы А. Если рагат( 19) = 1, то А – матрица (далее…)

 
W

Осевое направление z рассматривается как временная…

On 05.04.2011, in Программирование, by admin

Осевое направление z рассматривается как временная координата, радиус г – как пространственная переменная.

Обсуждение:

Решается нелинейная задача, данная в цилиндрических координатах. Для работы с такими координатами задается опция m = 1. При вычислениях используется дифференцирование назад.

345

1 -1-1-1

0.0 0.25 (далее…)

 
W

Употребляем дифференцирование

On 05.04.2011, in Программирование, by admin

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_ (далее…)

 
W

Интегрирование завершено а сопровождение нет

On 04.04.2011, in Программирование, by admin

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) ! Текст (далее…)

 
W

Переход к следующей выходной точке

On 04.04.2011, in Программирование, by admin

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) (далее…)

 
W

что делает проблему весьма примечательной

On 04.04.2011, in Программирование, by admin

(1-ехр(-а))(1-(1+ 2а)ехр(-2а))(1- ехр(-а)+ exp(-f))

Эта задача содержит определенную во всей области неизвестную функцию м0с,0=—-f

1 – ехр(-а) + ехр(~0

что делает проблему весьма примечательной. Решение задачи посредством подпрограммы PDE1D MG становится возможным после введения двух уравнений

а

v1(t) (далее…)

 
W

D_pde_l d_mg_beta = zero if(pde_ld_mg_left) then…

On 04.04.2011, in Программирование, by admin

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, (далее…)

 
W

Do i= 1, npde + 1 write(7, "(4el5.5)") u(i,:) end do tout…

On 03.04.2011, in Программирование, by admin

do i= 1, npde + 1 write(7, "(4el5.5)") u(i,:) end do

tout = min(tout + delta_t, tend) if(tO = tend) ido = 3 end if

case(3) ! Интегрирование завершено

close(unit = 7) . ! Графический вывод allocate(uv(2, n)) uv(l, :) = u(npde+ 1,:)

uv(2,:) = u( 1,:) ! Выводим график (далее…)

 
W

Use pde_ld_mg_int use error_option_packet…

On 03.04.2011, in Программирование, by admin

use pde_ld_mg_int use error_option_packet implicit none

integer, parameter :: npde = 2, nl = 10, n2 = 51, n = nl + n2 integer i, ido, nframes

real(kind(ldO)) u(npde + 1, n), tO, tout, dxl, dx2, diff

real(kind(ldO)):: zero = OdO, one = IdO, delta_t = ld-1, tend = 5d0, xmax = 25d0 real(kind(ldO)):: uO = IdO, ul = OdO, tdelta = ld-1, tol = ld-2 type(d_options) iopt(3)

! Массив,
(далее…)

 
W

Граничные… используемая сетка

On 03.04.2011, in Программирование, by admin

с={сд}=

о

- v

(2 =

о

Vv"*y

Граничные условия задаются равенствами ги – ехр(-20ґ)^ v

Р = 0, у = при X = Хі и

ч

и-1

Vv

у

Р = 0, у =

при X = дгл.

При интегрировании (далее…)