• 検索結果がありません。

応用数値解析特論 第 4 回

N/A
N/A
Protected

Academic year: 2021

シェア "応用数値解析特論 第 4 回"

Copied!
60
0
0

読み込み中.... (全文を見る)

全文

(1)

応用数値解析特論 第 4

〜1次元Poisson方程式に対する有限要素法〜

かつらだ

桂田 祐史ま さ し

http://nalab.mind.meiji.ac.jp/~mk/ana/

2020

10

12

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 1 / 35

(2)

目次

1 1次元の有限要素法

モデル問題とその弱定式化 有限要素解の定義

有限要素への分割

区分的1次多項式の空間の基底関数 有限要素空間,有限要素解

蛇足の話

有限要素解を求めるアルゴリズム

長さ座標 弱形式の分割

要素係数行列,要素自由項ベクトル 直接剛性法(近似方程式の組み立て) 具体的にすることのまとめ

連立

1

次方程式の具体形 サンプル・プログラム fem1d.c

問題

プログラムの解説

(3)

4 1 次元の有限要素法

有限要素法が実際に利用されるのは、空間2次元, 3次元の問題がほとんどであ るが、ここでは計算手順の概要を理解するために、1次元のPoisson方程式の境 界値問題に対する有限要素法の説明を行う。

このすぐ後に説明する2 次元の場合を分かりやすくするためという趣旨である (いきなり全部やると大変)。

以上は、菊地 [1]の内容を踏襲したものだが、私自身の経験から「分かりやす い」と思っている。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 3 / 35

(4)

4 1 次元の有限要素法

有限要素法が実際に利用されるのは、空間2次元, 3次元の問題がほとんどであ るが、ここでは計算手順の概要を理解するために、1次元のPoisson方程式の境 界値問題に対する有限要素法の説明を行う。

このすぐ後に説明する2 次元の場合を分かりやすくするためという趣旨である (いきなり全部やると大変)。

以上は、菊地 [1]の内容を踏襲したものだが、私自身の経験から「分かりやす い」と思っている。

(5)

4 1 次元の有限要素法

有限要素法が実際に利用されるのは、空間2次元, 3次元の問題がほとんどであ るが、ここでは計算手順の概要を理解するために、1次元のPoisson方程式の境 界値問題に対する有限要素法の説明を行う。

このすぐ後に説明する2 次元の場合を分かりやすくするためという趣旨である (いきなり全部やると大変)。

以上は、菊地 [1]の内容を踏襲したものだが、私自身の経験から「分かりやす い」と思っている。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 3 / 35

(6)

4.1 モデル問題とその弱定式化

問題(P)の 1次元版である、常微分方程式の境界値問題 (1)

−u′′=f (in (0,1)) u(0) =α, u(1) =β

を考える。ここでf は (0,1) 上定義された既知関数、α,β は既知実定数であ る。(要するにn= 1, Ω = (0,1), Γ ={0,1}, Γ1={0}, Γ2={1},g1=α, g2=β である。)

Xg1 =

w ∈H1(I)w(0) =α , X =

v ∈H1(I)v(0) = 0 ,

⟨u,v⟩= Z 1

0

u(x)v(x)dx, (f,v) = Z 1

0

f(x)v(x)dx とおくと、(1)の弱解とは、弱形式

(2) ⟨u,v⟩= (f,v) +βv(1) (v∈X)

(7)

4.2 有限要素解の定義

要点はすでに何度か話したことがある。

有限要素法は区分的多項式を試行関数、試験関数に用いるRitz-Galerkin法である。

一般に、Xg1

,

X の有限次元近似 X

ˆ

g1

, ˆ

X を定めて、

(1

つの

) Ritz-Galerkin

解が定義される。

区分的多項式というものを定義して、それを用いて適切にX

ˆ

g1

, ˆ

X を定め ることで有限要素解が定義できる。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 5 / 35

(8)

4.2.1 有限要素 , 区分 1 次多項式

区間[0,1]を m個の小区間に分割する:

0 =x0<x1<x2<· · ·<xm= 1.

xi (0≤i≤m)を節点(node)と呼ぶ。

