有限要素法の概要

有限要素法の概要
2013年9月9日
後 保範
1
差分法の概念
長方形領域の
偏微分方程式
全体を直接解
くのは難しい
縦横格子
で節点の
解を計算
2
有限要素法の概念
任意領域
全体を直接解
くのは難しい
小領域(要素)に
分けて節点の解
を計算する
3
差分法と有限要素法
• 差分法(FDM: Finite Difference Method)
偏微分方程式を直接的に離散化
 ui 1  2ui  ui 1
 2u


2
x
h
• 有限要素法(FEM, Element Method)
要素に分け、重み関数を掛けて要素内で積分を行う
  2u  2u 
   2  2 i d   fi d
 x

y 

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

 f
in 0  x  1
2
x
境界条件(固定境界)
2
u0
on x  0 and 1
10
10
有限要素計算の原理
• 重み関数を掛けてポアソン方程式を積分
2
1 u
1

i dx   fi dx
2
0 x
0
• 2階微分の項を部分積分
u i
0 x x dx 
1
 u 
 x i  
0
1
1

0
fi dx
• 境界でu=0を代入
u i
0 x x dx 
1
1

0
fi dx
11
11
有限要素における1次要素
i
1
形状関数 1 , 2 ,, n1
解uを節点での値ujと形状関数で近似する
u ( x) 
n 1
u 
j 1
j
j
12
12
1次要素による離散化
1
u i
0 x x dx  0 fi dxにu 
1
 1 i  j 
 
dx u j 

0 x x
j 1 

n 1
n 1
a u
j 1
ij
j
 bi ,
1

0
n 1
 u  を代入
j 1
j
j
fi dx
i  1,2,, n  1
13
13
形状関数(φ)
区間: xi  x  x j
i 
xj  x
,
h
x  xi
j 
h
共にxで微分する
i
1
  ,
x
h
j
i
1
1
xi
h
xj
 j
1

x
h
14
14
積分に使用する形状関数
x  h  xi
i 
h
xi  h  x
i 
h
xi  x
i 1 
h
i 1
( xi  h)
1
1
1
h
i
( xi )
x  xi
i 1 
h
h
i 1
( xi  h)
15
15
要素積分計算(aij)
• aijはj=i-1,i,i+1だけ値を持つ、それ以外はゼロ
xi  h 1
i i
2
aii  
dx  
dx 
2
xi 1 xx
xi  h h
h
xi  
xi
1
1
i
i 1
aii1  
dx  
dx 
2
xi 1 x
xi  h h
x
h
xi 1  
xi h  1
1
i
i 1
aii1  
dx  
dx 
2
xi
xi
x x
h
h
xi 1
16
16
要素積分計算(bi)
bi 


xi
xi h

xi
xi  h
fi dx  
xi  h
xi
fi dx
xh
x  h  xi
xi  h  x
f
dx  
f
dx
xi
h
h
h
f  0
   ( x  h)dx   (h  x)dx 
0

h  h
0
2
2 h



f x
x  

 hx  hx 
 hf



h  2
2



h
0 

17
17
離散化で得られる式
1
2
1
 ui 1  ui  ui 1  hf , i  1,2,, n  1
h
h
h
 ui 1  2ui  ui 1  h f , i  1,2,, n  1
2
u0  un  0 (境界条件)
差分法による離散化と同じ
18
18
行列表示
2
1
0

0
1
0
1

0

u1
2
h f
2
u2
h f
2
 1 2  0 u3  h f
2

0   1
h f
2
 0  1 2 un 1 h f
2
0
19
19
より一般的なケース
1次元ポアソン方程式
 2u
in 0  x  1
k 2  f
x
境界条件(固定境界)
u
u  g on x  1
  on x  0 ,
x
20
より一般的なケースの計算
 2u
 2u
 k 2 は  2 で得られた aijに kを要素ごとに乗算する
x
x
u
u
境界条件   on x  0はb0に 
0 の計算値を追加
x
x 0
1
u0が既知数から未知数に 変わり、式が一つ増加 する
境界条件u  g on x  1はbn 1に値 gを追加
21
u / x  の境界条件の計算
u

0
x
1
0
hx

 
  0  h   
h 0
h
h
0
hx
0 
h
u
  on x  0
x
u0
h
u1
22
行列表示(より一般化,k=1)
1 1 0
1 2 1
0
0
0
0


0
1
2
1
0

0
0
1
2
 
0
0
0
  1



 1
0
0
0

0
0 u0
0 u1
0 u2
 u3 
0 
 1 un 2
 1 2 un 1
2
h 2 f / 2  h
h2 f
2
h f
2
h f

2
h f
h f g
2
23