有限要素法入門 introduction to finite element …emperor.yz.yamagata-u.ac.jp › ~kamitani...

1 有限要素法入門 Introduction to Finite Element Method (FEM)

Upload: others

Post on 30-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

1

有限要素法入門

Introduction to

Finite Element Method (FEM)

Page 2: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

2

Ⅰ . 2次元 Poisson 問題

問題設定

2D Poisson 問題

(*1)

−u = f in Ω

u = u on ΓD

q = q on ΓN

但し,q ≡ ∂u∂n

,

f : W 上で定義された既知関数,

u : ΓD上の既知関数,

q : ΓN上の既知関数,

n : ∂Ω(= ΓD ∪ ΓN)上の外向き単位

法線ベクトル.

Ω

ΓD

ΓN

n

Page 3: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

3

重み付き残差表示

(∗1)⇐⇒ (∗2)

∀w(x) s.t. w|ΓD = 0 :

Ω

w(u + f )dxdy −∫

ΓN

w (q − q) dl = 0

u = u on ΓD

)自明!

)w(x)はΓN上で任意であるから,w|ΓN = 0を満たすように選べば,

Ω

w(u + f )dxdy = 0 . (a)

w(x)は Ω 内で任意性をもつから,

−u = f in Ω (b)

が成り立つ.

 (b) を (*2) の前半部に代入すると,

∀w(x) s.t. w|ΓD = 0 :∫

ΓN

w (q − q) dl = 0

∴ q = q on ΓN          

重み付き残差表示

Page 4: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

4

弱形式

恒等式:wu = ∇ · (w∇u) − ∇w · ∇u の両辺をΩ内で領域積分すると,次式を得る.

Ω

wu dxdy =

Ω

∇ · (w∇u) dxdy −

Ω

∇w · ∇u dxdy

=

∂Ω

wq dl −

Ω

∇w · ∇u dxdy (∵ Green’s Theorem)

(∗1)⇐⇒ (∗2)

∀w(x) s.t. w|ΓD = 0 :

Ω

w(u + f )dxdy −∫

ΓN

w (q − q) dl = 0

u = u on ΓD

⇐⇒ (∗3)

∀w(x) s.t. w|ΓD = 0 :

Ω

∇w · ∇u dxdy =

Ω

w f dxdy +∫

ΓN

wqdl

u = u on ΓD ↑

弱形式

Page 5: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

5

Ⅱ . 要素分割と近似関数

要素分割

i) Ωを互いに重ならない三角形要素の集合Ω1,Ω2, · · · ,ΩNeで近似:Ω Ne⋃

e=1

Ωe

ii) 節点の番号付け: x1, x2, · · · , xNn

iii) 要素−節点関係: σ(e, g) (g = 1, 2, 3)

Ω1Ω7

Ω6

Ω5

Ω3

Ω4

Ω2

Ω11

Ω9

Ω8

Ω10

Ω13

Ω15Ω14

Ω12

x1

x15

x14

x13x9

x12

x11

x10

x8

x7

x6

x5 x4

x3x2

x19

x18

x17

x16

x20

x22

x21xσ(e,1)

xσ(e,3)

xσ(e,2)

Ωe

Page 6: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

6

Γe

xε(μ(e,1))

xε(μ(e,2))

iv) 境界要素の構成:Γ1,Γ2, · · · ,ΓNbe

v) 境界節点の番号付け:①,②,…,Nbn

vi) 境界要素−境界節点関係:µ(e, j) ( j = 1, 2)

vii) 境界節点−節点関係:ε(p) (p = 1, 2, · · · ,Nbn)

Γ1

Γ8

Γ6

Γ7

Γ2

Γ5

Γ4

Γ3

Γ13

Γ10

Γ12

Γ9

Γ11

⑩⑪

③②

Page 7: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

7

準備データ

入力データ変 数 意 味

Nn 全節点数Ne 全要素数

xk (k = 1, 2, · · · ,Nn) 第 k 節点の位置ベクトル

σ(e, g) (e = 1, 2, · · · ,Ne; g = 1, 2, 3)第 e 要素 Ωe に属する g 番目の節点

の全体節点番号Nbn 境界節点数Nbe 境界要素数

µ(e, j) (e = 1, 2, · · · ,Nbe; j = 1, 2)第 e 境界要素 Γe に属する j 番目の節点

