有限要素法

有限要素法(三角形要素)
2013年9月12日
後 保範
1
2次元有限要素法
2次元ポアソン方程式
u u
 2  2  f in 
x
y
2
2
境界条件


u  0 on 
2
2次元有限要素法の原理
• 重み関数を掛けてポアソン方程式を積分
  2u  2u 
   2  2 i d   fi d
 x

x 

• 2階微分の項を部分積分
 u i u i 
  x x  y y  d 
u
 n i d   fi d
• 境界でu=0を代入
 u i u i 
  x x  y y  d   fi d
3
三角形要素での近似
解uを節点での値ujと形状関数で近似する
n
u( x)   u j j
j 1
4
3角形要素の形状関数
k
i
1
j
k
i
1
1
j
i
5
形状関数の表示
• 三角形の3局所接点(i,j,k)の形状関数
i   i   i x   i y ,
j , kは添え字を順送り
1
x j yk  xk y j 
i 
2
1
1
y j  yk ,  i  xk  x j 
i 
2
2
1 xi yi
1
  det 1 x j y j ; 三角形の面積
2
1 xk y k
6
形状関数の微分
y j  yk
i
 i 
,
x
2
 j
y k  yi
j 
,
x
2
yi  y j
k
 k 
,
x
2
xi  x j
i
 i 
y
2
 j
x j  xk
 j 
y
2
k
xk  xi
 k 
y
2
7
直角三角形のケース
x y
x
y
i  1 
,  j  , k 
h
h
h
i
1 i
1
 ,

x
h y
h
 j 1  j
 ,
0
x h
y
k
k 1
 0,

x
y h
k
h
i
S
h
j
8
直角三角形の要素積分(aij)
 i i i i 
2
S  xx  yy dS  S h 2 dS  1, (u  iの積分)
  j  j  j  j 
  j  j  j  j 
1
1
S  xx  yy dS  S  xx  yy dS  S h 2 dS  2
 i  j i  j 
 i  j i  j 
1
1
S  xx  y 2 dS  S  xx  y 2 dS  S  h 2 dS  2
  j k  j k 
S  xx  y 2 dS  S0dS  0
9
直角三角形の要素積分(bi)
h
x y

1 
dxdy
h 


fi dS  


h2  y 2
   h  y 
0
2h

h2
fk dS   fjdS 

6
S
0

h y
0
h
S

h2
dy 
6

10
三角要素による離散化
n 1
 u i u i 
u j jを代入
  x x  y y  d   fi dにu  
j 1
  i  j i  j 


u j   fi d


d


 


y y 
i 1    x x

n
n
a u
i 1
ij
j
 b j , i  1,2,, n
11
離散化具体例(直角三角形)
1
aii  2  1  4   4,
2
6個の三角形要素の合計
1
aij  aik  ail  aim  
2
aio  aip  0
2
fh
bi  6 
 fh 2
6
m
p
h
k
i
h
h
l
h
j
o
12
離散化方程式(直交格子)
m
偏微分方程式
 div( grad(u ))  f
j
有限要素法、差分法( 同一)
h
h
i
l
j
 uij  ui k  4uii  uil  uim  fh 2
13
一般三角形の要素積分(aii)
i i 
 i i
2


dS



s i
S  xx
xx 
2
  y j  y k 2

xk  x j 

 S
2
2

S
4
S
4



y

 y k   xk  x j 
2
j
1
1
S  det 1
2
1
4S
xi
xj
xk

  i2 dS
( xk , y j )




S
2
( xi , yi )
yi
y j ; 三角形の面積
yk
(x j , y j )
14
一般三角形の要素積分(aij,bi)
i  j 
 i  j
S  xx  yy dS  s i  j   i j dS
  y j  y k  y k  yi  xk  x j  xi  xk  

 S

2
2


4
S
4
S



y j  y k  y k  yi   xk  x j  xi  xk 

4S

S
fS
fi dS 
3
15
係数行列の計算対象要素
i  j

i  j
xx
xx
 ij
S5
S4
S2
i
S3
S1
Sは領域全体
j
k
16
A={aij},b={bi}の計算
aii   ii dS   ii dS   ii dS
S
S1
S2
  ii dS   ii dS   ii dS
S3
S4
S5
aij   ij dS   ij dS   ij dS
S
S1
S2
aik   ik dS   ik dS   ik dS
S
bi  
S
S1
S3
fS
fi dS 
3
17
より一般的な方程式
2次元拡散方程式
 u
 u
 k 2  k 2  f in 
x
y
2
2
境界条件
u  g on 1 ,
u

  on 2
n
18
より一般的なケースの計算
 2u
 2u
 2u  2u
 k 2  k 2 は  2  2 で得られる aijに kを乗算する
x
y
x
y
u
u
境界条件 
  on 2は 2の節点に  
i dを追加
2 n
n
2上のuが既知数から未知数に 変わり、式がそれだけ 増加
境界条件u  g on 1は 1上のbiに値 gを追加
19
 u / n  の境界条件の計算
0
l2
u
x  l1
l2  x

i d   
dx   
dx
2 n
l1
0
l1
l2


 x
2
l1 2
0
 l1 x
 l1  l2 
2
l1

2 l2
x
 l2 x 
l2
2
0
i 
x  l1
i 
l1
l1
l 2 x
l2
1
i
l2
20