また区間ek := [xk1,xk] (k = 1,· · ·,m)を有限要素(finite element)と呼ぶ。 区間[0,1]全体で連続で、各要素ek 上で1 次関数に等しい関数を区分的1次多 項式と呼び、区分的1次多項式の全体をXe と表す。dimXe=m+ 1 である。

試行関数(近似解) ˆu,試験関数vˆとして、区分的1次多項式を採用しよう。言い換える と、試行関数の空間Xˆg1,試験関数の空間Xˆ は、Xˆg1⊂Xe, ˆX ⊂Xe を満たすよう定める。

(9)

4.2.1 有限要素 , 区分 1 次多項式

区間[0,1]を m個の小区間に分割する:

0 =x0<x1<x2<· · ·<xm= 1.

xi (0≤i≤m)を節点(node)と呼ぶ。

また区間ek := [xk1,xk] (k = 1,· · ·,m)を有限要素(finite element)と呼ぶ。 区間[0,1]全体で連続で、各要素ek 上で1 次関数に等しい関数を区分的1次多 項式と呼び、区分的1次多項式の全体をXe と表す。dimXe=m+ 1 である。

試行関数(近似解) ˆu,試験関数vˆとして、区分的1次多項式を採用しよう。言い換える と、試行関数の空間Xˆg1,試験関数の空間Xˆ は、Xˆg1⊂Xe, ˆX ⊂Xe を満たすよう定める。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 6 / 35

(10)

4.2.1 有限要素 , 区分 1 次多項式

区間[0,1]を m個の小区間に分割する:

0 =x0<x1<x2<· · ·<xm= 1.

xi (0≤i≤m)を節点(node)と呼ぶ。

また区間ek := [xk1,xk] (k = 1,· · ·,m)を有限要素(finite element)と呼ぶ。

区間[0,1]全体で連続で、各要素ek 上で1 次関数に等しい関数を区分的1次多 項式と呼び、区分的1次多項式の全体をXe と表す。dimXe=m+ 1 である。

試行関数(近似解) ˆu,試験関数vˆとして、区分的1次多項式を採用しよう。言い換える と、試行関数の空間Xˆg1,試験関数の空間Xˆ は、Xˆg1⊂Xe, ˆX ⊂Xe を満たすよう定める。

(11)

4.2.1 有限要素 , 区分 1 次多項式

区間[0,1]を m個の小区間に分割する:

0 =x0<x1<x2<· · ·<xm= 1.

xi (0≤i≤m)を節点(node)と呼ぶ。

また区間ek := [xk1,xk] (k = 1,· · ·,m)を有限要素(finite element)と呼ぶ。

区間[0,1]全体で連続で、各要素ek 上で1 次関数に等しい関数を区分的1次多 項式と呼び、区分的1次多項式の全体をXe と表す。dimXe=m+ 1 である。

試行関数(近似解) ˆu,試験関数vˆとして、区分的1次多項式を採用しよう。言い換える と、試行関数の空間Xˆg1,試験関数の空間Xˆ は、Xˆg1⊂Xe, ˆX ⊂Xe を満たすよう定める。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 6 / 35

(12)

4.2.2 区分的 1 次多項式の空間の基底関数

Xe の 基底関数として以下に定義するi}mi=0 を採用できる。

ϕi の定義

ϕi は区分的1次多項式で、xi では1,他の節点xj (j̸=i)では0という値を取る。

(i) ϕi ∈C[0,1]

(ii) (∀k∈ {1,· · ·,m}) (∃p,q∈R) (∀x∈ek)ϕi(x) =px+q

(iii) ϕi(xj) =δij (j= 1, . . . ,m).

(13)

4.2.2 区分的 1 次多項式の空間の基底関数

Xe の 基底関数として以下に定義するi}mi=0 を採用できる。

ϕi の定義

ϕi は区分的1次多項式で、xi では1,他の節点xj (j̸=i)では0という値を取る。

(i) ϕi ∈C[0,1]

(ii) (∀k∈ {1,· · ·,m}) (∃p,q∈R) (∀x∈ek)ϕi(x) =px+q

(iii) ϕi(xj) =δij (j= 1, . . . ,m).

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 7 / 35

(14)

4.2.2 区分的 1 次多項式の空間の基底関数

次の性質が基本的である。

補題 1.1 ( 基底関数 ϕ

i

の性質 )

wi R(0≤i≤m)に対して ˆ w(x) :=

