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

応用数値解析特論第 5 回

N/A
N/A
Protected

Academic year: 2021

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

Copied!
60
0
0

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

全文

(1)

応用数値解析特論 第 5 回

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

かつらだ

桂田 祐史ま さ し

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

2020年10月19日

(2)

目次

1 2 次元の有限要素法

三角形要素への分割と区分的1次多項式 三角形e上の1次関数Li と(Lj,Li)e,⟨Lj,Lie

三角形の面積

三角形要素の面積座標Li

面積座標の積の積分と(Lj,Li)e

Li(x,y) =ai+bix+ciy の係数決定と⟨Lj,Lie 要素係数行列の計算

近似方程式の組み立て —直接剛性法

2 参考文献

かつらだまさし

(3)

5 2 次元の有限要素法

2回の授業で扱ったPoisson方程式の境界値問題を題材に、2次元領域における有限要 素法を説明する(菊地[1])

(思い出す) ΩR2の有界領域で、その境界Γは区分的に十分滑らかであるとする。ま Γ1, Γ2は条件

Γ = Γ1Γ2, Γ1Γ2=∅, Γ1̸=

を満たすとする。f: ΩR,g1: Γ1R,g2: Γ1Rが与えられたとき、次のPoisson 方程式の境界値問題を考える。

問題(P)

次式を満たすu を求めよ:

−△u=f in Ω, (1)

u=g1 on Γ1, (2)

∂u

∂n =g2 on Γ2, (3)

ここでnΓの外向き単位法線ベクトルを表す。

大筋は1次元の場合と同様だが、(i)各要素内の計算に面積座標を使うところと、(ii) 接剛性法が2次元でも実現可能であることを理解するところが要点となる。

(4)

5 2 次元の有限要素法

2回の授業で扱ったPoisson方程式の境界値問題を題材に、2次元領域における有限要 素法を説明する(菊地[1])

(思い出す) ΩR2の有界領域で、その境界Γは区分的に十分滑らかであるとする。ま Γ1, Γ2は条件

Γ = Γ1Γ2, Γ1Γ2=∅, Γ1̸=

を満たすとする。f: ΩR,g1: Γ1R,g2: Γ1Rが与えられたとき、次のPoisson 方程式の境界値問題を考える。

問題(P)

次式を満たすu を求めよ:

−△u=f in Ω, (1)

u=g1 on Γ1, (2)

∂u

∂n =g2 on Γ2, (3)

ここでnΓの外向き単位法線ベクトルを表す。

大筋は1次元の場合と同様だが、(i)各要素内の計算に面積座標を使うところと、(ii) 接剛性法が2次元でも実現可能であることを理解するところが要点となる。

かつらだまさし

(5)

5 2 次元の有限要素法

2回の授業で扱ったPoisson方程式の境界値問題を題材に、2次元領域における有限要 素法を説明する(菊地[1])

(思い出す) ΩR2の有界領域で、その境界Γは区分的に十分滑らかであるとする。ま Γ1, Γ2は条件

Γ = Γ1Γ2, Γ1Γ2=∅, Γ1̸=

を満たすとする。f: ΩR,g1: Γ1R,g2: Γ1Rが与えられたとき、次のPoisson 方程式の境界値問題を考える。

問題(P)

次式を満たすu を求めよ:

−△u=f in Ω, (1)

u=g1 on Γ1, (2)

∂u

∂n =g2 on Γ2, (3)

ここでnΓの外向き単位法線ベクトルを表す。

大筋は1次元の場合と同様だが、(i)各要素内の計算に面積座標を使うところと、(ii)

(6)

5.1 三角形要素への分割と区分的 1 次多項式

領域R2に対し、を三角形ek (1≤k≤Ne)に分割する: Ω≒Ω :=b

Ne

