Oshkormas sxema ko’chirish


Download 222.99 Kb.
Sana21.02.2023
Hajmi222.99 Kb.
#1219055
Bog'liq
labaratoriya4

Mavzu: Giperbolik tipdagi tenglama uchun to’rlar usuli. oshkor sxema.


oshkormas sxema. ko’chirish tenglamasini sonli yechish. to’lqin tenglamasini sonli yechish. Ko’p o’lchovli to’lqin tenglamasini sonli yechish.

  1. To’lqin tenglamasi uchun aralash masalaning qo’yilishi

  2. Ayirmali masala qo’yilishi

  3. Oshkor va oshkormas sxemalar

  4. Misol

  5. Topshiriqlarni bajarish tartibi

  6. Topshiriq variantlari



  1. To’lqin tenglamasi uchun aralash masalaning qo’yilishi Birjinsli tor tebranish tenglamasini qaraymiz [1]


2u 2u
   

t 2
x2
f ( x,t ),
0 x 1,
0 t T . (1)

bu yerda u – torning gorizontdan chetlanishi, t – vaqt, x - koordinata, f(x,t) yashqi kuchlar, T- tebranish o’rganilayotgan vaqtning maksimal qiymati.
Boshlang`ich momentda

u(x,0)  u0
(x),
u(x,0) u
t 0
(x)


(2)

shartlar berilgan, bu erda u0(x) boshlang`ich chetlashish va tezlik.
u0 (x)
- boshlang`ich

Tor oxirlari quyidagi berilgan qonun bo`yicha harakatlansin
u( 0,t ) 1( t ), u( 1,t ) 2 ( t ) . (3)
1 (t), 2 (t) - berilgan funksiyalar.
  1. Ayirmali masala qo’yilishi




D={0 x 1, 0 t T} sohada h
to’rni kiritamiz, bu yerda
h


 ih, j ,




i  0, I,


j  0, J

k xi ih , i 0, 1,

t j
j ,
j  0, 1,


h 1 ,
I
  T .
J



y

i
j orqali y funksiyaning
h to’rning (xi, tj) tugun nuqtasidagi qiymatini



belgilaymiz
Quyidagi vaznli sxemalar oilasini qaraymiz

ytt y  (1 2 ) y y ,
bu yerda
(4)


j
  f x, t ,


y y j ,
y y j1 ,
y y j1 ,
y y y ,
t
y y ,

y
t



y yxx ,


ytt
yt yt

y  2 y y
2 ,

 - haqiqiy parametr.
Boshlang’ich va chegaraviy shartlarni quyidagicha approksimatsiya qilamiz:

y0 1(t),
yI 2 (t),
y(x,0)  u0 (x),
y (x,0)  u~ (x),

x h ,

t
(5)


t 0

0
bu yerda u~ (x)
quyidagicha aniqlanadi.

Chegaraviy shartlar va birinchi u(x,0)=u0(x) boshlang`ich shart
h
to`rda

aniq bajariladi.
u~ (x)
ni shunday tanlaymizki.
u~(x) u(x,0) u~(x) u0 (x)
t