の境界節点番号ε(p) (p = 1, 2, · · · ,Nbn) 第 p 番目の境界節点の全体節点番号

β(p) (p = 1, 2, · · · ,Nbn) β(p) ≡

0 : xε(p) ∈ ΓD

1 : xε(p) ∈ ΓN

d(p) (p = 1, 2, · · · ,Nbn)第 p 番目の境界節点 xε(p) 上で

与えられた u or q の値

Page 8: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

8

誘導データ

【定義】

ν(e) ≡ β(µ(e, 1)) · β(µ(e, 2)) (e = 1, 2, · · · ,Nbe)

α(k) ≡β(p) (∃p : ε(p) = k)1 (otherwise)

(k = 1, 2, · · · ,Nn)

【幾何学的意味】

境界要素の分類

ν(e) =

0 : Γe ∈ ΓD

1 : Γe ∈ ΓN

節点を付加条件により分類

α(k) =

0 (xk ∈ ΓD)1 (otherwise)

Page 9: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

9

近似関数

【仮定】三角形要素Ωe内で関数 u(x), w(x) が x, y に関する完全1次多項式 

w(x) =3∑

i=1

wσ(e,i) Li(x),

u(x) =3∑

j=1

uσ(e, j) Lj(x)

但し,wk ≡ w(xk) , uk ≡ u(xk) .

L1(x), L2(x), L3(x):面積座標,1次形状関数

Page 10: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

10

∵)u(x) = a + bx + cyとおくと,

uσ(e,k) = u(xσ(e,k)) (k = 1, 2, 3)

⇐⇒

uσ(e,1)uσ(e,2)uσ(e,3)

= Ae

abc

where Ae ≡

1 xσ(e,1) yσ(e,1)1 xσ(e,2) yσ(e,2)1 xσ(e,3) yσ(e,3)

⇐⇒

abc

= A−1

e

uσ(e,1)uσ(e,2)uσ(e,3)

(∵ | det Ae| = 2(area of Ωe) 0)

このとき,u(x) =[1 x y

]

abc

=[1 x y

]A−1

e

uσ(e,1)uσ(e,2)uσ(e,3)

ここで,[L1(x) L2(x) L3(x)

]≡[1 x y

]A−1

e

とおくと,

u(x) =[L1(x) L2(x) L3(x)

]

uσ(e,1)uσ(e,2)uσ(e,3)

=

3∑

j=1

uσ(e, j)Lj(x)

Page 11: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

11

1次形状関数の計算法

x∗ ≡[1 x y

]T, ai ≡

[1 xσ(e,i) yσ(e,i)

]T(i = 1, 2, 3)

とおくと,1次形状関数は次式から計算できる.

Li(x) = x∗T a∗i = x∗ · a∗i

但し,a∗i ≡a j × ak

det Ae( (i, j, k) : cyclic ).

∵)ベクトル a∗j の定義式を用いると,

aTi a∗j = δi j ⇐⇒

aT1

aT2

aT3

[a∗1 a∗2 a∗3

]= E i.e. A−1

e =

aT1

aT2

aT3

−1

=[a∗1 a∗2 a∗3

]

上式を Li(x) の定義式に代入して,[L1(x) L2(x) L3(x)

]≡ x∗T A−1

e = x∗T[a∗1 a∗2 a∗3

]=[x∗ · a∗1 x∗ · a∗2 x∗ · a∗3

]

Page 12: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

12

Ⅲ . 弱形式の離散化

(∗1)⇐⇒ (∗3)

∀w(x) s.t. w|ΓD = 0 :

Ω

∇w · ∇u dxdy =

Ω

w f dxdy +∫

ΓN

wqdl

u = u on ΓD

左辺第1項

Ω

∇w · ∇u dxdy =Ne∑

e=1

Ωe

∇w · ∇u dxdy

=

Ne∑

e=1

3∑

i=1

3∑

j=1

wσ(e,i)

(

Ωe

∇Li · ∇Lj dxdy)

uσ(e, j) = wT Au

但し,w ≡ [w1,w2, · · · ,wNn ]T ,u ≡ [u1, u2, · · · , uNn ]T

A ≡Ne∑

e=1

3∑

i=1

3∑

j=1

eσ(e,i)eTσ(e, j)

(

Ωe

∇Li · ∇Lj dxdy)

Page 13: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

13

右辺第1項

【仮定】三角形要素Ωe内で非同次関数 f(x) が x, y に関する完全1次多項式 