[

k=1

ek.

[0]

[1]

[2]

[3]

[4]

[6] [5]

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

[15]

[16]

[17][18][19]

[20]

[21]

[22]

[23]

[24]

[25]

[26]

[27]

[28]

[29]

[30]

[31]

[32]

[33]

[34]

[35]

[36]

[37]

[38]

[39]

[40]

[41] [42]

[43]

[44]

[45]

[46]

[47]

[48]

[49]

[50]

[51]

[52]

[53]

[54]

[55]

[56]

[57]

[58]

[59]

[60]

[61]

[62]

[63]

[64]

[65] [66] [67]

[68]

[69]

[70]

[71]

[72]

[73]

[74]

[75]

[76]

[78] [77]

[79]

[80]

[81]

[82]

[83]

[84]

[85]

[86]

[87]

[88]

[89] [90]

[91]

[92]

[93]

[94]

[95]

[96]

[97]

[98]

[99]

[100]

[101]

[102]

[103]

[104]

[105]

[106]

[107]

[108]

[109]

[110]

[111]

[112]

[113] [114]

[115]

[116]

[117]

[118]

[119]

[120]

[121]

[122]

[123]

[124]

[125]

[126]

[127]

[128]

[129]

[130]

[131]

[132]

[133]

[134]

[135]

[136]

[137] [138]

[139]

[140]

[141]

[142]

[143]

[144]

[145]

[146]

[147]

[148]

[149]

[150]

[151]

[152]

[153]

[154]

[155]

[156]

[157]

[158]

[159]

[160]

[161] [162]

[163]

[164]

[165]

[166]

[167]

[168]

[169]

[170]

[171]

[172]

[173]

[174]

[175]

[176]

[177]

[178]

[179]

[180]

[181]

[182]

[183]

[184]

[185] [186]

[187]

[188]

[189]

[190]

[191]

図 1:二つの円で囲まれた閉領域Ωを三角形の合併で近似する

が多角形でない限り、境界が「曲がっていて」Ω =

Ne

[

k=1

ek となることは期待できない。

各三角形を三角形(有限)要素とよぶ。

かつらだまさし

(7)

5.1 三角形要素への分割と区分的 1 次多項式

ただし、重なりや、すき間、頂点が他の三角形の辺上にあることは避けることにする。

図2:重なり,すき間,頂点が他の要素の辺上にある、なんてのはダメ

Ne は要素の総数(the number of elements)で、プログラムではNELMTのような名前の 変数で記憶されることが多い。

有限要素の頂点を節点(node) と呼び、{Pi}mi=1のように番号をつけておく。

mは節点の総数(the number of nodes)で、プログラムではNNODEのような名前の変数 で記憶されることが多い。

注意 1次元の場合、節点の個数=要素の個数+ 1という簡単な関係が成立していた。 (区間をm等分したとき、mを用いて、要素をek (1≤k≤m),節点をxk(0≤k≤m) と番号づけることが出来た。)2次元の場合は、そのような関係はない。

(8)

5.1 三角形要素への分割と区分的 1 次多項式

ただし、重なりや、すき間、頂点が他の三角形の辺上にあることは避けることにする。

図2:重なり,すき間,頂点が他の要素の辺上にある、なんてのはダメ

Ne は要素の総数(the number of elements)で、プログラムではNELMTのような名前の 変数で記憶されることが多い。

有限要素の頂点を節点(node) と呼び、{Pi}mi=1のように番号をつけておく。

mは節点の総数(the number of nodes)で、プログラムではNNODEのような名前の変数 で記憶されることが多い。

注意 1次元の場合、節点の個数=要素の個数+ 1という簡単な関係が成立していた。 (区間をm等分したとき、mを用いて、要素をek (1≤k≤m),節点をxk(0≤k≤m) と番号づけることが出来た。)2次元の場合は、そのような関係はない。

かつらだまさし

(9)

5.1 三角形要素への分割と区分的 1 次多項式

ただし、重なりや、すき間、頂点が他の三角形の辺上にあることは避けることにする。

図2:重なり,すき間,頂点が他の要素の辺上にある、なんてのはダメ

Ne は要素の総数(the number of elements)で、プログラムではNELMTのような名前の 変数で記憶されることが多い。

有限要素の頂点を節点(node)と呼び、{Pi}mi=1のように番号をつけておく。

mは節点の総数(the number of nodes)で、プログラムではNNODEのような名前の変数 で記憶されることが多い。

注意 1次元の場合、節点の個数=要素の個数+ 1という簡単な関係が成立していた。 (区間をm等分したとき、mを用いて、要素をek (1≤k≤m),節点をxk(0≤k≤m) と番号づけることが出来た。)2次元の場合は、そのような関係はない。

(10)

5.1 三角形要素への分割と区分的 1 次多項式

ただし、重なりや、すき間、頂点が他の三角形の辺上にあることは避けることにする。

図2:重なり,すき間,頂点が他の要素の辺上にある、なんてのはダメ

Ne は要素の総数(the number of elements)で、プログラムではNELMTのような名前の 変数で記憶されることが多い。

有限要素の頂点を節点(node)と呼び、{Pi}mi=1のように番号をつけておく。

mは節点の総数(the number of nodes)で、プログラムではNNODEのような名前の変数 で記憶されることが多い。

注意 1次元の場合、節点の個数=要素の個数+ 1という簡単な関係が成立していた。

(区間をm等分したとき、mを用いて、要素をek (1≤k≤m),節点をxk(0≤k≤m) と番号づけることが出来た。)2次元の場合は、そのような関係はない。

かつらだまさし

(11)

5.1 三角形要素への分割と区分的 1 次多項式

Ωb 上連続で、各有限要素ek 上でxy の 1次多項式関数に等しいものを、区 分的 1 次多項式と呼び、その全体をXe で表わす(Xe はここだけの記号)。

{ek}Nk=1eXe の対を区分的1次有限要素(piecewise linear finite element)と 呼ぶ。

2変数の1次関数z =a+bx+cy のグラフは平面であるから、Xe のグラフは、 空間内の三角形を連続につなげた“折れ面”である。

試行関数の空間Xˆg1,試験関数の空間Xˆ は次のように選ぶ。 (4) Xˆg1 =

n ˆ

w ∈Xe wˆ = ˆg1 on Γ1

o

, Xˆ = n

ˆ

v∈Xe vˆ= 0 on Γ1

o .g1g1に近い計算しやすい関数) Xe の基底関数i}mi=1

