16
楕楕楕楕楕楕楕楕楕 楕楕楕楕楕楕楕楕楕 平平平平平 平平平平平平平平 平平平平平 平平平平平平平平

楕円型偏微分方程式

Embed Size (px)

DESCRIPTION

楕円型偏微分方程式. 平面熱問題,平面応力問題など. 楕円型微分方程式の例. 定常の熱の微分方程式 つりあい方程式. h. h. u[i-1][j-1]. u[i-1][j]. u[i-1][j+1]. (u[i][j+1] - u[i][j]) - (u[i][j] - u[i][j-1]) h h h. +. u[i][j-1]. u[i][j]. u[i][j+1]. - PowerPoint PPT Presentation

Citation preview

Page 1: 楕円型偏微分方程式

楕円型偏微分方程式楕円型偏微分方程式

平面熱問題,平面応力問題など平面熱問題,平面応力問題など

Page 2: 楕円型偏微分方程式

楕円型微分方程式の例楕円型微分方程式の例 定常の熱の微分方程式定常の熱の微分方程式

つりあい方程式つりあい方程式

Page 3: 楕円型偏微分方程式

X方向の温度変化の変化とY方向のX方向の温度変化の変化とY方向の温度温度変化の変化変化の変化の和がゼロの和がゼロ

u[i-1][j-1] u[i-1][j]u[i-1][j+1]

u[i][j-1] u[i][j] u[i][j+1]

u[i+1][j-1]

u[i+1][j]u[i+1][j+1]

++

ゼロ

h h

(u[i][j+1] - u[i][j]) - (u[i][j] - u[i][j-1]) h h h

(u[i+1][j] - u[i][j]) - (u[i][j] - u[i-1][j]) h h h

x

y

Page 4: 楕円型偏微分方程式

u[i-1][j-1] u[i-1][j]u[i-1][j+1]

u[i][j-1] u[i][j] u[i][j+1]

u[i+1][j-1]

u[i+1][j]u[i+1][j+1]

u[i][j+1] + u[i][j-1] + u[i+1][j] + u[i-1][j] = 4*u[i][j] =4*w[i][j]

定常状態なので

w[i][j] =u[i][j] =(u[i][j+1] + u[i][j-1]   + u[i+1][j] + u[i-1][j])/4

u[i][j]

u[i-1][j]

u[i][j-1]

u[i+1][j]

u[i][j+1]

次のステップの温度は周りの温度の平均!

Page 5: 楕円型偏微分方程式

例題例題

(0,0)

(0,1)

(0,n)

(1,0)

(1,1)

u[i][j]

(n,0)

(n,n)

1

1

T = 0

T = 0

T = 1

Page 6: 楕円型偏微分方程式

解法解法

(0,0)

(0,1)

(0,n)

(1,0)

(1,1)

u[i][j]

(n,0)

(n,n)

1

1

T = 0

T = 0

T = 1

Page 7: 楕円型偏微分方程式

解法(平均化)解法(平均化)

u[i-1][j-1] u[i-1][j]u[i-1][j+1]

u[i][j-1] u[i][j] u[i][j+1]

u[i+1][j-1]

u[i+1][j]u[i+1][j+1]

hh

上下左右の平均になるとする!

w[i][j] = (u[i-1][j]+u[i][j-1]+u[i][j+1]+u[i+1][j])/4

Page 8: 楕円型偏微分方程式

#include <stdio.h>#include <math.h>int main( ){

double u[11][11], w[11][11];double dd=0.0;double u1, u2;int i, j, nh=10;

for(i=0;i<nh+1;i++)for(j=0;j<nh+1;j++){

u[i][j]=0.0;w[i][j]=0.0;

}for(i=1;i<nh;i++)

u[i][nh]=1.0;

11×11の領域前の温度 あとの温度

初期温度ゼロ

境界条件右端だけ”1”

領域の分割

Page 9: 楕円型偏微分方程式

