Transcript FEM1

有限要素法の概要
2013年9月9日
後 保範
1
差分法の概念
長方形領域の
偏微分方程式
全体を直接解
くのは難しい
縦横格子
で節点の
解を計算
2
有限要素法の概念
任意領域
全体を直接解
くのは難しい
小領域(要素)に
分けて節点の解
を計算する
3
差分法と有限要素法
• 差分法(FDM: Finite Difference Method)
偏微分方程式を直接的に離散化
 u
2

x
2

 u i  1  2 u i  u i 1
h
• 有限要素法(FEM, Element Method)
要素に分け、重み関数を掛けて要素内で積分を行う
2
  2u
 u

 

2
2


x

y


 i d  




f i d 
4
差分法と有限要素法
差分法
有限要素法
隣り合う格子点
の物理量の収支
を計算する
要素内の全ての
点における物理用
の分布を計算する
5
有限要素法の基本
• 要素内部の物理量を節点の値で近似
• 要素内では1節点で値が1を持ち、他の節点
では値が0となる形状関数を利用
• 領域の物理量は、節点の値と形状関数の乗
算結果を集めて表す
三角形
要素
形状
関数
0
1
0
6
有限要素法のメリットとデメリット
解法
メリット
デメリット
構造が単純で、有 縦横格子のため、複
差分法 限要素法より、高 雑な領域に適用でき
速計算できる
ない
要素に分割する 同じ節点数では、計
有限
ので、複雑な解析 算時間が長く、データ
要素法
領域が扱える
容量も多くなる
7
数値計算の手順
差分法(FDM)
有限要素法(FEM)
式を直接
離散化
要素内積分
帯行列
行列
スカイライン
反復計算
解法
直接計算
8
離散化でえられる行列の形
0
0
0
0
0
0
差分法(FDM)
帯行列
有限要素法(FEM)
スカイライン行列
9
1次元有限要素法
1次元ポアソン方程式
 u
2

x
2
 f
in 0  x  1
境界条件(固定境界)
u  0
on
x  0 and 1
10
10
有限要素計算の原理
• 重み関数を掛けてポアソン方程式を積分

1
 u
0
x

2
2
 i dx 

1
0
f  i dx
• 2階微分の項を部分積分

1
u i
 u 
dx  
i  
x x
 x  0
1
0

1
0
f  i dx
• 境界でu=0を代入

1
0
u i
x x
dx


1
0
f  i dx
11
11
有限要素における1次要素
i
1
形状関数 1 ,  2 ,  ,  n 1
解uを節点での値ujと形状関数で近似する
n 1
u (x) 

u j
j
j 1
12
12
1次要素による離散化
1
u i
0
x x

dx 

1
0
n 1
f  i dx に u 
 1 i  j

  0  x  x dx  u j 
j 1 

u
j
 jを代入
j 1
n 1

1
0
f  i dx
n 1
a
ij
u j  bi ,
i  1, 2 ,  , n  1
j 1
13
13
形状関数(φ)
xi  x  x j
区間:
xj  x
i 

i
,
j
1
1
h
j 
x  xi
xi
h
h
xj
共に x で微分する
i
x
 
1
h
,

x
j

1
h
14
14
積分に使用する形状関数
i 
 i 1 
x  h  xi
i 
h
xi  h  x
h
xi  x
 i 1 
h
i 1
( xi  h )
h
i
( xi )
h
1
1
1
x  xi
h
i 1
( xi  h )
15
15
要素積分計算(aij)
• aijはj=i-1,i,i+1だけ値を持つ、それ以外はゼロ
a ii 

a ii 1 
a ii  1 
x i 1
ii
x i 1
xx

xi

x i 1
x i 1
xi
dx 
  i   i 1
x
x
  i   i 1
x
x

xi  h
xi  h
dx 
dx 
1
h

2
xi
xi  h

xi h
xi
dx 
2
h
1
h
2
dx 
1
h
2
1
h
dx 
1
h
16
16
要素積分計算(bi)
bi 


xi

xi
xih
xi  h
f  i dx 
f

xi h
xi
x  h  xi
f  i dx
dx 
h
f  0

  ( x  h ) dx 
h  h

xh
f
xi  h  x
xi

h
0
dx
h
( h  x ) dx 

0
h
2
2



f x
x  

 hx    hx 
 hf



h  2
2



h
0 

17
17
離散化で得られる式

1
h
u i 1 
2
h
ui 
1
h
u i  1  hf , i  1, 2 ,  , n  1
 u i 1  2 u i  u i  1  h f ,
2
i  1, 2 ,  , n  1
u 0  u n  0 ( 境界条件 )
差分法による離散化と同じ
18
18
行列表示
1
0
1
2
1
0
1
2

0
0


0
0


0


1
0
1
2
2
2
u1
h f
u2
2
h f
u3
 h f
2
2

h f
u n 1
2
h f
19
19
より一般的なケース
1次元ポアソン方程式
 u
2
k
x
2
 f
in 0  x  1
境界条件(固定境界)
u
x
  on x  0 ,
u  g on x  1
20
より一般的なケースの計算
 u
2
k
x
2
 u
2
は
境界条件
x
u
x
2
で得られた
a ijに k を要素ごとに乗算する
  on x  0は b 0に 
u 0が既知数から未知数に
u
x
1
 0 の計算値を追加
0
変わり、式が一つ増加
する
境界条件 u  g on x  1は b n 1に値 g を追加
21
 u /  x   の境界条件の計算

u
x
1
0
 
h x
h
0
0
0 
h
 
0

h
0  h   
hx
h
u
x
u0
h
  on x  0
u1
22
行列表示(より一般化,k=1)
1
1
0
0
0

0
u0
h f / 2  h
1
2
1
0
0

0
u1
h f
0
1
2
1
0

0
u2
2
0
0
1
2



u3 
0
0
0


1
0




1
2
 1 u n2
h f
0
0
0

0
1
2 u n 1
h f g
2
2
h f
2
h f


2
2
23