ϕi∈Xe (i= 1,2,· · · ,m), (5a)

ϕi(Pj) =δij (i,j= 1,2,· · · ,m) (5b)

満たすものを採用する(この条件で一意に確定することに注意)。

(12)

5.1 三角形要素への分割と区分的 1 次多項式

Ωb 上連続で、各有限要素ek 上でxy の 1次多項式関数に等しいものを、区 分的 1 次多項式と呼び、その全体をXe で表わす(Xe はここだけの記号)。

{ek}Nk=1eXe の対を区分的1次有限要素(piecewise linear finite element)と 呼ぶ。

2変数の1次関数z =a+bx+cy のグラフは平面であるから、Xe のグラフは、

空間内の三角形を連続につなげた“折れ面”である。

試行関数の空間Xˆg1,試験関数の空間Xˆ は次のように選ぶ。 (4) Xˆg1 =

n ˆ

w ∈Xe wˆ = ˆg1 on Γ1

o

, Xˆ = n

ˆ

v∈Xe vˆ= 0 on Γ1

o .g1g1に近い計算しやすい関数) Xe の基底関数i}mi=1

ϕi∈Xe (i= 1,2,· · · ,m), (5a)

ϕi(Pj) =δij (i,j= 1,2,· · · ,m) (5b)

満たすものを採用する(この条件で一意に確定することに注意)。

かつらだまさし

(13)

5.1 三角形要素への分割と区分的 1 次多項式

Ωb 上連続で、各有限要素ek 上でxy の 1次多項式関数に等しいものを、区 分的 1 次多項式と呼び、その全体をXe で表わす(Xe はここだけの記号)。

{ek}Nk=1eXe の対を区分的1次有限要素(piecewise linear finite element)と 呼ぶ。

2変数の1次関数z =a+bx+cy のグラフは平面であるから、Xe のグラフは、

空間内の三角形を連続につなげた“折れ面”である。

試行関数の空間Xˆg1,試験関数の空間Xˆ は次のように選ぶ。

(4) Xˆg1 = n

ˆ

w ∈Xe wˆ = ˆg1 on Γ1

o

, Xˆ = n

ˆ

v∈Xe vˆ= 0 on Γ1

o .g1g1に近い計算しやすい関数)

Xe の基底関数i}mi=1

ϕi∈Xe (i= 1,2,· · · ,m), (5a)

ϕi(Pj) =δij (i,j= 1,2,· · · ,m) (5b)

満たすものを採用する(この条件で一意に確定することに注意)。

(14)

5.1 三角形要素への分割と区分的 1 次多項式

Ωb 上連続で、各有限要素ek 上でxy の 1次多項式関数に等しいものを、区 分的 1 次多項式と呼び、その全体をXe で表わす(Xe はここだけの記号)。

{ek}Nk=1eXe の対を区分的1次有限要素(piecewise linear finite element)と 呼ぶ。

2変数の1次関数z =a+bx+cy のグラフは平面であるから、Xe のグラフは、

空間内の三角形を連続につなげた“折れ面”である。

試行関数の空間Xˆg1,試験関数の空間Xˆ は次のように選ぶ。

(4) Xˆg1 = n

ˆ

w ∈Xe wˆ = ˆg1 on Γ1

o

, Xˆ = n

ˆ

v∈Xe vˆ= 0 on Γ1

o .g1g1に近い計算しやすい関数) Xe の基底関数i}mi=1

ϕi∈Xe (i= 1,2,· · · ,m), (5a)

ϕi(Pj) =δij (i,j= 1,2,· · · ,m) (5b)

