第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル...

56
4 章 簡単な 1 次元有限要素モデル 畔上 秀幸 December 3, 2020 名古屋大学 情報学研究科 複雑系科学専攻 1 / 56

Upload: others

Post on 08-Nov-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

第4章 簡単な1次元有限要素モデル

畔上 秀幸

December 3, 2020

名古屋大学 情報学研究科 複雑系科学専攻

1 / 56

Page 2: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

4.1. はじめに

Page 3: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

§4.1 はじめに

(目標) 1次元微分方程式の境界値問題を取り上げ,有限要素内で 1次多項式となる基底関数を用いた Galerkin 法により,有限要素法が構成されることを理解する.

3 / 56

Page 4: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

4.2. 近似関数の構成

Page 5: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

§4.2 近似関数の構成

Galerkin 法では基底関数の線形結合で近似関数が構成され,それらを弱形式に代入することで未定乗数が決定されていた.その枠組みを変えないで,基底関数の選び方について再考することにしよう.

3章でみてきた Galerkin 法では,基底関数は領域全体で定義された関数の中から選ばれていた.例題 3.3.4 では (sin (iπx1) sin (jπx2))(i,j)∈1,...,m2 が基底関数に選ばれていた.これらの関数は偏微分方程式の境界値問題の定義域Ω = (0, 1)2 を台としている.このような基底関数の選び方をする限りにおいては,境界値問題が定義された領域形状は,図 4.2.1 (a) のような矩形や楕円などに制限されることになる.

5 / 56

Page 6: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

それに対して,図 4.2.1 (b) のような多角形領域 Ω を単純な 3角形領域Ωii に分割して,それぞれの 3角形領域を台にもつ基底関数で Uh を構成することを考える.このようにすれば,Galerkin 法の枠組みは変更せずに,基底関数の選び方を変更するだけで,任意の多角形上で定義された境界値問題の近似解がえられそうである.このような方針で臨んだ Galerkin 法が有限要素法である.このときにえらばれた単純な領域を有限要素とよぶ.

6 / 56

Page 7: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

(a) Ω : 3章の Galerkin 法 (b) Ωii : 有限要素法

図 4.2.1: 近似関数の台

本章では,1次元 Poisson 問題を有限要素法で解く過程を詳しくみてみることにしよう.最初に,有限要素法で使われる近似関数を Galerkin 法の枠組みで定義する.その後で,その近似関数は分割された有限要素の領域ごとに定義された近似関数であるとみなす.それによって,弱形式の積分が有限要素の領域ごとの積分に置き換えられることになる.

7 / 56

Page 8: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

4.3. Galerkin 法における近似関数

Page 9: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

§4.3 Galerkin 法における近似関数

次の問題を考えよう.以下,m ∈ N とする.

問題 4.3.1 (1次元 Poisson 問題)

b : (0, 1) → R, uD ∈ R, pN ∈ R が与えられたとき,

−d2u

dx2= b in (0, 1) , u(0) = uD,

du

dx(1) = pN

を満たす u : (0, 1) → R を求めよ.

9 / 56

Page 10: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

有限要素法では,領域 Ω = (0, 1) を図 4.3.1 のように (x0, x1), (x1, x2), . . . ,

(xm−1, xm) に分割する.ここで,x0, x1, . . . , xm を節点とよび,(x0, x1),

(x1, x2), . . . , (xm−1, xm) を 1次元有限要素あるいは有限要素の領域とよぶ.有限要素に番号をつけて,その番号の集合を E = 1, . . . ,m とかくことにする.また,節点にも番号をつけて,その番号の集合を N = 0, . . . ,m とかくことにする.

図 4.3.1: 1次元領域 Ω = (0, 1) における有限要素と節点

10 / 56

Page 11: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

ϕ0 (x)

ϕ1 (x)

ϕi (x)

ϕm (x)

図 4.3.2: 1次元有限要素法における基底関数 ϕ0, . . . , ϕm

11 / 56

Page 12: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