Xm i=0

wiϕi(x)

とおくと

ˆ

w(xi) =wi (0≤i≤m).

すなわちϕi の係数は、節点xi における関数値である。

証明 .

任意のj∈ {1,· · ·,m}に対して ˆ w(xj) =

Xm i=0

wiϕi(xj) = Xm

i=0

wiδij=wj.

(15)

4.2.2 区分的 1 次多項式の空間の基底関数

次の性質が基本的である。

補題 1.1 ( 基底関数 ϕ

i

の性質 )

wi R(0≤i≤m)に対して ˆ w(x) :=

Xm i=0

wiϕi(x)

とおくと

ˆ

w(xi) =wi (0≤i≤m).

すなわちϕi の係数は、節点xi における関数値である。

証明 .

任意のj∈ {1,· · ·,m}に対して ˆ w(xj) =

Xm i=0

wiϕi(xj) = Xm

i=0

wiδij=wj.

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 8 / 35

(16)

4.2.3 有限要素空間 , 有限要素解

試行関数の空間 X

ˆ

g1 と試験関数の空間X

ˆ

として、次のものを採用する。

X

ˆ

g1

=

(

αϕ0

+

Xm

i=1

aiϕi

ai R

(i = 1, 2,

· · · ,m) )

,

(3)

X

ˆ =

( m

X

i=1

aiϕi

ai R

(i = 1, 2,

· · · ,m) )

.

(4)

このとき定まる

Ritz-Galerkin

解を u

ˆ

とする。すなわちu

ˆ

ˆ

u∈X

ˆ

g1,

(5a)

⟨u,

ˆ

v

ˆ

= (f

,v) +

ˆ

βv(1)

ˆ (ˆ

v ∈X

ˆ ). (5b)

を満たす。この u

ˆ

(P1

要素を用いた

)

有限要素解と呼ぶ。

(17)

4.2.3 有限要素空間 , 有限要素解

試行関数の空間 X

ˆ

g1 と試験関数の空間X

ˆ

として、次のものを採用する。

X

ˆ

g1

=

(

αϕ0

+

Xm

i=1

aiϕi

ai R

(i = 1, 2,

· · · ,m) )

,

(3)

X

ˆ =

( m

X

i=1

aiϕi

ai R

(i = 1, 2,

· · · ,m) )

.

(4)

このとき定まる

Ritz-Galerkin

解を u

ˆ

とする。すなわちu

ˆ

ˆ

u ∈X

ˆ

g1,

(5a)

⟨u,

ˆ

v

ˆ

= (f

,v) +

ˆ

βv

ˆ (1) (ˆ

v ∈X

ˆ ).

(5b)

を満たす。この u

ˆ

(P1

要素を用いた

)

有限要素解と呼ぶ。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 9 / 35

(18)

4.2.4 蛇足の話

(実は必要がないのだけれど)式で書くと、1≤i≤m−1に対しては

ϕi(x) =









x−xi1

xi−xi1 (x[xi1,xi]) xi+1−x

xi+1−xi

(x[xi,xi+1])

0 (その他),

i = 0に対しては

ϕ0(x) =



x1−x

x1−x0 (x[x0,x1])

0 (その他),

i =mに対しては

ϕm(x) =



x−xm1

xm−xm1 (x[xm1,xm])

0 (その他).

このように式で書けるけれど、そうしてもほとんど使いみちがない。ϕi(xj) =δij

を満たす連続な区分的1 次関数ということ、それとそのグラフのイメージを覚 えた方がよい。

(19)

4.2.4 蛇足の話

(実は必要がないのだけれど)式で書くと、1≤i≤m−1に対しては

ϕi(x) =









x−xi1

xi−xi1 (x[xi1,xi]) xi+1−x

xi+1−xi

(x[xi,xi+1])

0 (その他),

i = 0に対しては

ϕ0(x) =



x1−x

x1−x0 (x[x0,x1])

0 (その他),

i =mに対しては

ϕm(x) =



x−xm1

xm−xm1 (x[xm1,xm])

0 (その他).

このように式で書けるけれど、そうしてもほとんど使いみちがない。ϕi(xj) =δij

を満たす連続な区分的1 次関数ということ、それとそのグラフのイメージを覚 えた方がよい。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 10 / 35