満たすものを採用する(この条件で一意に確定することに注意)。

かつらだまさし

(15)

5.2 三角形 e 上の 1 次関数 L

i

と (L

j

, L

i

)

e

, L

j

, L

i

e

5.2.1三角形の面積

平面上の三角形要素 eを考える。

e に属する節点を、反時計まわりにNi= (xi,yi) (i= 0,1,2)とする。

後でしばしば必要になるので、eの面積|e|を計算しておこう。

|e|= 1 2det

x1−x0 x2−x0 y1−y0 y2−y0

= 1

2[(x1−x0)(y2−y0)(y1−y0)(x2−x0)].

1次多項式全体をP1と表す:

P1:={uˆ|(∃α0, α1, α2R) ˆu(x,y) =α0+α1x+α2y}.

任意の uˆ∈P1は、3節点Ni における値ui :=u(Nb i) (i= 0,1,2)を指定すれば 定まる(ui=u(Pb i)と混同しないように上に添字をつけた)。これは、直観的に 明らかであるが(平面はその上の一直線上にない 3点を指定すれば定まる)、す ぐ後で基底が分かるので、それが証明になる。

(16)

5.2 三角形 e 上の 1 次関数 L

i

と (L

j

, L

i

)

e

, L

j

, L

i

e

5.2.1三角形の面積

平面上の三角形要素 eを考える。

e に属する節点を、反時計まわりにNi= (xi,yi) (i= 0,1,2)とする。

後でしばしば必要になるので、eの面積|e|を計算しておこう。

|e|= 1 2det

x1−x0 x2−x0

y1−y0 y2−y0

= 1

2[(x1−x0)(y2−y0)(y1−y0)(x2−x0)].

1次多項式全体をP1と表す:

P1:={uˆ|(∃α0, α1, α2R) ˆu(x,y) =α0+α1x+α2y}.

任意の uˆ∈P1は、3節点Ni における値ui :=u(Nb i) (i= 0,1,2)を指定すれば 定まる(ui=u(Pb i)と混同しないように上に添字をつけた)。これは、直観的に 明らかであるが(平面はその上の一直線上にない 3点を指定すれば定まる)、す ぐ後で基底が分かるので、それが証明になる。

かつらだまさし

(17)

5.2 三角形 e 上の 1 次関数 L

i

と (L

j

, L

i

)

e

, L

j

, L

i

e

5.2.1三角形の面積

平面上の三角形要素 eを考える。

e に属する節点を、反時計まわりにNi= (xi,yi) (i= 0,1,2)とする。

後でしばしば必要になるので、eの面積|e|を計算しておこう。

|e|= 1 2det

x1−x0 x2−x0

y1−y0 y2−y0

= 1

2[(x1−x0)(y2−y0)(y1−y0)(x2−x0)].

1次多項式全体をP1と表す:

P1:={uˆ|(∃α0, α1, α2R) ˆu(x,y) =α0+α1x+α2y}.

任意のuˆ∈P1は、3節点Ni における値ui :=u(Nb i) (i= 0,1,2)を指定すれば 定まる(ui=u(Pb i)と混同しないように上に添字をつけた)。

これは、直観的に 明らかであるが(平面はその上の一直線上にない 3点を指定すれば定まる)、す ぐ後で基底が分かるので、それが証明になる。

(18)

5.2 三角形 e 上の 1 次関数 L

i

と (L

j

, L

i

)

e

, L

j

, L

i

e

5.2.1三角形の面積

平面上の三角形要素 eを考える。

e に属する節点を、反時計まわりにNi= (xi,yi) (i= 0,1,2)とする。

後でしばしば必要になるので、eの面積|e|を計算しておこう。

|e|= 1 2det

x1−x0 x2−x0

y1−y0 y2−y0

= 1

2[(x1−x0)(y2−y0)(y1−y0)(x2−x0)].

1次多項式全体をP1と表す:

P1:={uˆ|(∃α0, α1, α2R) ˆu(x,y) =α0+α1x+α2y}.

任意のuˆ∈P1は、3節点Ni における値ui :=u(Nb i) (i= 0,1,2)を指定すれば 定まる(ui=u(Pb i)と混同しないように上に添字をつけた)。これは、直観的に 明らかであるが(平面はその上の一直線上にない 3点を指定すれば定まる)、す ぐ後で基底が分かるので、それが証明になる。

かつらだまさし

(19)

5.2.2 三角形要素の面積座標 L

i

節点Ni で1,他の節点で0となる1 次関数をLi とする(i= 0,1,2)。つまり Li ∈P1,

(6a)