問題 4.1 に対する 1次元有限要素法の基底関数を,図 4.3.2 のような高さ 1

の山形の関数

ϕ0 (x) =

x1 − x

x1 − x0

in (0, x1)

0 in (x1, 1)

ϕi (x) =

x− xi−1

xi − xi−1

in (xi−1, xi)

xi+1 − x

xi+1 − xi

in (xi, xi+1)

0 in (0, xi−1) ∪ (xi+1, 1)

for i ∈ 1, 2, . . . ,m

ϕm (x) =

x− xm−1

xm − xm−1

in (xm−1, 1)

0 in (0, xm−1)

12 / 56

Page 13: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

に選ぶ.近似関数は

uh (u) = u0ϕ0 +∑

i∈1,...,m

uiϕi =

(uD

uN

(ϕD

ϕN

)= u · ϕ, (4.3.1)

vh (v) = v0ϕ0 +∑

i∈1,...,m

viϕi =

(vDvN

(ϕD

ϕN

)= v · ϕ (4.3.2)

のように構成する.ただし,u0 = uD = uD および v0 = vD = 0 とするが,代入はあとでおこなう.ここで,uN = (u1, . . . , um)

⊤ と vN = (v1, . . . , vm)⊤ が

未定乗数である.なお, ¯( · ) はベクトルの意味でつけたが,uD と vD は,たまたま問題 4.1 では基本境界条件が与えられた節点が 1つであったために 1

次元ベクトルとなった.

13 / 56

Page 14: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

図 4.3.3: 1次元有限要素法における節点値ベクトル u

このように定義された近似関数の特徴についてみておこう.まず,基底関数がこのような連続関数であることは,1階微分が定数関数となり,弱形式に代入するための要件を満たしている.有限要素上で 1次多項式であることは,a (ϕi, ϕj) の中に現れる ϕi と ϕj の微分の評価が容易になることを意味する.また,節点ごとに定義された基底関数は節点に隣接する有限要素だけを台に

14 / 56

Page 15: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

もつことになり,a (ϕi, ϕj) の積分領域はそれらの有限要素に限定される.さらに,節点 i ∈ N で 1 となる基底関数 ϕi に対する未定乗数 ui は,図 4.3.3

のように,近似関数の節点値と一致する.このことから,u と v は節点値ベクトルとよばれる.本書では,u と v の要素を二つに分けて,基本境界条件を与える uD = u0 と vD = v0 を Dirichlet 型節点値ベクトル (この場合は実数)

とよび,uN = (u1, . . . , um)⊤ と vN = (v1, . . . , vm)

⊤ を Neumann 型節点値ベクトルとよぶことにする.

15 / 56

Page 16: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

図 4.3.4: 1次元有限要素法における有限要素上の基底関数 φi(1), φi(2)

16 / 56

Page 17: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

4.4. 有限要素法における近似関数

Page 18: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

§4.4 有限要素法における近似関数

これまでは,有限要素法が Galerkin 法の一つであるとの認識のもとで,近似関数の定義域は Ω であるとみなしてきた.しかし,有限要素 i ∈ E の領域Ωi = (xi−1, xi) を台にもつ基底関数の集合に注目すれば,図 4.3.4 に示されるような節点 i− 1 ∈ N と i ∈ N に対する二つの基底関数 ϕi−1 (x) と ϕi (x) を用いて

φi(1) (x) = ϕi−1 (x) =xi(2) − x

xi(2) − xi(1)

, (4.4.1)

φi(2) (x) = ϕi (x) =x− xi(1)

xi(2) − xi(1)

(4.4.2)

とおき,すべての i ∈ E に対して Ωi 上の近似関数を

18 / 56

Page 19: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

uh (ui) =(φi(1) φi(2)

)(ui(1)

ui(2)

)= φi · ui, (4.4.3)

vh (vi) =(φi(1) φi(2)

)(vi(1)vi(2)

)= φi · vi (4.4.4)

のように定義する方法もある.このとき,φi (x) = (φi−1 (x) , φi (x))

⊤ =(φi(1) (x) , φi(2) (x)

)⊤を有限要素上の基底関

数とよぶことにする.なお,有限要素法の専門書では,φi (x) を形状関数あるいは内挿関数とよぶことが一般的である.しかし,本書の主題は形状最適化問題であることから,形状関数の用語は混乱をきたす可能性がある.そこ

19 / 56

Page 20: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

で,本書では φi (x) を有限要素上の基底関数あるいは混乱のおそれがないときは基底関数とよぶことにする.また,式 (4.4.3) と式 (4.4.4) において

ui =

(ui−1

ui

)=

(ui(1)

ui(2)

), vi =

(vi−1

vi

)=

(vi(1)vi(2)

)

を有限要素 i ∈ E に対する u と v の要素節点値ベクトルという.ここで,( · )i(α) の表現によって有限要素 i ∈ E における局所節点番号 α ∈ 1, 2 に対応した関数あるいは値を表すことにして,ui(α) と vi(α) を有限要素 i ∈ E の局所節点番号表示とよぶことにする.なお,式 (4.4.3) と式 (4.4.4) の uh (ui) とvh (vi) は関数 Ωi → R であることから,x ∈ Ωi に対して uh (ui) (x) とvh (vi) (x) のようにかけることに注意されたい.ui と vi の関数でもあるような表示が使われたのは,ui と vi は未定乗数として uh (ui) と vh (vi) の変数

20 / 56

Page 21: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

になっているためである.一方,有限要素上の基底関数φi (x) =

(φi(1) (x) , φi(2) (x)

)⊤は,x ∈ Ωi の関数ではあるが

xi =

(xi−1

xi

)=

(xi(1)

xi(2)

)

を使って構成されている.このときの xi は有限要素 i ∈ E に対する要素節点ベクトルという.

21 / 56

Page 22: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

このように定義された有限要素上の基底関数は,α, β ∈ 1, 2 に対して

φi(α)

(xi(β)

)= δαβ (4.4.5)

を満たしている.また,すべての i ∈ E に対する x ∈ Ωi において∑α∈1,2

φi(α) (x) = 1 (4.4.6)

が成り立つ.式 (4.4.5) は,未定乗数 ui と vi が近似関数の節点値の意味をもつための条件となっている.また,式 (4.4.6) は,Ωi 上で u = 1 をui = (1, 1)⊤ によって厳密に表現できるための条件になっている.

22 / 56

Page 23: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

式 (4.4.3) と式 (4.4.4) で定義された Ωi = (xi−1, xi) 上の関数 uh (ui) とvh (vi) を全体の節点値ベクトル u = (u0, . . . , um)

⊤ と v = (v0, . . . , vm)⊤ に関

連づけるためには,

uh (ui) =(φi(1) φi(2)

)(0 · · · 1 0 · · · 0

0 · · · 0 1 · · · 0

)

u0

...

ui−1

ui

...

um

= φi · (Ziu) , (4.4.7)

vh (vi) = φi · (Ziv) (4.4.8)

のような行列 Zi ∈ R2×(m+1) が使われる.このような Zi は Boole 行列とよばれる.

23 / 56

Page 24: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

4.5. 離散化方程式

Page 25: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

§4.5 離散化方程式

有限要素ごとの近似関数が式 (4.4.7) と式 (4.4.8) のように構成されたので,これらを 1次元 Poisson 問題の弱形式 (第 2章の問題 2.2) に代入して,uN を未知数とする離散化方程式が得られるまでをみてみよう.

式 (4.3.1) と式 (4.3.2) の uh (u) と vh (v) を弱形式に代入すれば,

a (uh (u) , vh (v)) = l (vh (v)) (4.5.1)

となる.ここで,式 (4.5.1) の左辺は,積分領域を要素ごとに分けることができて,

25 / 56

Page 26: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

a (uh (u) , vh (v)) =∑

i∈1,...,m

∫ xi(2)

xi(1)

duh

dx(ui)

dvhdx

(vi) dx

=∑

i∈1,...,m

ai (uh (ui) , vh (vi)) (4.5.2)

のようにかける.式 (4.5.2) 右辺の各項は,式 (4.4.7) と式 (4.4.8) の uh (ui)

と vh (vi) を用いて,

ai (uh (ui) , vh (vi))

=(vi(1) vi(2)

)

26 / 56

Page 27: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

×

∫ xi(2)

xi(1)

dφi(1)

dx

dφi(1)

dxdx

∫ xi(2)

xi(1)

dφi(1)

dx

dφi(2)

dxdx∫ xi(2)

xi(1)

dφi(2)

dx

dφi(1)

dxdx

∫ xi(2)

xi(1)

dφi(2)

dx

dφi(2)

dxdx

(ui(1)

ui(2)

)

=(vi(1) vi(2)

)(ai (φi(1), φi(1)

)ai(φi(1), φi(2)

)ai(φi(2), φi(1)

)ai(φi(2), φi(2)

))(ui(1)

ui(2)

)= vi ·

(Aiui

)= v ·

(Z⊤

i AiZiu)= v ·

(Aiu

)(4.5.3)

のようにまとめられる.ここで,Ai =(ai(αβ)

)αβ

∈ R2×2 を有限要素 i ∈ Eの係数行列とよぶ.Ai ∈ R(m+1)×(m+1) は,それを全体の節点値ベクトルに合わせて 0 を補充して拡大された行列とする.ここで,ui と vi は有限要素

27 / 56

Page 28: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

i ∈ E の要素節点値ベクトルで R2 の要素であるのに対して,u と v は全体の節点値ベクトルで Rm+1 の要素であることに注意されたい.

式 (4.4.1) と式 (4.4.2) を用いて Ai を計算すれば,

ai(11) =

∫ xi(2)

xi(1)

dφi(1)

dx

dφi(1)

dxdx =

1(xi(2) − xi(1)

)2 ∫ xi(2)

xi(1)

(−1)2 dx

=1

xi(2) − xi(1)

,

ai(12) =

∫ xi(2)

xi(1)

dφi(1)

dx

dφi(2)

dxdx =

1(xi(2) − xi(1)

)2 ∫ xi(2)

xi(1)

1 · (−1) dx

=−1

xi(2) − xi(1)

,

28 / 56

Page 29: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

ai(21) = ai(12)

ai(22) =

∫ xi(2)

xi(1)

dφi(2)

dx

dφi(2)

dxdx =

1(xi(2) − xi(1)

)2 ∫ xi(2)

xi(1)

12 dx

=1

xi(2) − xi(1)

となり,

Ai =

(ai(11) ai(12)ai(21) ai(22)

)=

1

xi(2) − xi(1)

(1 −1

−1 1

)(4.5.4)

が得られる.

29 / 56

Page 30: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

一方,式 (4.5.1) の右辺も

l (vh (v)) =∑

i∈1,...,m

∫ xi(2)

xi(1)

bvh (vi) dx+ pNvh (vm)

=∑

i∈1,...,m

li (vh (vi)) (4.5.5)

のように要素ごとに分けることができる.ただし,有限要素i ∈ 1, . . . ,m− 1 と m に対して,それぞれ

li (vh (vi)) =(vi(1) vi(2)

)∫ xi(2)

xi(1)

bφi(1) dx∫ xi(2)

xi(1)

bφi(2) dx

=(vi(1) vi(2)

)(bi(1)bi(2)

)

30 / 56

Page 31: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

= vi · bi = v ·(Z⊤

i bi)= v · bi

= vi · li = v ·(Z⊤

i li)= v · li, (4.5.6)

lm (vh (vm)) =(vm(1) vm(2)

)∫ xm(2)

xm(1)

bφi(1) dx∫ xm(2)

xm(1)

bφi(2) dx

+

(0

pN

)=(vm(1) vm(2)

)((bm(1)

bm(2)

)+

(pm(1)

pm(2)

))= vm ·

(bm + pm

)= v ·

Z⊤

m

(bm + pm

)= v ·

(bm + pm

)= vm · lm = v ·

(Z⊤

mlm)= v · lm (4.5.7)

31 / 56

Page 32: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

とおく.ここで,i ∈ E = 1, . . . ,m に対して,li を有限要素 i の既知項ベクトルとよぶ.bi と pi はそれぞれ既知項ベクトルの b および pN による成分を表す.li, bi および pi は,それぞれ li, bi および pi を全体の節点値ベクトルに合わせて 0 を補充して拡大されたベクトルとする.

b が定数関数のとき,bi =(bi(1), bi(2)

)⊤を計算すれば,

bi(1) = b

∫ xi(2)

xi(1)

φi(1) dx = b

∫ xi(2)

xi(1)

xi(2) − x

xi(2) − xi(1)

dx = bxi(2) − xi(1)

2,

bi(2) = b

∫ xi(2)

xi(1)

φi(2) dx = b

∫ xi(2)

xi(1)

x− xi(1)

xi(2) − xi(1)

dx = bxi(2) − xi(1)

2

32 / 56

Page 33: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

となり,

bi = bxi(2) − xi(1)

2

(1

1

)(4.5.8)

が得られる.

ここで,式 (4.5.3) が代入された式 (4.5.2),および 式 (4.5.6) と式 (4.5.7)

が代入された式 (4.5.5) を弱形式 (式 (4.5.1)) に代入すれば,

v ·∑

i∈1,...,m

(Aiu

)= v ·

∑i∈1,...,m

li

33 / 56

Page 34: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

となる.この式を

v ·(Au)= v · l (4.5.9)

かく.すなわち,

A =∑

i∈1,...,m

Ai ∈ R(m+1)×(m+1),

l =∑

i∈1,...,m

li =∑

i∈1,...,m

bi + pm = b+ p ∈ Rm+1

とおいた.A と l をそれぞれ全体係数行列と全体既知項ベクトルとよぶ.また,b と p をそれぞれ b と pN の全体節点値ベクトルとよぶ.

34 / 56

Page 35: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

式 (4.5.9) は弱形式を与えているが,uh と vh に対する基本境界条件が仮定されてこなかった.そこで,式 (4.5.9) に基本境界条件を代入することを考えよう.基本境界条件は u0 = uD = uD (uD は基本境界条件の節点値,uD は境界値問題の既定値を意味する) と v0 = vD = 0 であった.これらを式 (4.5.9)

に代入すれば,

(0 v1 · · · vm

)a00 a01 · · · a0m

a10 a11 · · · a1m...

.... . .

...

am0 am1 · · · amm

uD

u1

...

um

l0

l1...

lm

=(0 v⊤

N

)((ADD ADN

AND ANN

)(uD

uN

)−

(lDlN

))= 0 (4.5.10)

35 / 56

Page 36: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

となる.式 (4.5.10) を並び替えればv1...

vm

·

a11 · · · a1m

.... . .

...

am1 · · · amm

u1

...

um

l1...

lm

+

uDa10...

uDam0

= v⊤N

(ANNuN − lN + uDAND

)= 0

となる.vN は任意であるので,

ANNuN = lN − uDAND = l (4.5.11)

36 / 56

Page 37: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

とかける.式 (4.5.11) は未知ベクトル uN に対する連立 1次方程式となっており,有限要素法による離散化方程式とよばれる.式 (4.5.11) を uN について解けば,

uN = A−1NNl (4.5.12)

となる.これにより,有限要素解 uh (u) は u =(uD, u

⊤N

)⊤を式 (4.3.1) に代

入することによって得られることになる.また,有限要素 i ∈ E の領域 Ωi 上の有限要素解 uh (ui) は式 (4.4.7) によって求められることになる.

37 / 56

Page 38: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

4.6. 例題

Page 39: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

§4.6 例題

図 4.6.1: 有限要素分割 m = 4

実際に 1次元 Poisson 問題を有限要素法で解いてみよう.

例題 4.6.1 (1次元 Poisson 問題に対する有限要素法)

問題 4.1 において b は定数関数とする.このとき,図 4.6.1 の有限要素分割を用いて上記の 1次元有限要素法で近似解を求める際の連立 1次方程式を示せ.また,b = 1, uD = 0, pN = 0 とおいたときの近似解を求めよ.

39 / 56

Page 40: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

解答 有限要素の大きさを h = 1/4 とおく.式 (4.5.4), 式 (4.5.8) および式 (4.5.7)

より

Ai =1

h

(1 −1

−1 1

), bi =

hb

2

(1

1

), p4 =

(0

pN

)

が得られる.A1 と b1 を全体の節点値ベクトルに合わせて拡大して

A1 =1

h

1 −1 0 0 0

−1 1 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

, b1 =hb

2

1

1

0

0

0

40 / 56

Page 41: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

が得られる.A2 と b2 をそれぞれ A1 と b1 に重ね合わせれば,

A1 + A2 =1

h

1 −1 0 0 0

−1 1 + 1 −1 0 0

0 −1 1 0 0

0 0 0 0 0

0 0 0 0 0

, b1 + b2 =hb

2

1

1 + 1

1

0

0

が得られる.同様にして,A3 と b3, A4 と b4 および p4 を重ね合わせれば,

A =∑

i∈1,...,4

Ai =1

h

1 −1 0 0 0

−1 2 −1 0 0

0 −1 2 −1 0

0 0 −1 2 −1

0 0 0 −1 1

,

41 / 56

Page 42: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

l =∑

i∈1,...,4

bi + p4 =hb

2

1

2

2

2

1

+

0

0

0

0

pN

が得られる.これらを用いた式 (4.5.9) に基本境界条件 u0 = uD = uD とv0 = vD = 0 を代入すれば,

0

v1

v2

v3

v4

·

1

h

1 −1 0 0 0

−1 2 −1 0 0

0 −1 2 −1 0

0 0 −1 2 −1

0 0 0 −1 1

uD

u1

u2

u3

u4

− hb

2

1

2

2

2

1

0

0

0

0

pN

= 0

42 / 56

Page 43: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

となる.この式を並び替えて,v1

v2

v3

v4

·

1

h

2 −1 0 0

−1 2 −1 0

0 −1 2 −1

0 0 −1 1

u1

u2

u3

u4

− hb

2

2

2

2

1

0

0

0

pN

− 1

h

uD

0

0

0

= 0

が得られる.(v1, v2, v3, v4) は任意であるので,

1

h

2 −1 0 0

−1 2 −1 0

0 −1 2 −1

0 0 −1 1

u1

u2

u3

u4

=hb

2

2

2

2

1

+

0

0

0

pN

+1

h

uD

0

0

0

43 / 56

Page 44: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

が得られる.この式は,

ANNuN = l

のような uN に対する連立 1次方程式である.ここで,b = 1, uD = 0, pN = 0 のとき,

u1

u2

u3

u4

=1

42

1 1 1 1

1 2 2 2

1 2 3 3

1 2 3 4

1

1

1

1/2

=

7/32

3/8

15/32

1/2

となる.一方,厳密解は

u = −1

2x2 + x

44 / 56

Page 45: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

である.図 4.6.2 に数値解 uh と厳密解 u の比較を示す.

図 4.6.2: 例題 4.6.1 の厳密解 u と 近似解 uh

45 / 56

Page 46: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

例題 4.6.1 の境界条件を変更して,次の問題を考えてみよう.

例題 4.6.2 (1次元 Dirichlet 問題)

b, uD0, uD1, pN ∈ R が与えられたとき,

−d2u

dx2= b in (0, 1) , u (0) = uD0, u (1) = uD1

を満たす u : (0, 1) → R を求める問題を考える.図 4.6.1 の有限要素分割を用いて有限要素法による近似解を求める際の連立 1次方程式を示せ.また,b = 1 および uD0 = uD1 = 0 とおいたときの数値解を求めよ.

46 / 56

Page 47: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

解答 A の計算は,例題 4.6.1 と同じである.また,l =∑

i∈1,...,4 bi となる.これらを用いた式 (4.5.9) に基本境界条件 u0 = uD0 = uD0, u4 = uD4 = uD1,

v0 = vD0 = 0 および v4 = vD4 = 0 を代入すれば,0

v1

v2

v3

0

·

1

h

1 −1 0 0 0

−1 2 −1 0 0

0 −1 2 −1 0

0 0 −1 2 −1

0 0 0 −1 1

uD0

u1

u2

u3

uD1

− hb

2

1

2

2

2

1

= 0

となる.この式を並び替えて,

(v1 v2 v3

)1

h

2 −1 0

−1 2 −1

0 −1 2

u1

u2

u3

− h

2

2

2

2

− 1

h

uD0

0

uD1

= 0

47 / 56

Page 48: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

となる.(v1, v2, v3) は任意であるので,

1

h

2 −1 0

−1 2 −1

0 −1 2

u1

u2

u3

=h

2

2

2

2

+1

h

uD0

0

uD1

が得られる.この式は,

ANNuN = l

のような連立 1次方程式である.b = 1 および uD0 = uD1 = 0 のとき,u1

u2

u3

=1

43

3 2 1

2 4 2

1 2 3

1

1

1

=

3/32

1/8

3/32

48 / 56

Page 49: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

となる.図 4.6.3 に数値解 uh と厳密解 u =1

2x (x− 1) の比較を示す.

図 4.6.3: 例題 4.6.2 の厳密解 u と 近似解 uh

49 / 56

Page 50: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

例題 4.6.1 と例題 4.6.2 から,有限要素法の特徴の一つとして次のことがいえる.3章 でみてきた Galerkin 法では,基本境界条件の変更は基底関数の変更が必要とされた.しかし,有限要素法では,係数行列と既知項ベクトルを求めた後で境界条件を代入することになることから,基本境界条件の変更は容易である.

50 / 56

Page 51: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

4.7. 有限差分法との比較

Page 52: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

§4.7 有限差分法との比較

例題 4.6.1 の結果を有限差分法の結果と比較してみよう.

ANNuN = l,すなわち

1

h

2 −1 0 0

−1 2 −1 0

0 −1 2 −1

0 0 −1 1

u1

u2

u3

u4

=h

2

2

2

2

1

+

0

0

0

pN

+

uD

0

0

0

の第 2式を抜き出せば,

−u1 + 2u2 − u3

h2= 1

となる.この式は有限差分法で得られた近似式と一致する.52 / 56

Page 53: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

一方,第 4式を抜き出せば,

u4 − u3

h= pN +

h

2

となる.有限差分式に右辺第 2項が付加されている.自然境界条件の与え方で差が現れる.

53 / 56

Page 54: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

4.8. まとめ

Page 55: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

§4.8 まとめ

1次元微分方程式の境界値問題を取り上げ,有限要素内で 1次多項式となる基底関数を用いた Galerkin 法により,有限要素法が構成されることをついてみてきた.

55 / 56

Page 56: 第4章簡単な 1次元有限要素モデル第4 章簡単な1 次元有限要素モデル はじめに x4.1 はじめに (目標) 1 次元微分方程式の境界値問題を取り上げ,有限要素内で1

1. 微分方程式の定義域に節点を配置し,それらの節点で分割された部分領域を有限要素とよぶ.

2. 節点数と同数の基底関数を定義する.それぞれの基底関数は,ある節点で 1 となり,それ以外の節点で 0 となる関数とする.

3. 近似関数の各節点における値を未知変数にして,基底関数のその未知変数の 1次結合により近似関数を構成する.弱形式における任意関数の近似関数も同様に構成する.

4. これらの近似関数を弱形式に代入することで,未知変数についての連立 1

次方程式が得られる.

56 / 56