(20)

4.3 有限要素解を求めるアルゴリズム

前項までに有限要素解uˆは定義された。uˆは ˆ

u=αϕ0+ Xm

i=1

uiϕi

と表すことができるが、ui を並べたu= (u1,u2,· · ·,um) について、連立1次 方程式Au=f が得られることは原理的に分かっている。しかし、A= (⟨ϕj, ϕi) や f を実際に計算するのは、やり方を知らないと案外難しい。有限要素法では このあたりが良く整備されていて、明快なアルゴリズムが確立されている。

有限要素 ek ごとに、要素係数行列、要素自由項ベクトルというものを求め、そ れから Af を “組み立てる”。後半の操作を構造力学の用語にちなみ直接剛 性法と呼ぶ。

(21)

4.3 有限要素解を求めるアルゴリズム

前項までに有限要素解uˆは定義された。uˆは ˆ

u=αϕ0+ Xm

i=1

uiϕi

と表すことができるが、ui を並べたu= (u1,u2,· · ·,um) について、連立1次 方程式Au=f が得られることは原理的に分かっている。しかし、A= (⟨ϕj, ϕi) や f を実際に計算するのは、やり方を知らないと案外難しい。有限要素法では このあたりが良く整備されていて、明快なアルゴリズムが確立されている。

有限要素 ek ごとに、要素係数行列、要素自由項ベクトルというものを求め、そ れからAf を “組み立てる”。後半の操作を構造力学の用語にちなみ直接剛 性法と呼ぶ。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 11 / 35

(22)

4.3.1 長さ座標

各要素ek において

L0(xk1) = 1, L0(xk) = 0, L1(xk1) = 0, L1(xk) = 1 で定まる1次関数L0,L1ek の長さ座標と呼ぶ。

(6) L0+L11

が成り立つ。また節点の座標xk1,xk を用いて

(7) L0(x) = xk−x

xk −xk1, L1(x) = x−xk1

xk−xk1 と具体的に表わせる (こちらはϕi と違って、後で用いる)。

ˆ

w ∈Xe に対してwi := ˆw(xi)とおくと、次式が成り立つ: (8) wˆ(x) =wk1L0(x) +wkL1(x) =

X1 j=0

wk+j1Lj (x ∈ek).

(23)

4.3.1 長さ座標

各要素ek において

L0(xk1) = 1, L0(xk) = 0, L1(xk1) = 0, L1(xk) = 1 で定まる1次関数L0,L1ek の長さ座標と呼ぶ。

(6) L0+L11

が成り立つ。

また節点の座標xk1,xk を用いて

(7) L0(x) = xk−x

xk −xk1, L1(x) = x−xk1

xk−xk1 と具体的に表わせる (こちらはϕi と違って、後で用いる)。

ˆ

w ∈Xe に対してwi := ˆw(xi)とおくと、次式が成り立つ: (8) wˆ(x) =wk1L0(x) +wkL1(x) =

X1 j=0

wk+j1Lj (x ∈ek).

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 12 / 35

(24)

4.3.1 長さ座標

各要素ek において

L0(xk1) = 1, L0(xk) = 0, L1(xk1) = 0, L1(xk) = 1 で定まる1次関数L0,L1ek の長さ座標と呼ぶ。

(6) L0+L11

が成り立つ。また節点の座標xk1,xk を用いて

(7) L0(x) = xk−x

xk −xk1, L1(x) = x−xk1

xk−xk1 と具体的に表わせる (こちらはϕi と違って、後で用いる)。

ˆ

w ∈Xe に対してwi := ˆw(xi)とおくと、次式が成り立つ: (8) wˆ(x) =wk1L0(x) +wkL1(x) =

X1 j=0

wk+j1Lj (x ∈ek).

(25)

4.3.1 長さ座標

各要素ek において

L0(xk1) = 1, L0(xk) = 0, L1(xk1) = 0, L1(xk) = 1 で定まる1次関数L0,L1ek の長さ座標と呼ぶ。

(6) L0+L11

が成り立つ。また節点の座標xk1,xk を用いて

(7) L0(x) = xk−x

xk −xk1, L1(x) = x−xk1

xk−xk1 と具体的に表わせる (こちらはϕi と違って、後で用いる)。

ˆ