Li(Nj) =Li(xj,yj) =δij (j= 0,1,2).

(6b)

(L0,L1,L2)は P1の基底になる。実際、任意のub∈P1 は、

(7) u(x,b y) =

X2 i=0

uiLi(x,y) ((x,y)∈e)

と表される(相異なる3点Ni (i= 0,1,2)での値が等しい1次関数は等しい)。 任意の P∈e に対して、3 実数(L0(P),L1(P),L2(P))をP の面積座標(area coordinate)あるいは重心座標(barycentric coordinate)と呼ぶ。(色々裏がある けれど今回は駆け足で進む。)

任意の P∈e に対して次式が成り立つ。

L0(P) +L1(P) +L2(P) = 1.

(Li のグラフz =Li(x,y)の鳥瞰図と等高線を描いておこう。)

(20)

5.2.2 三角形要素の面積座標 L

i

節点Ni で1,他の節点で0となる1 次関数をLi とする(i= 0,1,2)。つまり Li ∈P1,

(6a)

Li(Nj) =Li(xj,yj) =δij (j= 0,1,2).

(6b)

(L0,L1,L2)は P1の基底になる。実際、任意のub∈P1は、

(7) u(x,b y) =

X2 i=0

uiLi(x,y) ((x,y)∈e)

と表される(相異なる3点Ni (i= 0,1,2)での値が等しい1次関数は等しい)。

任意の P∈e に対して、3 実数(L0(P),L1(P),L2(P))をP の面積座標(area coordinate)あるいは重心座標(barycentric coordinate)と呼ぶ。(色々裏がある けれど今回は駆け足で進む。)

任意の P∈e に対して次式が成り立つ。

L0(P) +L1(P) +L2(P) = 1.

(Li のグラフz =Li(x,y)の鳥瞰図と等高線を描いておこう。)

かつらだまさし

(21)

5.2.2 三角形要素の面積座標 L

i

節点Ni で1,他の節点で0となる1 次関数をLi とする(i= 0,1,2)。つまり Li ∈P1,

(6a)

Li(Nj) =Li(xj,yj) =δij (j= 0,1,2).

(6b)

(L0,L1,L2)は P1の基底になる。実際、任意のub∈P1は、

(7) u(x,b y) =

X2 i=0

uiLi(x,y) ((x,y)∈e)

と表される(相異なる3点Ni (i= 0,1,2)での値が等しい1次関数は等しい)。

任意のP∈e に対して、3 実数(L0(P),L1(P),L2(P))をPの面積座標(area coordinate)あるいは重心座標(barycentric coordinate)と呼ぶ。(色々裏がある けれど今回は駆け足で進む。)

任意の P∈e に対して次式が成り立つ。

L0(P) +L1(P) +L2(P) = 1.

(Li のグラフz =Li(x,y)の鳥瞰図と等高線を描いておこう。)

(22)

5.2.2 三角形要素の面積座標 L

i

節点Ni で1,他の節点で0となる1 次関数をLi とする(i= 0,1,2)。つまり Li ∈P1,

(6a)

Li(Nj) =Li(xj,yj) =δij (j= 0,1,2).

(6b)

(L0,L1,L2)は P1の基底になる。実際、任意のub∈P1は、

(7) u(x,b y) =

X2 i=0

uiLi(x,y) ((x,y)∈e)

と表される(相異なる3点Ni (i= 0,1,2)での値が等しい1次関数は等しい)。

任意のP∈e に対して、3 実数(L0(P),L1(P),L2(P))をPの面積座標(area coordinate)あるいは重心座標(barycentric coordinate)と呼ぶ。(色々裏がある けれど今回は駆け足で進む。)

任意のP∈e に対して次式が成り立つ。

L0(P) +L1(P) +L2(P) = 1.

(Li のグラフz =Li(x,y)の鳥瞰図と等高線を描いておこう。)

かつらだまさし

(23)

Mathematica のコード例と実行結果

xs = {0, 3, 1}; ys = {0, 1, 2};

{a, b, c} = Inverse[Transpose[{{1, 1, 1}, xs, ys}]];

L[i_, x_, y_] := a[[i]] + b[[i]]*x + c[[i]]*y

xmin = Min[xs]; xmax = Max[xs]; ymin = Min[ys]; ymax = Max[ys];

gbase = RegionPlot[L[1, x, y] > 0 && L[2, x, y] > 0 && L[3, x, y] > 0, {x, xmin, xmax},{y, ymin, ymax}]

