Автор работы: Пользователь скрыл имя, 09 Апреля 2013 в 10:02, курсовая работа
Әртүрлі температурасы бар екі дене жанасқан кезде, құрылымдық бөлшектердің (молекулалар, атомдар, бос электрондар) қозғалыс энергияларымен алмасу пайда болады, сол үшін температурасы төмен дененің бөлшектерінің қозғалу қарқындылығы өседі, ал температурасы жоғары дененің бөлшектерінің қозғалу қарқындылығы азаяды. Нәтижесінде жанасқан денелердің біреуі қызады, ал екіншісі суиды. Көбірек қызған дененің бөлшектерімен суық дененің бөлшектеріне беретін энергия ағыны жылу ағыны деп аталады.
1. НЕГІЗГІ ТЕҢДЕУЛЕР ЖҮЙЕСІ……....................................................................5
1.1 Математикалық физиканың негізгі есептері...............................................5
1.2 Параболалық типті айырымдылық схемалары.........................................ч
1.3 Сызықты жылу конвекция теңдеулер жүйесіне интегралдық,
қосымша анықталған, шартпен қойылған кері есеп.......................................ч
2. САНДЫҚ ӘДІС................................................................................................17
2.1 Жылу конвекция теңдеулер жүйесіне қойылған тура
есепті сандық шешу………………………………………............................17
2.2 Жылу конвекция теңдеулер жүйесіне қойылған кері
есепті сандық шешу………………………………………............................4
3. ПАРАЛЛЕЛЬДІ АЛГОРИТМ ҚҰРУ............................................................10
3.1 Параллель программалау дамуының хронологиясы………. …………....10
3.2 Процессорлардың көптүрлiлiгi. Топология..................................................10
3.3 Параллель программалаудың тиімділігін бағалау......................................10
4. ЕСЕПТЕУ ЭКСПЕРИМЕНТІ...........................................................................26
5. САНДЫҚ НӘТИЖЕ..........................................................................................31
ҚОРЫТЫНДЫ......................................................................................................34
ҚОЛДАНҒАН ӘДЕБИЕТТЕР.............................................................................34
(1.4.39) жəне (1.4.40) теңсіздіктерден
бағалауын аламыз. мұндағы C тұрақтысы (k=1,2) шамаларға тəуелсіз.
Жоғарыда цилиндрінде зерттеулерді цилиндрі үшін қайталап шықсақ
бағалау орынды.
Жалпы жағдайда, жəне түрінде белгілесек, онда
келесі рекурренттік формуланы аламыз
(1.4.42)
мұндағы
(1.4.42) рекурренттік формулада ескерсек, біз мына теңсіздікке
келеміз
Бұдан орнықтылық бағалауы шығады, яғни
1.4.2 теорема толық дəлелденді.
2 САНДЫҚ ӘДІС
2.1 Жылу конвекция теңдеулер жүйесіне қойылған тура
есепті сандық шешу.
Жылу конвекцияның тура есебінің сандық шешімін қарастырайық.
тіктөртбұрышында сызықты теңдеуге қойылған тура есепті қарастырайық, төмендегі (2.1.1)–(2.1.4) қанағаттандыратын , , функцияларын анықтау керек:
(2.1.1)
(2.1.2)
бастапқы шарттарын
(2.1.3)
шеттік шарттарын
(2.1.4)
мұндағы берілген функциялар.
Мұндағы ui,j есептің жуық шешімі, ал u1i,j дәл шешімі. Дәл шешімді алдағы уақытта жуық шешімнің дұрыстығын тексеру үшін қолданамыз.
#include<iostream>
#include <math.h>
#include <stdio.h>
#define n 10
#define m 6
#define pi 3.1415926535
int main()
{
int i,j;
double v[n+2][m+2],v1[n+2][m+2],o[n+
double tau,h;
FILE *fp,*fp1,*fp2;
tau=0.001;h=pow((double)n,-1);
for(i=0;i<=n+1;i++)
{
x[i]=i*h;
}
for(j=0;j<=m+1;j++)
{
t[j]=j*tau;
}
for(i=0;i<=n+1;i++)
{
v[i][0]=sin(pi*x[i]);
o[i][0]=sin(2*pi*x[i]);
}
for(j=0;j<=m+1;j++)
{
v[0][j]=0;
v[n+1][j]=0;
o[0][j]=0;
o[n+1][j]=0;
}
for(i=0;i<=n+1;i++)
{
for(j=0;j<=m+1;j++)
{
v1[i][j]=exp(-pow(pi,2)*t[j])*
f[i][j]=exp(-pow(pi,2)*t[j])*(
o1[i][j]=exp(-4*pow(pi,2)*t[j]
phi[i][j]=exp(-pow(pi,2)*t[j])
}
}
for(j=0;j<=m;j++)
{
for(i=1;i<=n;i++)
{
v[i][j+1]=tau/(h*h)*(v[i-1][j]
o[i][j+1]=tau/(h*h)*(o[i-1][j]
}
}
for(i=0;i<=n+1;i++)
{
// cout <<" x["<< i <<"] = "<< x[i]<< endl;
}
for(j=0;j<=m+1;j++)
{
// cout <<" t["<< j <<"] = "<< t[j]<< endl;
}
fp2=fopen("c:\\Test\\esep2.
for(j=0;i<=m+1;j++)
{
for(i=0;i<=n+1;i++)
{
fprintf(fp2,"%f",f[i][j]); fprintf(fp2,"\n");
}
}
fp=fopen("c:\\Test\\esep.txt",
for(j=0;j<=m+1;j++)
{
for(i=0;i<=n+1;i++)
{
//cout <<" v["<< i <<"]["<< j <<"] = "<< v[i][j]<< endl;
fprintf(fp,"%f",v[i][j]); fprintf(fp,"\n");
}
}
for(j=0;j<=m+1;j++)
{
for(i=0;i<=n+1;i++)
{
//cout <<" v1["<< i <<"]["<< j <<"] = "<< v1[i][j]<< endl;
//printf("v1[%d][%d] = %.2f\n",i,j,v1[i][j]);
}
}
fp1=fopen("c:\\Test\\esep1.
for(j=0;j<=m+1;j++)
{
for(i=0;i<=n+1;i++)
{
//cout <<" o["<< i <<"]["<< j <<"] = "<< o[i][j]<< endl;
fprintf(fp1,"%f",o[i][j]); fprintf(fp1,"\n");
}
}
for(j=0;j<=m+1;j++)
{
for(i=0;i<=n+1;i++)
{//cout <<" o1["<< i <<"]["<< j <<"] = "<< o1[i][j]<< endl;}
}
fclose(fp2);
fclose(fp1);
fclose(fp);
return 0;
}
2.2 Жылу конвекция теңдеулер жүйесіне қойылған кері
есепті сандық шешу.
тіктөртбұрышында сызықты теңдеуге қойылған кері есебін қарастырайық, төмендегі (2.2.1)–(2.2.6) қанағаттандыратын , , және функцияларын анықтау керек:
(2.2.1)
(2.2.2)
бастапқы шарттарын
(2.2.3)
шеттік шарттарын
(2.2.4)
және келесі интегралдық қосымша шарттарын
(2.2.5)
(2.2.6)
мұндағы берілген функциялар.
торларын енгізейік. Енді облысында қадамдары болатын тор енгізейік
.
(2.1.1)–(2.1.5) кері есебінің
шекті-айырымдық (
Мұндағы коэффициенттері Симпсон формуласындағы үшін коэффициенттер.
Program SetkaTeplovrodnost111;
const n=2000; m=200; pi=3.1415926535;
var
i,j,k:integer;
tau, h:Real;
x:array[0..n+1] of real;
t,phi,f,phi1,f1: array[0..m+1] of real;
s1,s2,s3,s4,s5,s6,s7,s8,s9,
s21,s22,s23,s24,s25,s26,s27,
D1,D2,D3,D4,D5,D6,D7,D8,D9,
tr1,tr2,tr3,tr4,tr5,tr6,tr7,
tt1,tt2,tt3,tt4,tt5,tt6,tt7,
u,v, v1,O,O1,lam,kxt,myu:array[0..
Begin
tau:=0.000000001; h:=1/(n+1);
for i:=0 to n+1 do
x[i]:=i*h;
for j:=0 to m+1 do Begin
t[j]:=tau*j;
end;
for i:=0 to n+1 do begin
v[i,0]:=sin(pi*x[i]);
O[i,0]:= sin(2*pi*x[i]);
end;
for j:=0 to m+1 do
Begin
v[0,j]:=0;
v[n+1,j]:=0;
O[0,j]:=0;
O[n+1,j]:=0;
f1[j]:=exp(-2*sqr(pi)*t[j]);
phi1[j]:=exp(-2*sqr(pi)*t[j]);
end;
for i:=0 to n+1 do Begin
for j:=0 to m+1 do begin
v1[i,j]:=exp(-sqr(pi)*t[j])*si
lam[i,j]:=pi*cos(pi*x[i])-exp(
O1[i,j]:=exp(-4*sqr(pi)*t[j])*
myu[i,j]:=4*pi*exp(-3*sqr(pi)*
kxt[i,j]:=sin(pi*x[i]);
u[i,j]:=(sqr(t[j])+1)*sin(2*
end;
end;
f[0]:=1; phi[0]:=1; k:=1000; s1[0]:=0; s2[0]:=0; s3[0]:=0; s4[0]:=0; s5[0]:=0; s6[0]:=0; s7[0]:=0;
s8[0]:=0;s9[0]:=0; s10[0]:=0;
s21[0]:=0; s22[0]:=0; s23[0]:=0; s24[0]:=0; s25[0]:=0; s26[0]:=0; s27[0]:=0;
s28[0]:=0;s29[0]:=0; s210[0]:=0; tr1[0]:=0; tr2[0]:=0; tr3[0]:=0; tr4[0]:=0;
tr5[0]:=0; tr6[0]:=0; tr7[0]:=0; tr8[0]:=0; tr9[0]:=0; tr10[0]:=0;
for j:=0 to m do Begin
for i:=1 to n do Begin
v[i,j+1]:=tau/(h*h)*(v[i-1,j]-
O[i,j+1]:=tau/(h*h)*(O[i-1,j]-
end;
for i:=1 to k do
Begin
s1[j]:=s1[j]+u[2*i-1,j]*lam[2*
s2[j]:=s2[j]+(v[2*i-1,j]-v[2*
s3[j]:=s3[j]+v[2*i-1,j]*(u[2*
s4[j]:=s4[j]+u[2*i-1,j]*(v[2*
s5[j]:=s5[j]+O[2*i-1,j]*u[2*i-
s6[j]:= s6[j]+kxt[2*i-1,j]*myu[2*i-1,
s7[j]:=s7[j]+(O[2*i-1,j]-O[2*
s8[j]:=s8[j]+O[2*i-1,j]*(kxt[
s9[j]:=s9[j]+v[2*i-1,j]*kxt[2*
s10[j]:=s10[j]+kxt[2*i-1,j]*(
end;
for i:=1 to k-1 do
Begin
s21[j]:=s21[j]+u[2*i,j]*lam[2*
s22[j]:=s22[j]+(v[2*i,j]-v[2*
s23[j]:=s23[j]+v[2*i,j]*(u[2*
s24[j]:=s24[j]+u[2*i,j]*(v[2*
s25[j]:=s25[j]+O[2*i,j]*u[2*i,
s26[j]:= s26[j]+kxt[2*i,j]*myu[2*i,j];
s27[j]:=s27[j]+(O[2*i,j]-O[2*
s28[j]:=s28[j]+O[2*i,j]*(kxt[
s29[j]:=s29[j]+v[2*i,j]*kxt[2*
s210[j]:=s210[j]+kxt[2*i,j]*(
end;
D1[j]:=(u[0,j]*lam[0,j]+u[n,j]
D2[j]:=((v[n,j]-v[n-2,j])/(2*
D3[j]:=(v[0,j]*(u[0,j+1]-u[0,
D4[j]:=(u[n,j]*(v[n,j]-v[n-2,
D5[j]:=(O[0,j]*u[0,j]+O[n,j]*
D6[j]:=(kxt[0,j]*myu[0,j]+kxt[
D7[j]:=((O[n,j]-O[n-2,j])/(2*
D8[j]:=(O[0,j]*(kxt[0,j+1]-
D9[j]:=(kxt[0,j]*v[0,j]+kxt[n,
D10[j]:=(kxt[n,j]*(O[n,j]-O[n-
for i:=1 to n-1 do
begin
tr1[j]:=tr1[j]+u[i,j]*lam[i,j]
tr2[j]:=tr2[j]+(v[i,j]-v[i-1,
tr3[j]:=tr3[j]+v[i,j]*(u[i,j+
tr4[j]:=tr4[j]+(v[i,j]-v[i-1,
tr5[j]:=tr5[j]+O[i,j]*u[i,j];
tr6[j]:=tr6[j]+kxt[i,j]*myu[i,
tr7[j]:=tr7[j]+(O[i,j]-O[i-1,
tr8[j]:=tr8[j]+O[i,j]*(kxt[i,
tr9[j]:=tr9[j]+v[i,j]*kxt[i,j]
tr10[j]:=tr10[j]+kxt[i,j]*(O[
end;
tt1[j]:=h*(u[0,j]*lam[0,j]/2+
tt2[j]:=h*(tr2[j]+(v[n,j]-v[n-
tt3[j]:=h*(v[0,j]*(u[0,j+1]-u[
tt4[j]:=h*(tr4[j]+(v[n,j]-v[n-
tt5[j]:=h*(O[0,j]*u[0,j]/2+
tt6[j]:=h*(kxt[0,j]*myu[0,j]/
tt7[j]:=h*(tr7[j]+(O[n,j]-O[n-
tt8[j]:=h*(O[0,j]*(kxt[0,j+1]-
tt9[j]:=h*(v[0,j]*kxt[0,j]/2+
tt10[j]:=h*(tr10[j]+(O[n,j]-O[
Информация о работе Жылу конвекцияның кері есебінің шешімінің алгоритмін параллельдеу