w ∈Xe に対してwi := ˆw(xi)とおくと、次式が成り立つ:

(8) wˆ(x) =wk1L0(x) +wkL1(x) = X1

j=0

wk+j1Lj (x ∈ek).

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 12 / 35

(26)

4.3.2 弱形式の分割

各要素ek について (9) ⟨u,v⟩ek :=

Z xk

xk1

u(x)v(x)dx, (f,v)ek :=

Z xk

xk1

f(x)v(x)dx とおくと、

Galerkin法の弱形式

⟨u,ˆ vˆ= (f,vˆ) +βvˆ(1) (ˆv∈Xˆ) は

(10)

Xm k=1

⟨u,ˆ vˆek = Xm k=1

(f,vˆ)ek+βvˆ(1) (ˆv ∈Xˆ) と書き直せる。

(27)

4.3.2 弱形式の分割

各要素ek について (9) ⟨u,v⟩ek :=

Z xk

xk1

u(x)v(x)dx, (f,v)ek :=

Z xk

xk1

f(x)v(x)dx とおくと、Galerkin法の弱形式

⟨u,ˆ vˆ= (f,vˆ) +βvˆ(1) (ˆv∈Xˆ) は

(10)

Xm k=1

⟨u,ˆ vˆek = Xm k=1

(f,vˆ)ek+βvˆ(1) (ˆv ∈Xˆ) と書き直せる。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 13 / 35

(28)

4.3.3 要素係数行列 , 要素自由項ベクトル

⟨u,ˆ vˆek =

* 1 X

j=0

uk+j1Lj, X1

i=0

vk+i1Li +

ek

= X1

j=0

X1 i=0

uk+j1vk+i1⟨Lj,Liek

= X1

i=0

X1 j=0

vk+i1A(kij)uk+j1, ただし

A(k)ij :=⟨Lj,Liek. 一方、

(f,v)ˆ ek = (f, X1

j=0

vk+j1Lj)ek = X1

j=0

vk+j1(f,Lj)ek = X1

j=0

vk+j1fj(k), ただし

fj(k):= (f,Lj)ek.

(29)

4.3.3 要素係数行列 , 要素自由項ベクトル

そこで

uk :=

uk1

uk

, vk :=

vk1

vk

, fk := f0(k) f1(k)

! , (11a)

Ak := A(k)00 A(k)01 A(k)10 A(k)11

! , (11b)

gm:=

0 β

(11c)

とおくと、次式が得られる。

(12) ⟨u,ˆ vˆek =vkAkuk, (f,v)ˆ ek =vkfk (k = 1,· · ·,m), βv(1) =ˆ vmgm. ここで は転置(transpose)を表す。ba=a·b である。

uk,vk は要素節点パラメーター・ベクトル、fk は要素自由項ベクトル、Ak は要 素係数行列と呼ばれる。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 15 / 35

(30)

4.3.3 要素係数行列 , 要素自由項ベクトル

そこで

uk :=

uk1

uk

, vk :=

vk1

vk

, fk := f0(k) f1(k)

! , (11a)

Ak := A(k)00 A(k)01 A(k)10 A(k)11

! , (11b)

gm:=

0 β

(11c)

とおくと、次式が得られる。

(12) ⟨u,ˆ vˆek =vkAkuk, (f,v)ˆ ek =vkfk (k = 1,· · ·,m), βv(1) =ˆ vmgm. ここで は転置(transpose)を表す。ba=a·b である。

u ,v は要素節点パラメーター・ベクトル、f は要素自由項ベクトル、A は要

(31)

4.3.3 要素係数行列 , 要素自由項ベクトル

後のために実際にAk, fk を求めよう。

⟨Li,Ljek = Z xk

xk−1

Li(x)Lj(x)dx= Z xk

xk−1

ε

(xk−xk1)2dx= ε xk−xk1

,

ε:=