gb=Table[Plot3D[L[i, x, y], {x, xmin, xmax}, {y, ymin, ymax}, RegionFunction -> Function[{x, y, z},

L[1, x, y] > 0 && L[2, x, y] > 0 && L[3, x, y] > 0]], {i, 3}]

gc=Table[ContourPlot[L[i, x, y], {x, xmin, xmax}, {y, ymin, ymax}, RegionFunction -> Function[{x, y, z},

L[1, x, y] > 0 && L[2, x, y] > 0 && L[3, x, y] > 0]], {i, 3}]

(24)

Mathematica のコード例と実行結果

図 4:左からL0,L1,L2の鳥瞰図と等高線

かつらだまさし

(25)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

面積座標の積の積分については、便利な公式がある。

0以上の任意の整数i,j,k に対して (8)

Z Z

e

L0(x,y)iL1(x,y)jL2(x,y)kdx dy= 2|e| i!j!k!

(i+j+k+ 2)!.

証明 P0= (0,0),P1= (1,0),P2= (0,1)で囲まれる三角形をとし、1次関数 φ:R2R2

φ(P0) =N0, φ(P1) =N1, φ(P2) =N2

で定める。実は

φ(u,v) =

x1−x0 x2−x0

y1−y0 y2−y0

u v

+ x0

y0

, detφ(u,v) = det

x1−x0 y1−y0

x2−x0 y2−y0

= 2|e|. 変数変換(x,y) =φ(u,v)を行なうと

Z Z

e

Li0Lj1Lk2dx dy= Z Z

L0(φ(u,v))iL1(φ(u,v))jL2(φ(u,v))kdetφ(u,v)du dv.

= 2|e| Z Z

L0(φ(u,v))iL1(φ(u,v))jL2(φ(u,v))kdu dv.

(26)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

面積座標の積の積分については、便利な公式がある。

0以上の任意の整数i,j,k に対して (8)

Z Z

e

L0(x,y)iL1(x,y)jL2(x,y)kdx dy= 2|e| i!j!k!

(i+j+k+ 2)!.

証明 P0= (0,0),P1= (1,0),P2= (0,1)で囲まれる三角形をとし、1次関数 φ:R2R2

φ(P0) =N0, φ(P1) =N1, φ(P2) =N2

で定める。

実は

φ(u,v) =

x1−x0 x2−x0

y1−y0 y2−y0

u v

+ x0

y0

, detφ(u,v) = det

x1−x0 y1−y0

x2−x0 y2−y0

= 2|e|. 変数変換(x,y) =φ(u,v)を行なうと

Z Z

e

Li0Lj1Lk2dx dy= Z Z

L0(φ(u,v))iL1(φ(u,v))jL2(φ(u,v))kdetφ(u,v)du dv.

= 2|e| Z Z

L0(φ(u,v))iL1(φ(u,v))jL2(φ(u,v))kdu dv.

かつらだまさし

(27)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

面積座標の積の積分については、便利な公式がある。

0以上の任意の整数i,j,k に対して (8)

Z Z

e

L0(x,y)iL1(x,y)jL2(x,y)kdx dy= 2|e| i!j!k!

(i+j+k+ 2)!.

証明 P0= (0,0),P1= (1,0),P2= (0,1)で囲まれる三角形をとし、1次関数 φ:R2R2

φ(P0) =N0, φ(P1) =N1, φ(P2) =N2

で定める。実は

φ(u,v) =

x1−x0 x2−x0

y1−y0 y2−y0

u v

+ x0

y0

, detφ(u,v) = det

x1−x0 y1−y0

x2−x0 y2−y0

= 2|e|.

変数変換(x,y) =φ(u,v)を行なうと Z Z

e

Li0Lj1Lk2dx dy= Z Z

L0(φ(u,v))iL1(φ(u,v))jL2(φ(u,v))kdetφ(u,v)du dv.

= 2|e| Z Z

L0(φ(u,v))iL1(φ(u,v))jL2(φ(u,v))kdu dv.

(28)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

面積座標の積の積分については、便利な公式がある。

0以上の任意の整数i,j,k に対して (8)

Z Z

e

L0(x,y)iL1(x,y)jL2(x,y)kdx dy= 2|e| i!j!k!

(i+j+k+ 2)!.

証明 P0= (0,0),P1= (1,0),P2= (0,1)で囲まれる三角形をとし、1次関数 φ:R2R2

φ(P0) =N0, φ(P1) =N1, φ(P2) =N2

で定める。実は

φ(u,v) =

x1−x0 x2−x0

y1−y0 y2−y0

u v

+ x0

y0

, detφ(u,v) = det

x1−x0 y1−y0

x2−x0 y2−y0

= 2|e|. 変数変換(x,y) =φ(u,v)を行なうと