f (x) =3∑

j=1

fσ(e, j) Lj(x)    但し, fk ≡ f (xk).

Ω

w f dxdy =Ne∑

e=1

3∑

i=1

3∑

j=1

wσ(e,i)

(

Ω

Li(x)Lj(x)dxdy)

fσ(e, j) = wT b

但し,b ≡ B f , f ≡ [ f1, f2, · · · , fNn ]T ,

B ≡Ne∑

e=1

3∑

i=1

3∑

j=1

eσ(e,i)eTσ(e, j)

(

Ωe

Li(x)Lj(x) dxdy)

=1

12

Ne∑

e=1

S e

3∑

i=1

3∑

j=1

eσ(e,i)eTσ(e, j) +

3∑

i=1

eσ(e,i)eTσ(e,i)

S e =12|det Ae|

Page 14: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

14

右辺第2項∫

ΓN

wq dl =Nbe∑

e=1

ν(e)∫

Γe

wq dl

x ∈ Γe(⊂ ΓN)のとき,

w(x) =2∑

i=1

wε(µ(e,i))φi(ξ), q =2∑

j=1

d(µ(e, j))φ j(ξ)

但し,φi(ξ) ≡1 + (−1)iξ

2(i = 1, 2).

ΓN

wq dl =Nbe∑

e=1

ν(e)2∑

i=1

2∑

j=1

wε(µ(e,i))

(∫

Γe

φiφ j dl)

d(µ(e, j)) = wT c

但し,c ≡ 16

Nbe∑

e=1

ν(e) le2∑

i=1

eε(µ(e,i))

2∑

j=1

d(µ(e, j)) + d(µ(e, i))

le ≡ |xε(µ(e,2)) − xε(µ(e,1))| : Γeの長さ.

← 仮定

Page 15: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

15

命題 (*3) の離散形

(∗3)′

∀w s.t. ”α(k) = 0⇒ wk = 0” : wT [Au − (b + c)] = 0and”α(k) = 0⇒ uk = uk”

ベクトル u ≡∑

β(p)=0

dpeε(p) を定義し,

行列 F ≡∑

α(k)=0

ekeTk , U ≡ E − F を導入すれば,

(∗3)′ ⇐⇒

∀v : (Uv)T [Au − (b + c)] = 0andFu = u

⇐⇒

UT [Au − (b + c)] = 0Fu = u

⇐⇒

A∗u = b∗

where A∗ ≡ UT AU + F, b∗ ≡ UT (b + c − Au) + u

Page 16: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

16

行列 F, U の基本的性質

F ≡∑α(k)=0

ekeTk ,   U ≡ E − F =

∑α(k)0

ekeTk

【意味】 ベクトル x に対して,Fx =∑α(k)=0

xkek, Ux =∑α(k)0

xkek.

即ち,Fxはα(k) = 0を満たす x の成分のみを抽出してできたベクトルである.

   Uxはα(k) 0を満たす x の成分のみを抽出してできたベクトルである.

【性質】1) F2 = F, U2 = U, FU = UF = O,2) Fx = 0 ∧ Uy = 0⇐⇒ Fx + Uy = 0

∵)1)

F2 =∑α(k)=0

ekeTk

∑α(m)=0

emeTm =

∑α(k)=0

∑α(m)=0

ekeTmδkm =

∑α(k)=0

ekeTk = F

FU = F(E − F) = F − F2 = O, UF = (E − F)F = F − F2 = O .

2) )自明 )Fx + Uy = 0の両辺に左から F, U を掛ければ,それぞれ

Fx = 0, Uy = 0が得られる. 

Page 17: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

17

【定理】

1) Fu = 0⇐⇒ ∃x : u = Ux

2) U f = 0⇐⇒ ∃x : f = Fx

∵)

1) 

) 自明.

) Uu = xとおくと,U2u = Ux ∴ Uu = Ux

一方,Fu = 0 ∴ u = Fu + Uu = Ux .

2) 1) と全く同様にして証明できる.

Page 18: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

18

Ⅳ . FEM 型連立1次方程式

係数行列 A*の構造(正定値対称帯行列)

【性質1】

行列 A と A*は対称行列である.

∵) A ≡Ne∑

e=1

3∑

i=1

3∑

j=1

eσ(e,i)eTσ(e, j)

(

Ωe

∇Li · ∇Lj dxdy)より,

AT =