(

1 (i=j)

1 (i̸=j) であるから、

Ak = 1 xk −xk1

1 1

1 1

.

一方

fj(k)= (f,Lj)ek = Z xk

xk−1

f(x)Lj(x)dx (j= 0,1).

この右辺の積分はf に応じて何らかの手段で計算しておく。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 16 / 35

(32)

4.3.3 要素係数行列 , 要素自由項ベクトル

(このスライドは最初はスキップしても良い。)

f が複雑な関数の場合は、fj(k) は厳密に計算できないかもしれないが、節点での 値さえ分かれば近似計算は難しくない。

ff(xk1)L0+f(xk)L1 (onek) と1次補間近似を利用して

fj(k)= (f,Lj)ek ≒(f(xk1)L0+f(xk)L1,Lj)ek =f(xk1)(L0,Lj)ek+f(xk)(L1,Lj)ek. ところで(例えばx=xk1+ (xk−xk1)t (0≤t 1)と変数変換して)

(L0,L0)ek = (L1,L1)ek = (xk−xk1) Z 1

0

t2dt= xk−xk1

3 ,

(L0,L1)ek = (L0,L1)ek = (xk−xk1) Z 1

0

t(1−t)dt=xk −xk1 6

であるから

(33)

以下の話で必要になる式を再掲しておく。

弱形式は次のように書き直される。

(13)

Xm k=1

⟨u,

ˆ

v

ˆ

ek

=

Xm k=1

(f

,v)

ˆ

ek

+

βv(1)

ˆ (ˆ

v ∈X

ˆ )

uk

=

uk1

uk

,

vk

=

vk1

vk

,

さらにfk

,

Ak

,

gm を適当に定義すると

⟨u,

ˆ

v

ˆ

ek

=

vkAkuk,

(f

,v)

ˆ

ek

=

vkfk

(k = 1,

· · · ,m), βv

ˆ (1) =

vmgm.

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 18 / 35

(34)

4.3.4 直接剛性法 ( 近似方程式の組み立て )

(11a), (11b), (11c)で与えたベクトル、行列をm+ 1次元に拡大する。まず

u:=

 u0

.. . um

, v :=

 v0

.. . vm



とおく。繰り返しになるが、ui = ˆu(xi),vi = ˆv(xi).

fk,Ak,gmについては、0を補って、Rm+1,M(m+ 1;R)の元に拡大する:

fk:=

0 .. . 0 f0(k) f1(k) 0 .. . 0

, Ak:=

0 0 0

0

A(k)00 A(k)01

A(k)10 A(k)11

0

0 0 0

(k= 1,· · ·,m), gm:=

0

.. . 0 β

.

(35)

4.3.4 直接剛性法 ( 近似方程式の組み立て )

弱形式を書き直した(13)は次のように書き直される。

(15)

Xm k=1

vAku= Xm k=1

vfk+vgm (v ∈Y).

ここでY は、vˆ= Xm

i=0

viϕi Xˆ に属するようなv = (v0,· · ·,vm)の全体、すなわち Y =

n

(v0,· · ·,vm)Rm+1v0= 0 o

. (15)

v Xm k=1

Ak

! u=v

Xm k=1

fk+gm

!

(v ∈Y) と書き直せる。ゆえに

(16) A:=

Xm k=1

Ak, f:= Xm k=1

fk+gm

とおけば

vAu=vf (v ∈Y). すなわち

(17) v(Au−f) = 0 (v ∈Y).

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 20 / 35

(36)

4.3.4 直接剛性法 ( 近似方程式の組み立て )

弱形式を書き直した(13)は次のように書き直される。

(15)

Xm k=1

vAku= Xm k=1

vfk+vgm (v ∈Y).

ここでY は、vˆ= Xm

i=0

viϕi Xˆ に属するようなv = (v0,· · ·,vm)の全体、すなわち Y =

n

(v0,· · ·,vm)Rm+1v0= 0 o

.

(15)

v Xm k=1

Ak

! u=v

Xm k=1

fk+gm

!

(v ∈Y) と書き直せる。ゆえに

(16) A:=

Xm k=1

Ak, f:= Xm k=1

fk+gm

とおけば

vAu=vf (v ∈Y). すなわち

(17) v(Au−f) = 0 (v ∈Y).

(37)

4.3.4 直接剛性法 ( 近似方程式の組み立て )

弱形式を書き直した(13)は次のように書き直される。

(15)

Xm k=1

vAku= Xm k=1

vfk+vgm (v ∈Y).

ここでY は、vˆ= Xm

i=0

viϕi Xˆ に属するようなv = (v0,· · ·,vm)の全体、すなわち Y =

n

(v0,· · ·,vm)Rm+1v0= 0 o

. (15)

v Xm k=1

Ak

! u=v

Xm k=1

fk+gm

!

(v ∈Y) と書き直せる。

ゆえに

(16) A:=

Xm k=1

Ak, f:= Xm k=1

fk+gm

とおけば

vAu=vf (v ∈Y). すなわち

(17) v(Au−f) = 0 (v ∈Y).

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 20 / 35

(38)

4.3.4 直接剛性法 ( 近似方程式の組み立て )

弱形式を書き直した(13)は次のように書き直される。

(15)

Xm k=1

vAku= Xm k=1

vfk+vgm (v ∈Y).

ここでY は、vˆ= Xm

i=0

viϕi Xˆ に属するようなv = (v0,· · ·,vm)の全体、すなわち Y =

n

(v0,· · ·,vm)Rm+1v0= 0 o

. (15)

v Xm k=1

Ak

! u=v

Xm k=1

fk+gm

!

(v ∈Y) と書き直せる。ゆえに

(16) A:=

Xm k=1

Ak, f:=

Xm k=1

fk+gm とおけば

vAu=vf (v ∈Y).

(39)

4.3.4 直接剛性法 ( 近似方程式の組み立て )

(再掲17) v(Au−f) = 0 (v ∈Y).

これは次と同値である。

Au−f ∈Y= n

(λ,0,· · ·,0)Rm+1λ∈Ro . つまりは

(Au−f)の最初の成分以外= 0. すなわち

(18) A∗∗u=f∗∗.

ここで

A∗∗:=Aの第0行を除いた(m+ 1)行列, f∗∗:=fの第0成分を除いたm次元縦ベクトル.

(この段階で、係数行列A∗∗ は正方行列ではない。しかしu の成分のうちu0は分かって いて未知ではない。その部分を右辺に移項することができ、そうすると正方行列係数の 方程式が出来る)

部分配列を表すためのMATLAB風の記法を使うと、A∗∗=A(1 :m,0 :m), f∗∗=f(1 :m)と書ける。この記法は便利なので以下でも使うことにする。

かつらだ 桂 田

まさし

祐 史 http://nalab.mind.meiji.ac.jp/~mk/ana/応用数値解析特論 第4 20201012 21 / 35

参照

関連したドキュメント

変数宣言の文法もC言語と同様。型名の後に,で区切った名前のリストを書く。 関数呼び出しの文法もC言語と同様。 ブロックは{と}で複数0個以上の文を囲んで作る。 比較演算子==, !=, =、論理演算子&&, ||, !、if, if elseなどの制 御構造。 ただしswitchはない。 for, whileなどの繰り返し制御。break ループを抜ける,

3 Poisson 方程式の境界値問題に対する Ritz-Galerkin 法 前回の講義で、Poisson 方程式の境界値問題を題材にして、弱定式化 弱解の 方法 を説明し、最小型 変分原理が成り立つことを確認した。 今回は、同じ問題を題材に、Ritz-Galerkin法 という近似解法を説明する。有 限要素法は、Ritz-Galerkin

目次 1 本日の内容 2 前回の実習の始末 3 発展系の有限要素解析 準備— 1次元熱方程式の初期値境界値問題に対する差分法 格子点 差分近似の公式 熱方程式に対する差分方程式の導出 境界条件に対する差分方程式 差分方程式の行列・ベクトル表記 差分スキームの安定性あらっぽい説明 大まかなまとめ

汎関数の最小問題 (あるいはより一般に極値問題) を変分問題 (variational problem) と呼び、変分問題を扱うのが変分法 (calculus of

今回は基本的な Poisson 方程式の境界値問題を題材として、弱解の方法を説明する。弱形 式の求め方をマスターするには、ある程度の慣れ (

make test1 naive の動作確認 (辺を 2,4,8 分割したときの有限要素解の数値データ) make test2 band の動作確認 (辺を 2,4,8 分割したときの有限要素解の数値データ) make

make test1 naive の動作確認 (辺を 2,4,8 分割したときの有限要素解の数値データ) make test2 band の動作確認 (辺を 2,4,8 分割したときの有限要素解の数値データ) make

一番基本的な定常 Stokes 方程式ならば簡単かと言うと、 Poisson 方程式の場合の最小型