Z Z

e

Li0Lj1Lk2dx dy= Z Z

L0(φ(u,v))iL1(φ(u,v))jL2(φ(u,v))kdetφ(u,v)du dv.

= 2|e|

Z Z

L0(φ(u,v))iL1(φ(u,v))jL2(φ(u,v))kdu dv.

かつらだまさし

(29)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

Li(φ(u,v))(1次関数と1次関数の合成であるから) 1次関数で、

Li(φ(Pj)) =δij

を満たすことから、

L0(φ(u,v)) = 1−u−v, L1(φ(u,v)) =u, L2(φ(u,v)) =v.

ゆえに Z Z

e

Li0Lj1Lk2dxdy = 2|e| Z Z

(1−u−v)iujvkdudv

= 2|e| Z 1

0

uj Z 1−u

0

(1−u−v)ivkdv

du. 内側の積分で、v = (1−u)t(0≤t≤1)と変数変換すると、

dv= (1−u)dt, (1−u−v)i = ((1−u)−(1−u)t)i = (1−u)i(1−t)i であるから、

Z1u 0

(1−u−v)ivkdv= Z 1

0

(1−u)i(1−t)i(1−u)ktk·(1−u)dt

= (1−u)i+k+1 Z 1

0

(1−t)itkdt.

(30)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

Li(φ(u,v))(1次関数と1次関数の合成であるから) 1次関数で、

Li(φ(Pj)) =δij

を満たすことから、

L0(φ(u,v)) = 1−u−v, L1(φ(u,v)) =u, L2(φ(u,v)) =v. ゆえに Z Z

e

Li0Lj1Lk2dxdy = 2|e| Z Z

(1−u−v)iujvkdudv

= 2|e| Z 1

0

uj Z 1−u

0

(1−u−v)ivkdv

du.

内側の積分で、v = (1−u)t(0≤t≤1)と変数変換すると、

dv= (1−u)dt, (1−u−v)i = ((1−u)−(1−u)t)i = (1−u)i(1−t)i であるから、

Z1u 0

(1−u−v)ivkdv= Z 1

0

(1−u)i(1−t)i(1−u)ktk·(1−u)dt

= (1−u)i+k+1 Z 1

0

(1−t)itkdt.

かつらだまさし

(31)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

Li(φ(u,v))(1次関数と1次関数の合成であるから) 1次関数で、

Li(φ(Pj)) =δij

を満たすことから、

L0(φ(u,v)) = 1−u−v, L1(φ(u,v)) =u, L2(φ(u,v)) =v. ゆえに Z Z

e

Li0Lj1Lk2dxdy = 2|e| Z Z

(1−u−v)iujvkdudv

= 2|e| Z 1

0

uj Z 1−u

0

(1−u−v)ivkdv

du.

内側の積分で、v = (1−u)t (0≤t≤1)と変数変換すると、

dv= (1−u)dt, (1−u−v)i = ((1−u)−(1−u)t)i = (1−u)i(1−t)i であるから、

Z 1u 0

(1−u−v)ivkdv= Z 1

0

(1−u)i(1−t)i(1−u)ktk·(1−u)dt

= (1−u)i+k+1 Z 1

(1−t)itkdt.

(32)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

ゆえに Z Z

e

Li0Lj1Lk2dx dy= 2|e| Z 1

0

(1−u)i+k+1ujdu Z 1

0

(1−t)itkdt.

ベータ関数

B(p,q) = Z 1

0

(1−u)p1tq1dt とガンマ関数

Γ(x) := Z

0

tx1et dt について、次の公式が成り立つ。

B(p,q) =Γ(p)Γ(q)

Γ(p+q), Γ(n+ 1) =n! (nN). ゆえにZ Z

e

Li0Lj1Lk2dx dy= 2|e|B(i+k+ 2,j+ 1)B(i+ 1,k+ 1)

= 2|e|Γ(i+k+ 2)Γ(j+ 1) Γ(i+j+k+ 3)

Γ(i+ 1)Γ(k+ 1) Γ(i+k+ 2)

= 2|e|Γ(i+ 1)Γ(j+ 1)Γ(k+ 1)

Γ(i+j+k+ 3) = 2|e| i!j!k! (i+j+k+ 2)! .

かつらだまさし

(33)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

ゆえに Z Z

e

Li0Lj1Lk2dx dy= 2|e| Z 1

0

(1−u)i+k+1ujdu Z 1

0

(1−t)itkdt.

ベータ関数

B(p,q) = Z 1

0

(1−u)p1tq1dt とガンマ関数

Γ(x) :=

Z