Ne∑

e=1

3∑

i=1

3∑

j=1

eσ(e, j)eTσ(e,i)

(

Ωe

∇Li · ∇Lj dxdy)

=

Ne∑

e=1

3∑

j=1

3∑

i=1

eσ(e,i)eTσ(e, j)

(

Ωe

∇Lj · ∇Li dxdy)

(∵ i↔ j )

= A

行列 A が対称であれば,A∗ ≡ UT AU + Fより,行列 A*も対称となる.

Page 19: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

19

【性質2】

行列 A は半正定値であり,A*は正定値である.

∵)

(h, Ah) = hT

Ne∑

e=1

3∑

i=1

3∑

j=1

eσ(e,i) eTσ(e, j)

(

Ωe

∇Li · ∇Lj dxdy) h

=

Ne∑

e=1

Ωe

∣∣∣∣∣∣∣∇

3∑

i=1

hσ(e,i)Li(x)

∣∣∣∣∣∣∣

2

dxdy 0

(h, Ah) = 0⇐⇒3∑

i=1

hσ(e,i)Li(x) = C (const.) (e = 1, 2, · · · ,Ne)

⇐⇒ h = C[1 1 · · · 1

]T 0 (∵ Li(xσ(e, j)) = δi j)

従って,行列 A は半正定値である.

(a)

(b)

Page 20: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

20

(h, A∗h) = (Uh, AUh) + (Fh, Fh) (∵ F2 = F)

= (Uh, AUh) + ‖Fh‖2 0 (∵ (a))

(h, A∗h) = 0⇐⇒ (Uh, AUh) = 0, Fh = 0

⇐⇒ Uh = C[1 1 · · · 1

]T, Fh = 0 (∵ (b))

⇐⇒ (E − F)h = C[1 1 · · · 1

]T, Fh = 0 (∵ U = E − F)

⇐⇒ h = C[1 1 · · · 1

]T, Fh = 0

⇐⇒ h = 0

従って,行列 A*は正定値である.      

Page 21: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

21

【定義】 行列 A に対して,mA ≡ Maxapq =0

|p − q|を A の半バンド幅という.

O

O: 非零要素

:零要素

mA

mA

Page 22: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

22

【性質3】集合 S = (p, q)| ∃e∃(i, j) : p = σ(e, i) ∧ q = σ(e, j) に対して,

m∗A ≡ Max

(p,q)∈S|p − q| = Max

e

(Maxp,q

|σ(e, p) − σ(e, q)|)

で定義される m∗A は,不等式 mA m∗

A を満たす.

 m∗Aは擬似半バンド幅と呼ばれる.

∵)T ≡ (p, q)| apq = 0とおく.(p, q) /∈ S と仮定すると,

apq = 0

∵ A ≡

Ne∑

e=1

3∑

i=1

3∑

j=1

eσ(e,i)eTσ(e, j)

(

Ωe

∇Li · ∇Lj dxdy)

i.e. (p, q) /∈ T    ∴ T ⊂ S

∴ (mA =) Max(p,q)∈T

|p − q| Max(p,q)∈S

|p − q| (= m∗A)   

擬似半バンド幅 ← 要素−節点関係: σ(e, g) (g = 1, 2, 3)だけから定まる.

Page 23: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

23

x1

x6

x11x10x9

x8x7x5

x4x3x2

x12

x16x13 x15x14

x13

x3

x1x2x11

x5x4x12

x16x15x14

x6

x7x10 x8x9

11

278

88

95

43

299

1212

122 12

(a) mA*= 4 (b) mA*= 12

m∗A ≡ Max

(p,q)∈S|p − q| = Max

e

(Maxp,q

|σ(e, p) − σ(e, q)|)

m∗A を減らせば,FEM での計算に要するメモリ量と CPU 時間を軽減できる.

Page 24: 有限要素法入門 Introduction to Finite Element …emperor.yz.yamagata-u.ac.jp › ~kamitani › lecture › FEM_BEM › ...Finite Element Method (FEM) 2 Ⅰ. 2次元Poisson問題

24

ソルバー

係数行列 A*の性質 ソルバー A∗u = b∗の解法の具体形

正定値対称帯行列帯行列に対する

修正 Cholesky 分解

① A∗ = LDLT

② Ly = b∗

  DLT u = y

正定値対称疎行列不完全 Cholesky 分解付き

共役勾配法 (ICCG 法 )