do{dd=0.0;for(i=1;i<nh;i++)

for(j=1;j<nh;j++){

u1=u[i+1][j ]+u[i-1][j ];u2=u[i ][j+1]+u[i ][j-1];u[i][j]=(u1+u2)/4.0;dd+=fabs(w[i][j]-u[i][j]);w[i][j]=u[i][j];

}}while(dd>0.001);for(i=0;i<=nh;i++){

for(j=0;j<=nh;j++)printf("%6.3lf", u[i][j]);

printf("\n");}return 0;

}

左右の平均あとの値と前の値の差の合計

出力

あとと前の値の差の和が0.001より大きい間は繰り返す

Page 10: 楕円型偏微分方程式

エクセルでも解けるか?エクセルでも解けるか?A B C D E F G H I J K

1 0 0 0 0 0 0 0 0 0 0 0

2 0 0 0 0 0 0 0 0 0 0 1

3 0 0 0 0 0 0 0 0 0 0 1

4 0 0 0 0 0 0 0 0 0 0 1

5 0 0 0 0 0 0 0 0 0 0 1

6 0 0 0 0 0 0 0 0 0 0 1

7 0 0 0 0 0 0 0 0 0 0 1

8 0 0 0 0 0 0 0 0 0 0 1

9 0 0 0 0 0 0 0 0 0 0 1

10 0 0 0 0 0 0 0 0 0 0 1

11 0 0 0 0 0 0 0 0 0 0 0

初期値

境界条件

Page 11: 楕円型偏微分方程式

A B C D E F G H I J K

11 0 0 0 0 0 0 0 0 0 0 0

12

13 0 0 0 0 0 0 0 0 0 0 0

14 0 1

15 0 1

16 0 1

17 0 1

18 0 1

19 0 1

20 0 1

21 0 1

22 0 1

23 0 0 0 0 0 0 0 0 0 0 0

前の枠

注意

=(B1+B3+A2+C2)/4

Page 12: 楕円型偏微分方程式

A B C D E F G H I J K

833 0 0 0 0 0 0 0 0 0 0 0

834

835 0 0 0 0 0 0 0 0 0 0 0

836 0 1

837 0 1

838 0 1

839 0 1

840 0 1

841 0 1

842 0 1

843 0 1

844 0 1

845 0 0 0 0 0 0 0 0 0 0 0

前の枠

注意

十分に時間がたった後の分布

変化しなくなるまでコピーする

Page 13: 楕円型偏微分方程式

A B C D E F G H I J K

833 0 0 0 0 0 0 0 0 0 0 0

834

835 0 0 0 0 0 0 0 0 0 0 0

836 0 1

837 0 1

838 0 1

839 0 1

840 0 1

841 0 1

842 0 1

843 0 1

844 0 1

845 0 0 0 0 0 0 0 0 0 0 0

前の枠

注意

枠内を囲んで→挿入→その他の図→等高線

Page 14: 楕円型偏微分方程式
Page 15: 楕円型偏微分方程式

本日の課題本日の課題A B C D E F G H I J K

1 0 0 0 0 0 0 0 0 0 0 0

2 0 0 0 0 0 0 0 0 0 0 0

3 0 0 0 0 0 0 0 0 0 0 0

4 0 0 0 0 0 0 0 0 0 0 0

5 0 0 0 0 0 0 0 0 0 0 0

6 0 0 0 0 0 1 0 0 0 0 0

7 0 0 0 0 0 0 0 0 0 0 0

8 0 0 0 0 0 0 0 0 0 0 0

9 0 0 0 0 0 0 0 0 0 0 0

10 0 0 0 0 0 0 0 0 0 0 0

11 0 0 0 0 0 0 0 0 0 0 0

十分に時間がたった後の分布

周り0、中央1

次回なし(P120)

Page 16: 楕円型偏微分方程式

A B C D E F G H I J K

11 0 0 0 0 0 0 0 0 0 0 0

12

13 0 0 0 0 0 0 0 0 0 0 0

14 0 0

15 0 0

16 0 0

17 0 0

18 0 1 0

19 0 0

20 0 0

21 0 0

22 0 0

23 0 0 0 0 0 0 0 0 0 0 0

前の枠

注意

=(B1+B3+A2+C2)/4