0

tx1et dt について、次の公式が成り立つ。

B(p,q) =Γ(p)Γ(q)

Γ(p+q), Γ(n+ 1) =n! (nN).

ゆえにZ Z

e

Li0Lj1Lk2dx dy= 2|e|B(i+k+ 2,j+ 1)B(i+ 1,k+ 1)

= 2|e|Γ(i+k+ 2)Γ(j+ 1) Γ(i+j+k+ 3)

Γ(i+ 1)Γ(k+ 1) Γ(i+k+ 2)

= 2|e|Γ(i+ 1)Γ(j+ 1)Γ(k+ 1)

Γ(i+j+k+ 3) = 2|e| i!j!k! (i+j+k+ 2)! .

(34)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

ゆえに Z Z

e

Li0Lj1Lk2dx dy= 2|e| Z 1

0

(1−u)i+k+1ujdu Z 1

0

(1−t)itkdt.

ベータ関数

B(p,q) = Z 1

0

(1−u)p1tq1dt とガンマ関数

Γ(x) :=

Z

0

tx1et dt について、次の公式が成り立つ。

B(p,q) =Γ(p)Γ(q)

Γ(p+q), Γ(n+ 1) =n! (nN).

ゆえにZ Z

e

Li0Lj1Lk2dx dy= 2|e|B(i+k+ 2,j+ 1)B(i+ 1,k+ 1)

= 2|e|Γ(i+k+ 2)Γ(j+ 1) Γ(i+j+k+ 3)

Γ(i+ 1)Γ(k+ 1) Γ(i+k+ 2)

= 2|e|Γ(i+ 1)Γ(j+ 1)Γ(k+ 1)

Γ(i+j+k+ 3) = 2|e| i!j!k!

(i+j+k+ 2)! .

かつらだまさし

(35)

5.2.3 面積座標の積の積分と (L

j

, L

i

)

e

i =j の場合、それ以外の添字(∈ {0,1,2})を k,ℓとすると

(Lj,Li)e = Z Z

e

L2iL0kL0dxdy = 2|e| 2!0!0!

(2 + 0 + 0 + 2)! = 1 6|e|. i ̸=j の場合、それ以外の添字(∈ {0,1,2})を k とすると

(Lj,Li)e = Z Z

e

L1iL1jL0k dxdy = 2|e| 1!1!0!

(1 + 1 + 0 + 2)! = 1 12|e|.

(36)

5.2.4 L

i

(x , y ) = a

i

+ b

i

x + c

i

y の係数決定と L

j

, L

i

e

Li(x,y) =ai+bix+ciy とおくと

δij=Lj(xi,yi) =aj+bjxi+cjyi = (1xi yi)

aj

bj

cj

であるから I =

1 0 0 0 1 0 0 0 1

=

1 x0 y0

1 x1 y1

1 x2 y2

a0 a1 a2

b0 b1 b2

c0 c1 c2

 (ペンを取ってチェック).

A:=

1 x0 y0

1 x1 y1

1 x2 y2

とおくと

detA= det

1 x0 y0

0 x1−x0 y1−y0

0 x2−x0 y2−y0

=

x1−x0 y1−y0

x2−x0 y2−y0

= 2|e|>0.

ゆえに

a0 a1 a2

b0 b1 b2

c0 c1 c2

=A−1.

かつらだまさし

図 2: 重なり, すき間, 頂点が他の要素の辺上にある、なんてのはダメ
図 2: 重なり, すき間, 頂点が他の要素の辺上にある、なんてのはダメ
図 2: 重なり, すき間, 頂点が他の要素の辺上にある、なんてのはダメ
図 2: 重なり, すき間, 頂点が他の要素の辺上にある、なんてのはダメ
+2

参照

関連したドキュメント

水平方向の地震応答解析モデルを図 3-5 及び図 3―6 に,鉛直方向の地震応答解析モデル図 3-7

In this study, X-ray stress measurement of aluminum alloy A2017 using the Fourier analysis proposed by Miyazaki et al.. was carried

[r]

劣モジュラ解析 (Submodular Analysis) 劣モジュラ関数は,凸関数か? 凹関数か?... LP ニュートン法 ( の変種

名大・工 鳥居 達生《胎 t 鍵ゆ驚麗■) 名大・工 襲井 鉄轟〈艶 t 鍵陣 s 濾囎麗) 名大・工 彰浦 洋韓ユ騰曲エ鋤翼鱒騰

Research Institute for Mathematical Sciences, Kyoto University...

Existence of weak solution for volume preserving mean curvature flow via phase field method. 13:55〜14:40 Norbert

[r]