0
approksimatsiya xatoligi
O( 2 )
kattalik bo`lsin. Quyidagi


t
u (x,0) u(x,0) 0,5u(x,0) o( 2 ) u0 (x) 0,5 u (x,0) f (x,0) o( 2 )

0
u0 (x) 0,5 u (x) f (x,0) o( 2 )

formuladan ko`rinadiki u~ (x)  u (x,0)  o( 2 )
belgilashni qo`ysak quyidagini hosil

0 t
qilamiz
u~ (x) u0 (x) 0,5 u (x) f (x,0).. (6)
0 0
Shunday qilib, (4), ayirmali masala (5), (6) shartlarda yechiladi.
Approksimatsiya xatoligi O(2+h2).


  1. Oshkor va oshkormas sxemalar


y y j1
bo’lamiz
ni aniqlash uchun (4) dan quyidagiga chegaraviy masalaga ega

 2y j1y j1  1 2 2y j1  F ,
0  i I ,
(7)

i1 i1 i i
y0=1, yI=, =/h ,
F  2y j y j1  2 1  2y j  2y j1 2 .
i i i i i
(7) progonka usuli bilan yechilishi mumkin. > 0 bo’lganda progonka usuli turg’un
 parametrning qiymati bilan aniqlandigan turli xususiy hollarni qaraymiz. Faraz qilayliz  = 0 bo’lsin. U holda (4) dan quyidagiga ega bo’lamiz

ytt
yxx

b uni indeksli ko’rinishda yozsak:

y j 1 2 y j y j 1
y j  2 y j y j

i i i i1 i i1 j
(8)

2 h2 i

i i j
bu yerda j f (x , t ) .




y
j 1
i
yechim (8) dan oshkor ko’rinishda topiladi

y j1 y j1 2 y j

  • y j

 21 2y j 2 j ,

i  1, I 1.
(9)

i i i1 i1 i i



i
Значение y j1 ning qiymati t = tj+1 (yangi qatlam) qatlamdagi (9) formuladan




i
oshkor holda topiladi, uni topishda j - va j-1 –qatlamlardagi
y j ,
j 1

y
i
lardan


i

0
foydalaniladi. Shunday qilib, j=0 da y 0u
xi
berilgan, j=1 da esa (5) dan

quyidagiga ega bo’lamiz
y j y0u~ x   u x  u~ x   u x ,
i i 0 i 0 i 0 i 0 i




  1. y

    i
    formuladan foydalanib esa ikkinchi qatlamdan boshlab

qiymatini toppish mumkin. Masalan
j ixtiyoriy qatlamdagi

y 2   y 0 2y1y1
 21  2y1 2 1

i i i1
 u x   2u x
i1 i i
 u x   21  2u x   2 1 .

0 i 0
i 1
0 i 1
0 i i




    1. sxema oshkor sxema deyiladi. U nuqtalardan (xi1, tj), (xi, tj), (xi, tj1) iborat “xoch” shablonda aniqlangan.

=1/2 bo’lganda (4) dan quyidagiga ega bo’lamiz


y
1 y y
tt 2
Indeksli ko’rinishda esa

y j 1 2 y j y j 1
1 y j 1 2 y j 1 y j 1 y j 1 2 y j 1 y j 1 j

i i i i 1 i i 1 i 1 i i 1 i ,
i  1, I  1,
j  1, J 1 .


2



h




2 h2 2
Bu tenglamalardan to’r funksiyaning j+1 – qatlamdagi (j=1, 2, …) qiymatlariga nisbatan tenglamalar sistemasiga ega bo’lamiz:

2 y j 1  21  2 y j 1 2 y j 1  F ,
i  1, I  1, j  1, J  1,
(10)

bu yerda
i1
i i1 i

F  4y j 2 y j 1 y j 1  21  2 y j 1 2 j
i i i1 i1 i i

    1. tenglamalar sistemasi progonka usulida yechiladi. U yeti nuqtali shablonda aniqlangan

(xi1, tj1), (xi, tj), (xi, tj1).
Umuman olganda (7) tenglama to’qqiz nuqtadan iborat shablonda aniqlangan
(xi1, tj1), (xi1, tj), (xi, tj), (xi, tj1).
(7) ayirmali sxema quyidagi shartda turg’un

  1
4
1 .
4 2


(11)

Xususan, =0 bo’lganda (11) dan (9) ning turg’unlik shartiga ega bo’lamiz
1, т.е. h. (12)
Bu shart Kurant sharti deb yuritiladi. Quyidagi tenglama uchun

2u
t 2
22u a x 2
(13)

bu shart mana bunday ko’rinishga ega
  h .
a
(14)



6. Topshiriq variantlari



To’lqin tenglamasi uchun aralash masalani
2u 2u
(1)


va bir jinsli chegaraviy shartlarda yeching
u(0, t) = u(l, t) = 0 .
u 0(x), u0(x) funksiyalarning ko`rinishi va boshqa kerakli parametrlarning qiymatlari 2-jadvalda keltirilgan.

C++ dagi kurinishi quyidagicha
Dastur yordamida 9 qadamgacha yechimlar olingan
#include
#include
using namespace std;
int main()
{ float y[11][11],x[11],u[11],u_[11];
for(int i=0;i<=10;i++)
{ x[i]=i*0.1; }
for(int i=0;i<=2;i++)
{ u[i]=0; }
for(int i=3;i<=4;i++)
{ u[i]=32.5*x[i]-6.5; }

for(int i=4;i<=5;i++)


{ u[i]=-32.5*x[i]+19.5; }
for(int i=6;i<=10;i++)
{ u[i]=0; }
for(int i=0;i<=10;i++)
{ //cout<for(int i=0;i<=2;i++)
{ u_[i]=65*x[i]/2; }
for(int i=3;i<=7;i++)
{ u_[i]=6.5; }
for(int i=8;i<=10;i++)
{ u_[i]=(-65*x[i]+65)/3; }
for(int i=0;i<=10;i++)
{ //cout<for(int i=0;i<=10;i++)
{ int j=1;
y[i][j]=u[i]+0.0002*u_[i];
//cout<for(int i=1;i<=9;i++)
{ y[1][0]=0;
y[1][10]=0;
int j=2;
y[i][j]=-u[i]+0.64*(y[i-1][j-1]+y[i+1][j-1]+y[i][j-1]);
//cout<for(int j=3;j<=9;j++)
{ for(int i=1;i<=9;i++)
{ y[i][j]=-y[i][j-2]+0.64*(y[i-1][j-1]+y[i+1][j-1])+0.72*y[i][j-1];
// cout<//cout<//cout<for(int j=1;j<=9;j++)
{ for(int i=1;i<=9;i++)
{ cout<cout<return 0; }






Exeldagi qiymatlar bilan solishtirganda unchalik katta farq chiqmadi

Download 222.99 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling