73
有限要素法 四角形アイソパラメトリック要素 2010 11 26 1

有限要素法 四角形アイソパラメトリック要素...アイソパラメトリック要素 • アイソパラメトリック要素の導入:これまでは変位u のみ補間し、座標X

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

有限要素法 四角形アイソパラメトリック要素

2010 年 11 月 26 日

1

トラス要素の復習

• これまで見てきた要素は、トラス、三角形要素であるが、どちらも要素内で変位を補間する関数を定める手続きは煩雑に感じる。もう少し合理的な方法は無いものか?

• ここで、やはり有限要素法は積分形であることに着目する。個別の要素は形状は異なるが、直線、三角形であることには変わりは無いので、変数変換により、規格化された領域で考えることにする。

• トラスの例題[1] [2] [3] [4] [5] [6]

要素 1 要素 2 要素 3 要素 4 要素 5

• 以前の講義でのトラスの説明の復習

変形前

変形後

(1) (2)

u(1)

u(1)

u(2)

u(2)

u

u

X

X

X(1) = 0 X(2) = L

2

• 変位 u は端点での値がわかり、途中は線形であると仮定すれば、

u = u(1) +u(2) − u(1)

LX =

(1 − X

L

)u(1) +

X

Lu(2) =

[1 − X

L,X

L

]{u(1)

u(2)

}(1)

= [N ]

{u(1)

u(2)

}= [N ]{u} (2)

ε =du

dX=

d[N ]

dX{u} =

1

L[−1, 1]

{u(1)

u(2)

}= [B]

{u(1)

u(2)

}= [B]{u} (3)

σ = Eε = E[B]{u} (4)

δu についても同様だとする。

δε = [B]

{δu(1)

δu(2)

}= [B]{δu} (5)

これらを用いると、∫V e

σijδεijdV =

∫V e

σ11ε11dV (6)

=

∫V e{δu}T [B]TE[B]{u}dV = {δu}T [B]TE[B]{u}

∫V e

dV (7)

= {δu}T 1

L

[−1

1

]E

1

L[−1, 1]{u}AL =

EA

L{δu}T

[−1

1

][−1, 1]{u} (8)

=EA

L{δu}T

[1 −1

−1 1

]{u} =

EA

L

{δu(1), δu(2)

}T[

1 −1

−1 1

]{u(1)

u(2)

}(9)

ただし棒の断面積は A であるとする。

3

• というものであったが、実は若干いい加減で、積分区間 [0, L] は具体的にどこからどこまでかが示されていない。暗黙に要素 1 の説明のようになっているが隣の要素は、厳密には、このようにはならない。

[1] [2] [3] [4] [5] [6]

要素 1 要素 2 要素 3 要素 4 要素 5

• もう少し一般性を持たせて、端点の座標を 0, L とせず、X(1), X(2) としてみる。このとき、

u =u(2) − u(1)

X(2) − X(1)(X − X(1)) + u(1) (10)

=

(1 − X − X(1)

X(2) − X(1)

)u(1) +

X − X(1)

X(2) − X(1)u(2) (11)

=X(2) − X

X(2) − X(1)u(1) +

X − X(1)

X(2) − X(1)u(2) (12)

=

[X(2) − X

X(2) − X(1),

X − X(1)

X(2) − X(1)

]{u(1)

u(2)

}(13)

• このときひずみは、ε =

du

dX=

1

X(2) − X(1)[−1, 1]

{u(1)

u(2)

}(14)

[B] =1

X(2) − X(1)[−1, 1] (15)

X(1) = 0, X(2) = L, X(2) −X(1) = Lを代入するとこれまでの式と一致することが確認できる。

4

アイソパラメトリック要素

• アイソパラメトリック要素の導入:これまでは変位 u のみ補間し、座標 X は空間固定の座標系やそれを回転だけした局所座標系を使っていた。しかし、出来上がった有限要素について言えば、例えば三角形要素なら平行移動と拡大縮小で重ね合わせることができれば、得られる剛性マトリックスは等しいなどの性質があるので、要素ひとつひとつを、空間固定の座標系を用いていちいち計算するよりももっと合理的な方法がありそうに思える。この趣旨で開発された要素がアイソパラメトリック要素である。

• アイソパラメトリック要素では、座標 X も変位同様に節点値しか持たず要素内で補間する。

• 基本は積分の変数変換と微分の連鎖則である。要素の端点 X(1), X(2) を−1, 1に対応させるパラメータ r を導入する。具体的に式でかけば以下のようになる。

X =1

2(1 − r)X(1) +

1

2(1 + r)X(2) (16)

= N (1)X(1) + N (2)X(2) (17)

N (1) =1

2(1 − r), N (2) =

1

2(1 + r) (18)

パラメータ表示の導入により、両端の節点の空間固定の座標系における座標値を用いなくても、要素の中心であれば単純に r = 0 と表現することが可能になる。

• このとき、u も同じ形式で表す。

u = N (1)u(1) + N (2)u(2) (19)

5

この式から r を消去して X, X(1), X(2) で表すと式 (13) になることが確認できる。念のため確認すると、式 (16) から r を求め、式 (19) に代入する。

r =2X − X(1) − X(2)

X(2) − X(1)(20)

u =1

2

(1 − 2X − X(1) − X(2)

X(2) − X(1)

)u(1) +

1

2

(1 +

2X − X(1) − X(2)

X(2) − X(1)

)u(2) (21)

=X(2) − X

X(2) − X(1)u(1) +

X − X(1)

X(2) − X(1)u(2) (22)

=

[X(2) − X

X(2) − X(1),

X − X(1)

X(2) − X(1)

]{u(1)

u(2)

}(23)

• X, u ともに同じ関数で補間する要素をアイソパラメトリック要素と呼ぶ。

• ひずみ du

dXはどのように計算するのか?

du

dX=

d

X(N (1)u(1) + N (2)u(2)) =

dN (1)

dXu(1) +

dN (2)

dXu(2) (24)

=

[dN (1)

dX,dN (2)

dX

]{u(1)

u(2)

}(25)

[B] =

[dN (1)

dX,dN (2)

dX

](26)

d

dXはこれまでは通常の関数の微分として取り扱うことができたが、今回は X も補間により

得られる量であることから直接微分として取り扱うことができない。

6

nabe
ノート
dX

• 最終的に得られる剛性マトリックスの形は後述するが、一般に複雑になり、解析的に積分することは困難である。

• このような解析的に積分が困難な関数の積分値を近似的に求める数値積分という手法がある。代表に Gauss 積分という、簡単で精度の高い方法がある。具体的には特定のサンプリング点r における剛性マトリックスの各成分の値を求めて、それらに対応する重みW をかけて和をとるという手順で求められる。 ∫ 1

−1

f(x)dx =

m∑a=1

Waf(xa) (27)

これは、サンプリング点 ra における被積分関数の値を求めることができれば十分ということを意味する。そこで、まず微分の連鎖則を使って

dN

dX=

dN

dr

dr

dX(28)

この式中のdr

dXを、

dX

dr=

dN (1)

drX(1) +

dN (2)

drX(2) (29)

の逆数として数値的に求めればよい。

• 以上を用いると

7

∫V e

σijδεijdV =

∫V e

σ11ε11dV (30)

=

∫V e{δu}T [B]TE[B]{u}dV = {δu}T

∫V e

[B]TE[B]dV {u} (31)

(32)

= {δu}TAE

∫ X(2)

X(1)[B]T [B]dX{u} (33)

= {δu}TAE

∫ 1

−1

⎡⎢⎢⎣

dN (1)

dXdN (2)

dX

⎤⎥⎥⎦[dN (1)

dX

dN (2)

dX

]dX

drdr{u} (34)

= {δu}TAE

∫ 1

−1

⎡⎢⎢⎣

dN (1)

dX

dN (1)

dX

dN (1)

dX

dN (2)

dXdN (1)

dX

dN (2)

dX

dN (2)

dX

dN (2)

dX

⎤⎥⎥⎦ dX

drdr{u} (35)

8

• 確認のため、実際に解析的に求めてみるとdN (1)

dr= −1

2,

dN (2)

dr=

1

2(36)

dX

dr= −1

2X(1) +

1

2X(2) =

1

2(X(2) − X(1)) (37)

dr

dX=

2

X(2) − X(1)(38)

dN (1)

dX=

dN (1)

dr

dr

dX= −1

2

2

X(2) − X(1)=

1

X(1) − X(2)(39)

dN (2)

dX=

dN (2)

dr

dr

dX=

1

2

2

X(2) − X(1)=

1

X(2) − X(1)(40)

du

dX=

dN (1)

dXu(1) +

dN (2)

dXu(2) =

1

X(1) − X(2)u(1) +

1

X(2) − X(1)u(2) (41)

=1

X(2) − X(1)(−u(1) + u(2)) =

1

X(2) − X(1)[−1, 1]

{u(1)

u(2)

}(42)

[B] =

[dN (1)

dX,dN (2)

dX

]=

1

X(2) − X(1)[−1, 1] (43)

∫ X(2)

X(1)dX =

∫ 1

−1

dX

drdr =

∫ 1

−1

1

2(X(2) − X(1))dr =

1

2(X(2) − X(1))

∫ 1

−1

dr = X(2) − X(1) (44)

9

• 以上を用いると∫V e

σijδεijdV =

∫V e

σ11ε11dV (45)

=

∫V e{δu}T [B]TE[B]{u}dV = {δu}T

∫V e

[B]TE[B]dV {u} (46)

= {δu}TAE

∫ 1

−1

1

X(2) − X(1)

[−1

1

]1

X(2) − X(1)[−1, 1]

1

2(X(2) − X(1))dr{u} (47)

= {δu}T AE

X(2) − X(1)

[1 −1

−1 1

]{u} (48)

となり、前述のトラスの剛性マトリックスと等しくなることが確認できる。

10

4節点四角形ソリッド要素

• 1次元の場合,線分内の座標 X を以下の補間関数を用いて r(−1 ≤ r ≤ 1) に変数変換した.

N (1) =1

2(1 − r), N (2) =

1

2(1 + r) (49)

• では,2次元の場合は?実は後述するように三角形要素もアイソパラメトリック要素として定義しなおすことができるが、若干複雑なので、まずは簡単な四角形要素について説明する。

• まず,積分領域を四角形で分割する.4つの頂点を (−1,−1), (1,−1), (1, 1), (−1, 1) に対応させ,領域内を2つのパラメータ r1, r2 (−1 ≤ r1 ≤ 1,−1 ≤ r2 ≤ 1) をもちいて変数変換する.

• 即ち物理座標系で左図のような配置になっている節点を右図のように対応させる.これは物理座標系内の任意の四角形を r1-r2 座標系における正方形に写像することを意味している. この r1 − r2 座標系のことを,自然座標系と呼ぶ.

• 補間関数の具体的な形は以下のようになる.

N (1) =1

4(1 − r1)(1 − r2) (50)

N (2) =1

4(1 + r1)(1 − r2) (51)

N (3) =1

4(1 + r1)(1 + r2) (52)

N (4) =1

4(1 − r1)(1 + r2) (53)

11

$x_2$

$x_1$

[1]

[1]

[2]

[2]

[3]

[3]

[4]

[4]

r1

r2

(a) 物理座標系 (b) 自然座標系

(−1,−1)

(−1, 1)

(1,−1)

(1, 1)

• これは,1次元の補間関数を掛け合わせたものになっている。N (1) =

1

2(1 − r), N (2) =

1

2(1 + r) (54)

• 対応する節点で 1, その他の節点では 0 の値をとる.たとえば (−1,−1)を代入すると、

N (1) =1

4(1 − r1)(1 − r2) =

1

4(1 − (−1))(1 − (−1)) = 1 (55)

N (2) =1

4(1 + r1)(1 − r2) =

1

4(1 + (−1))(1 − (−1)) = 0 (56)

N (3) =1

4(1 + r1)(1 + r2) =

1

4(1 + (−1))(1 + (−1)) = 0 (57)

N (4) =1

4(1 − r1)(1 + r2) =

1

4(1 − (−1))(1 + (−1)) = 0 (58)

• 変位と、座標に同じ補間関数を用いる要素をアイソパラメトリック要素とよぶ。ui = N (n)u

(n)i , Xi = N (n)X

(n)i (59)

12

• 有限要素法の基礎となる弱形式と積分領域の分割∫V

σijδεijdV =

∫S−SD

tjδujdS (60)

∫V

dV =∑

e

∫V e

dV,

∫S−SD

dS =∑

e

∫Se−Se

D

dS (61)

平面ひずみ、平面応力状態の場合、左辺の被積分関数をマトリックス表示すると

σijδεij = {δε}T{σ} = {δε}T{σ} = {δε}T [D]{ε} (62)

ただし、

{σ} =

⎧⎪⎨⎪⎩

σ11

σ22

σ12

⎫⎪⎬⎪⎭ {δε} =

⎧⎪⎨⎪⎩

δε11

δε22

2δε12

⎫⎪⎬⎪⎭ =

⎧⎪⎨⎪⎩

δε11

δε22

δγ12

⎫⎪⎬⎪⎭ (63)

平面ひずみ状態

[D] =E

(1 + ν)(1 − 2ν)

⎡⎢⎣1 − ν ν 0

ν 1 − ν 0

0 0 1−2ν2

⎤⎥⎦ (64)

平面応力状態

[D] =E

1 − ν2

⎡⎢⎣1 ν 0

ν 1 0

0 0 1−ν2

⎤⎥⎦ (65)

• 変位と線形ひずみの関係εij =

1

2

(∂ui

∂Xj+

∂uj

∂Xi

)(66)

13

• ひずみを計算する際に必要なuiのXjに関する微分は, ui は節点での値であることから以下のように求められる.

∂ui

∂Xj=

∂N (n)

∂Xju

(n)i (67)

• ∂N (n)

∂Xjは微分の連鎖則を用いて, 以下のような手続きで求められる.

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

⎡⎢⎢⎣

∂X1

∂r1

∂X2

∂r1

∂X1

∂r2

∂X2

∂r2

⎤⎥⎥⎦⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(68)

各成分∂Xi

∂rjは以下のようになる.

∂Xi

∂rj=

∂N (n)

∂rjX

(n)i (69)

• このマトリックスは領域積分の変数変換で用いられるヤコビマトリックスと転置の関係になっている。ヤコビマトリックスとは、微小量 dXi と dri の関係式のことで下式で定義される。

{dX1

dX2

}=

⎡⎢⎢⎣

∂X1

∂r1

∂X1

∂r2

∂X2

∂r1

∂X2

∂r2

⎤⎥⎥⎦{

dr1

dr2

}(70)

14

ヤコビマトリックスの転置の逆行列を用いれば∂N (n)

∂Xiは以下のように求められる.

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

= [J ]−T

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(71)

• ヤコビマトリックスを用いると領域積分は以下のように表される.∫Ve

dV =

∫ 1

−1

∫ 1

−1

det[J ]dr1 dr2 (72)

• この積分は通常, Gauss積分などの数値積分法により実行される. ここでは, 1次元の Gauss積分を二重にしたものを用いることにする. 即ち,∫ 1

−1

∫ 1

−1

f(x, y) dx dy ≈∑

i

∑j

wiwjf(xi, yj) (73)

15

節点変位-ひずみマトリックス([B] マトリックス)

• 変位と線形ひずみεij =

1

2

(∂ui

∂Xj+

∂uj

∂Xi

)(74)

• 変位と節点変位ui = N (n)u

(n)i (75)

• さらに平面ひずみ,あるいは平面応力を仮定した場合,ひずみのベクトル表示{ε}には ε11, ε22,

ε12 成分しか含まれておらず, X3 方向の変位は使われていない.

• これらを総合し,線形ひずみと節点変位を以下のようにマトリックスとベクトルの積の形で対応させる.

{ε} = [B] {u(n)i } (76)

ただし {u(n)i } は下式により定義される.

{u(n)i } =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

u(1)1

u(1)2

u(2)1

u(2)2...

u(n)1

u(n)2

⎫⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

(77)

16

• ひずみの計算に必要な ∂ui

∂Xjは, 節点変位が位置ベクトル x には依存しない量であることか

ら, 次のようになる.∂ui

∂Xj=

∂N (n)

∂Xju

(n)i (78)

• また

ε11 =∂u1

∂X1(79)

ε22 =∂u2

∂X2(80)

2ε12 =∂u1

∂X2+

∂u2

∂X1(81)

であることを考えると,具体的な成分は

ε11 =∂N (1)

∂X1u

(1)1 +

∂N (2)

∂X1u

(2)1 + · · · + ∂N (n)

∂X1u

(n)1

ε22 =∂N (1)

∂X2u

(1)2 +

∂N (2)

∂X2u

(2)2 + · · · + ∂N (n)

∂X2u

(n)2

2ε12 =∂N (1)

∂X1u

(1)2 +

∂N (2)

∂X1u

(2)2 + · · · + ∂N (n)

∂X1u

(n)2

+∂N (1)

∂X2u

(1)1 +

∂N (2)

∂X2u

(2)1 + · · · + ∂N (n)

∂X2u

(n)1 (82)

• これを基にするとマトリックス [B]は, 3× 2のサブマトリックス [B(k)]を用いて以下 のよう

17

にあらわされる.

[B(k)] =

⎡⎢⎢⎢⎢⎢⎢⎣

∂N (k)

∂X1

∂N (k)

∂X2

∂N (k)

∂X2

∂N (k)

∂X1

⎤⎥⎥⎥⎥⎥⎥⎦

(83)

[B] =[[B(1)], [B(2)], . . . , [B(n)]

](84)

=

⎡⎢⎢⎢⎢⎢⎢⎣

∂N (1)

∂X10

∂N (2)

∂X10

∂N (3)

∂X10

∂N (4)

∂X10

0∂N (1)

∂X20

∂N (2)

∂X20

∂N (3)

∂X20

∂N (4)

∂X2

∂N (1)

∂X2

∂N (1)

∂X1

∂N (2)

∂X2

∂N (2)

∂X1

∂N (3)

∂X2

∂N (3)

∂X1

∂N (4)

∂X2

∂N (4)

∂X1

⎤⎥⎥⎥⎥⎥⎥⎦

(85)

18

まとめ

• これまで説明してきたことをまとめると、四角形アイソパラメトリック要素の要素剛性マトリックスは以下のように求められる。(ただし板厚を t とする)∫

V

σijδεijdV = {δu}T [k]{u} (86)

[k] =

∫V

[B]T [D][B]dV (87)

=

∫ 1

−1

∫ 1

−1

[B]T [D][B]t(det[J ])dr1dr2 (88)

≈n∑

a=1

m∑b=1

WaWb[B]T [D][B]t(det[J ]) (89)

• ただし Jacobi マトリックス [J ] は剛性マトリックスの計算に先立って別に求めておく必要があり、[B] マトリックスの成分を求める時と、

∫V dV の積分を

∫ 1

−1

∫ 1

−1 dr1dr2 に変換する時に独立に2回用いられる。⎧⎪⎪⎪⎨

⎪⎪⎪⎩∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

⎡⎢⎢⎣

∂X1

∂r1

∂X2

∂r1

∂X1

∂r2

∂X2

∂r2

⎤⎥⎥⎦⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

= [J ]

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(90)

19

注意点

• 毎年出る質問に、「三角形要素は剛性マトリックスに面積 A をかけるけど、四角形要素に面積をかけないのはなぜ?」というのがあります。

• 基本的にはトラスも、三角形も、四角形も基本となる弱形式は同一∫V

σijδεijdV =

∫S−SD

tjδujdS (91)

• 左辺が剛性マトリックスになるが、どの要素でも被積分関数は以下のようにマトリックスで表すことができる。

σijδεij = {δu}T [B]T [D][B]{u} (92)

• このうち {δu}T , [D], {u} についてはすべての要素に共通して積分範囲内で定数であるが [B]

はトラスと三角形要素では定数であるが、四角形要素では定数にならない。

• 実際に積分すると、トラス要素の場合断面積を A, 長さを L として∫V

σijδεijdV = {δu}T [B]T [D][B]{u}AL (93)

となり、剛性マトリックス [k] は

[k] = [B]T [D][B]AL (94)

• 三角形要素の場合、板厚 t、面積 A として、∫V

σijδεijdV = {δu}T [B]T [D][B]{u}tA (95)

20

となり、剛性マトリックス [k] は以下のようになる。

[k] = [B]T [D][B]tA (96)

• どちらの場合も AL, tA ともに考えている要素の体積であることに注意する。

• 四角形の剛性マトリックスは板厚を t として∫V

σijδεijdV = {δu}T [k]{u} (97)

[k] =

∫V

[B]T [D][B]dV (98)

=

∫ 1

−1

∫ 1

−1

[B]T [D][B]t(det[J ])dr1dr2 (99)

≈n∑

a=1

m∑b=1

WaWb[B]T [D][B]t(det[J ]) (100)

ここで、要素の体積は∫

V dV であり、これを t で割った∫ 1

−1

∫ 1

−1(det[J ])dr1dr2

が要素の面積になっている。

• つまり要素剛性の被積分関数 [B]T [D][B](det[J ])を実際に積分するので、積分領域の単純な積分が残らず、後から面積をかけたり体積をかけないのである。

21

数値積分

• 以上で求めたような,マトリックスの作成に際しては,体積あるいは面積積分を行う必要がある.

• しかしながら,要素がよほど単純な形状でない限り,被積分関数の形が複雑になり,解析的に積分することはほぼ不可能である.

• そこで,この積分を数値的に行うことになるが,有限要素法の場合,よく用いられるのは,Newton-Coate 積分,Gauss 積分などである.

• どちらも,被積分関数を Lagrange多項式で近似し,Lagrange多項式の性質を元に数値的に積分を求める方法である.精度の高い Gauss 積分の考え方を示す

f(x) ≈ g(x) = a0 + a1x + a2x2 (101)

このとき

f(−1) = a0 − a1 + a2 (102)

f(0) = a0 (103)

f(1) = a0 + a1 + a2 (104)

ここでH1,H2,H3を以下のように定義する。

H1 =1

2x(x − 1), H2 = 1 − x2, H3 =

1

2x(1 + x) (105)

22

このとき

g(−1)H1 + g(0)H2 + g(1)H3

= (a0 − a1 + a2)1

2x(x − 1) + a0(1 − x2) + (a0 − a1 + a2)x(1 + x)

= {1

2(a0 − a1 + a2) − a0 +

1

2(a0 + a1 + a2)}x2 + {−1

2(a0 − a1 + a2) +

1

2(a0 + a1 + a2)}x + a0

= a2x2 + a1x + a0 = g(x) (106)

この関係を考慮してg(x)を積分すると、以下にようになる。∫ 1

−1

g(x)dx =

∫ 1

−1

g(−1)H1(x) + g(0)H2(x) + g(1)H3(x)dx (107)

= g(−1)

∫ 1

−1

H1(x)dx + g(0)

∫ 1

−1

H2(x)dx + g(1)

∫ 1

−1

H3(x)dx (108)

H1,H2,H3はf(x)とは無関係な関数なので、g(−1),g(0),g(1)の値がわかっていれば、∫ 1

−1 f(x)dx

の近似値を求めることが可能になる。なお∫ 1

−1

H1(x)dx =1

3,

∫ 1

−1

H2(x)dx =4

3,

∫ 1

−1

H3(x)dx =1

3(109)

なので ∫ 1

−1

g(x)dx =1

3g(−1) +

4

3g(0) +

1

3g(1) (110)

である。

• このように数値積分はもとの関数を性質がよくわかった。多項式の和で近似し、積分値をサンプリング点でのxhでの関数の値 f(xh)とサンプリング点に対応した重みWhをかけたものの和で近似するものである。

23

• これを計算機で実行する際にはサンプリング点xhでの数値f(xh)を必要なサンプリング点数だけ計算することになる。当然ながらサンプリング点数が少ない方が計算時間を短くすむ。そのため合理的にサンプリング数を減らす方法を考えてみよう。

• いずれにせよ関数を多項式で近似し、その多項式を積分するという流れは変わらないが、例えばf(x)が1次式のとき、

f(x) = a0 + a1x  (111)

I =

∫ 1

−1

f(x)dx =

∫ 1

−1

a0 + a1xdx =

[a0x +

1

2a1x

2

]1

−1

= 2a0 (112)

つまり、何らかの方法によりa0を求めることができれば、Iを計算することができる。いうまでもなく、1次関数ならばf(0) = a0なので、以下のように1つのサンプリング点だけで I

を評価できることがわかる。I = 2f(0) (113)

これは図のように台形領域を長方形の面積で置き換えたことの相当する。

−1 0 1

24

• 次に2次関数について考えてみよう。f(x) = a0 + a1x + a2x

2 (114)

I =

∫ 1

−1

f(x)dx =

∫ 1

−1

a0 + a1x + a2x2dx =

[a0x +

1

2a1x

2 +1

3a2x

3

]1

−1

= 2a0 +2

3a2 (115)

2次関数であればa0,a2を求めることができれば、Iを求めることができる。あきらかにサンプリング点が1点では無理なので、2点でできないか考えてみる。対称性を考慮して、f(x)

にx = ±αを代入すると、

f(α) = a0 + a1α + a2α2 (116)

f(−α) = a0 − a1α + a2α2 (117)

和を取るとf(α) + f(−α) = 2a0 + 2a2α

2 (118)

求めたいのは、2a0 + 23a2なのでα =

√13を代入すればよい。即ち、

I = f(1√3) + f(− 1√

3) (119)

であり、2次関数は2つのサンプリング点でIを評価できることがわかる。またこれは、x =

±1、x軸及びf(x)で囲まれた領域の面積は図のような2つの長方形領域の面積で評価できることを示している。

25

• 3次関数の場合f(x) = a0 + a1x + a2x

2 + a3x3 (120)

I =

∫ 1

−1

f(x)dx =

∫ 1

−1

a0 + a1x + a2x2 + a3x

3dx =

[a0x +

1

2a1x

2 +1

3a2x

3 +1

4a3x

4

]1

−1

(121)

= 2a0 +2

3a2 (122)

2次関数の場合と同様に対称性を考慮してx = ±αを代入すれば、

f(α) = a0 + a1α + a2α2 + a3α

3  (123)

f(−α) = a0 − a1α + a2α2 − a3α

3 (124)

和を取るとf(α) + f(−α) = 2a0 + 2a2α

2 (125)

2次関数の場合と同様にα =√

13を代入すればよいので

I = f(1√3) + f(− 1√

3) (126)

−1 0 1− 1√3

1√3

26

であり、3次関数も2つのサンプリング点でIを評価できることがわかる。またこれは、x =

±1、x軸及びf(x)で囲まれた領域の面積は図のような2つの長方形領域の面積で評価できることを示している。

−1 0 1− 1√3

1√3

• このようにサンプリング点の位置を工夫することで計算の精度を保ったままサンプリング点数を減らすことが可能である。

• 4次関数を積分する。f(x) = a0 + a1x + a2x

2 + a3x3 + a4x

4 (127)

I =

∫ 1

−1

f(x) =

∫ 1

−1

(a0 + a1x + a2x2 + a3x

3 + a4x4)dx (128)

=

[a0x +

1

2a1x

2 +1

3a2x

3 +1

4a3x

4 +1

5a4x

5

]1

−1

(129)

= 2a0 +2

3a2 +

2

5a4 (130)

27

あきらかにサンプリング店が2点では無理なので、3点で出来ないか考えてみる。対称性を考慮してf(x) = 0,±αを代入すると

f(0) = a0 (131)

f(α) = a0 + a1α + a2α2 + a3α

3 + a4α4 (132)

f(−α) = a0 − a1α + a2α2 − a3α

3 + a4α4 (133)

f(α)とf(−α)の和をとると、

f(α) + f(−α) = 2a0 + 2a2α2 + 2a4α

4 (134)

ここで以下のようなw1、w2を定めることが出来れば、x = ±1、x軸、及び f(x)で囲まれた領域を図のような 3つの長方形領域で評価できることを示している。

-1 −α 0 α 1

w2w2 w1

28

I = 2a0 +2

3a2 +

2

5a4 = w1f(0) + w2(f(α) + f(−α)) (135)

= w1a0 + w2(2a0 + 2a2α2 + 2a4α

4) (136)

= (w1 + 2w2)a0 + 2w2α2a2 + 2w2α

4a4 (137)

これより、

w1 + w2 = 2  (138)

2w2α2 =

2

3(139)

2w2α4 =

2

5(140)

式 (139)を式 (140)に代入して、

2

5=

2

3α2 ∴ α = ±

√3

5(141)

式 (139)に代入すると2

3= 2w2

3

5∴ w2 =

5

9(142)

式 (138)に代入すると

2 = w1 +10

9∴ w1 =

8

9(143)

以上より

I =8

9f(0) +

5

9

(f(

√3

5) + f(−

√3

5)

)(144)

29

4次関数は、3つのサンプリング点で Iを評価できることが分かる。また、先に示した図のようにx = ±1、x軸及びf(x)で囲まれた領域を 3つの長方形領域の面積で評価できることを示している。

• 最後に 5次関数を積分する。

f(x) = a0 + a1x + a2x2 + a3x

3 + a4x4 + a5x

5 (145)

I =

∫ 1

−1

f(x) =

∫ 1

−1

(a0 + a1x + a2x2 + a3x

3 + a4x4 + a5x

5)dx (146)

=

[a0x +

1

2a1x

2 +1

3a2x

3 +1

4a3x

4 +1

5a4x

5 +1

6a4x

6

]1

−1

(147)

= 2a0 +2

3a2 +

2

5a4 (148)

4次関数の場合に求めたx =√

35, w1 = 8

9, w1 = 59で求めることが出来ると予測して確認する。

実際、

f(0) = a0 (149)

f(α) = a0 + a1α + a2α2 + a3α

3 + a4α4 + a5α

5 (150)

f(−α) = a0 − a1α + a2α2 − a3α

3 + a4α4 − a5α

5 (151)

f(α)とf(−α)の和をとると、

f(α) + f(−α) = 2a0 + 2a2α2 + 2a4α

4 (152)

30

4次関数のときと同様に以下のようにおく。

I = 2a0 +2

3a2 +

2

5a4 = w1f(0) + w2(f(α) + f(−α)) (153)

これより、以下のようにそれぞれの値を求めることが出来る。

w1 =8

9, w2 =

5

9, α = ±

√3

5

以上より5次関数も4次関数のときと同じ3つのサンプリング点で Iを評価できることが確認できた。

31

三角形要素も実はアイソパラメトリック要素

• 三角形要素の補間関数は以下のように定義される面積座標系で表される.

• 面積座標とは,要素の面積を A として,要素内の点が与えられたとき,対応する節点の対辺とその点が作る三角形の面積をA1, A2, A3 として,下式により定義するものである.

L1 = A1/A

L2 = A2/A

L3 = A3/A (154)

(1) (2)

(3)

L1L2

L3

L1 + L2 + L3 = 1 (155)

• 1次 3節点の補間関数

N (1) = L1 (156)

N (2) = L2 (157)

N (3) = L3 (158)

32

• 実際に要素剛性マトリックスを計算するときには数値積分が必要になる.• 三角形領域の数値積分は,この面積座標L1, L2, L3と自然座標系 r1, r2を以下のように対応させておこなう.

r1 = L1 (159)

r2 = L2 (160)

1 − r1 − r2 = L3 (161)

• 三角形内部の領域は, 図のような自然座標系の領域と対応している.

0 1

1

(1)(1) (2)

(2)

(3)

(3)

r1

r2

図 1: 三角形要素の自然座標と面積座標

• 物理空間での積分 ∫V dV は4角形要素と同様に以下のヤコビマトリックスにより自然座標系に変換する.

⎧⎨⎩

dX1

dX2

⎫⎬⎭ =

⎡⎢⎢⎣

∂X1

∂r1

∂X1

∂r2

∂X2

∂r1

∂X2

∂r2

⎤⎥⎥⎦⎧⎨⎩

dr1

dr2

⎫⎬⎭ = [J ]

⎧⎨⎩

dr1

dr2

⎫⎬⎭ (162)

同様に微分の連鎖側より

33

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (i)

∂r1

∂N (i)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

⎡⎢⎢⎣

∂X1

∂r1

∂X2

∂r1

∂X1

∂r2

∂X2

∂r2

⎤⎥⎥⎦⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (i)

∂X1

∂N (i)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(163)

• すなわち ⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (i)

∂X1

∂N (i)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

= [J−T ]

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (i)

∂r1

∂N (i)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(164)

• ヤコビマトリックスの成分 ∂Xi

∂rjは四角形要素と同様に以下のようになる.

∂Xi

∂rj=

∂N (n)

∂rjX

(n)i (165)

• ここで形状関数の自然座標に関する微分 ∂N (n)

∂rjが現れるが,

r1 = L1 (166)

r2 = L2 (167)

1 − r1 − r2 = L3 (168)

34

この関係を元に,以下のように面積座標系と対応させる.

∂N (n)

∂r1=

∂N (n)

∂L1

∂L1

∂r1+

∂N (n)

∂L2

∂L2

∂r1+

∂N (n)

∂L3

∂L3

∂r1(169)

=∂N (n)

∂L1− ∂N (n)

∂L3(170)

∂N (n)

∂r2=

∂N (n)

∂L1

∂L1

∂r2+

∂N (n)

∂L2

∂L2

∂r2+

∂N (n)

∂L3

∂L3

∂r2(171)

=∂N (n)

∂L2− ∂N (n)

∂L3(172)

35

以前の三角形要素を導くことはできるか?

• 3節点三角形要素の場合補間関数は,N (1) = L1 (173)

N (2) = L2 (174)

N (3) = L3 (175)

• この関係を元に,以下のように面積座標系と対応させる.

∂N (n)

∂r1=

∂N (n)

∂L1

∂L1

∂r1+

∂N (n)

∂L2

∂L2

∂r1+

∂N (n)

∂L3

∂L3

∂r1(176)

=∂N (n)

∂L1− ∂N (n)

∂L3(177)

∂N (n)

∂r2=

∂N (n)

∂L1

∂L1

∂r2+

∂N (n)

∂L2

∂L2

∂r2+

∂N (n)

∂L3

∂L3

∂r2(178)

=∂N (n)

∂L2− ∂N (n)

∂L3(179)

• 具体的に計算すると,∂N (1)

∂r1= 1

∂N (2)

∂r1= 0

∂N (3)

∂r1= −1

∂N (1)

∂r2= 0

∂N (2)

∂r2= 1

∂N (3)

∂r2= −1

(180)

36

• ヤコビマトリックスの成分,∂Xi

∂rjは,

∂X1

∂r1=

∂N (1)

∂r1X

(1)1 +

∂N (2)

∂r1X

(2)1 +

∂N (3)

∂r1X

(3)1 = X

(1)1 − X

(3)1

∂X2

∂r1=

∂N (1)

∂r1X

(1)2 +

∂N (2)

∂r1X

(2)2 +

∂N (3)

∂r1X

(3)2 = X

(1)2 − X

(3)2

∂X1

∂r2=

∂N (1)

∂r2X

(1)1 +

∂N (2)

∂r2X

(2)1 +

∂N (3)

∂r2X

(3)1 = X

(2)1 − X

(3)1

∂X2

∂r2=

∂N (1)

∂r2X

(1)2 +

∂N (2)

∂r2X

(2)2 +

∂N (3)

∂r2X

(3)2 = X

(2)2 − X

(3)2 (181)

[J ]T =

⎡⎢⎢⎣

∂X1

∂r1

∂X2

∂r1

∂X1

∂r2

∂X2

∂r2

⎤⎥⎥⎦ =

[X

(1)1 − X

(3)1 X

(1)2 − X

(3)2

X(2)1 − X

(3)1 X

(2)2 − X

(3)2

](182)

• 行列式は三角形要素の面積の2倍になる.

det[J ]T =∂X1

∂r1

∂X2

∂r2− ∂X2

∂r1

∂X1

∂r2

= (X(1)1 − X

(3)1 )(X

(2)2 − X

(3)2 ) − (X

(1)2 − X

(3)2 )(X

(2)1 − X

(3)1 ) (183)

• これは定数なので、積分の外に出すことができる。∫ 1

0

∫ 1−r1

0

[B]T [D] [B] det[J ]dr2dr1 = det[J ]T∫ 1

0

∫ 1−r1

0

[B]T [D] [B] dr2dr1 (184)

37

• [B] マトリックスの成分は∂N (n)

∂Xiが並んだものであり,下式に従い求める.

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

= [J ]−T

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=1

det[J ]T

[X

(2)2 − X

(3)2 −(X

(1)2 − X

(3)2 )

−(X(2)1 − X

(3)1 ) X

(1)1 − X

(3)1

]⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(185)

• ∂N (n)

∂riはすべて定数なので,

∂N (n)

∂xiも定数になる.具体的には

⎡⎢⎢⎢⎣

∂N (1)

∂X1

∂N (2)

∂X1

∂N (3)

∂X1

∂N (1)

∂X2

∂N (2)

∂X2

∂N (3)

∂X2

⎤⎥⎥⎥⎦ =

1

det[J ]T

[X

(2)2 − X

(3)2 −(X

(1)2 − X

(3)2 )

−(X(2)1 − X

(3)1 ) X

(1)1 − X

(3)1

]⎡⎢⎢⎢⎣∂N (1)

∂r1

∂N (2)

∂r1

∂N (3)

∂r1

∂N (1)

∂r2

∂N (2)

∂r2

∂N (3)

∂r2

⎤⎥⎥⎥⎦

=1

det[J ]T

[X

(2)2 − X

(3)2 −(X

(1)2 − X

(3)2 )

−(X(2)1 − X

(3)1 ) X

(1)1 − X

(3)1

][1 0 −1

0 1 −1

]

=1

det[J ]T

[X

(2)2 − X

(3)2 X

(3)2 − X

(1)2 X

(1)2 − X

(2)2

X(3)1 − X

(2)1 X

(1)1 − X

(3)1 X

(2)1 − X

(1)1

]

(186)

38

• これより [B] マトリックスの具体的な成分は以下のようになる.

[B] =

⎡⎢⎢⎢⎢⎢⎢⎣

∂N (1)

∂X10

∂N (2)

∂X10

∂N (3)

∂X10

0∂N (1)

∂X20

∂N (2)

∂X20

∂N (3)

∂X2∂N (1)

∂X2

∂N (1)

∂X1

∂N (2)

∂X2

∂N (2)

∂X1

∂N (3)

∂X2

∂N (3)

∂X1

⎤⎥⎥⎥⎥⎥⎥⎦

=1

det[J ]T

⎡⎢⎣

X(2)2 − X

(3)2 0 X

(3)2 − X

(1)2 0 X

(1)2 − X

(2)2 0

0 X(3)1 − X

(2)1 0 X

(1)1 − X

(3)1 0 X

(2)1 − X

(1)1

X(3)1 − X

(2)1 X

(2)2 − X

(3)2 X

(1)1 − X

(3)1 X

(3)2 − X

(1)2 X

(2)1 − X

(1)1 X

(1)2 − X

(2)2

⎤⎥⎦ (187)

• さらに [D] マトリックスも定数であることを考えると,被積分関数はすべて定数となり,数値積分の必要が無いことがわかる.∫ 1

0

∫ 1−r1

0

[B]T [D] [B] det[J ]dr2dr1

=det[J ]

∫ 1

0

∫ 1−r1

0

[B]T [D] [B] dr2dr1

=det[J ][B]T [D] [B]

∫ 1

0

∫ 1−r1

0

dr2dr1

=1

2det[J ][B]T [D] [B] (188)

39

パラメトリックではない四角形要素について

• 直線は2点で定められている。3点であれば平面で定めることが出来る。では4点であればどうなるか?長方形要素、双一次曲線とすると、uは以下の形状で表され、形状によりa0~a3が定まる。

u = a0 + a1x + a2y + a3xy (189)

最初から一般的な形状を扱うと大変なので、下図のような長方形を考える。

0

1 2

34

x

y

L1

L2

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u1 = a0 + a10 + a20 + a30

u2 = a0 + a1L1 + a20 + a3L10

u3 = a0 + a1L1 + a2L2 + a3L1L2

u4 = a0 + a10 + a2L2 + a30L2

(190)

40

これを解くと ⎡⎢⎢⎢⎢⎣

1

1 L1

1 L1 L2 L1L2

1 L2

⎤⎥⎥⎥⎥⎦

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

a0

a1

a2

a3

⎫⎪⎪⎪⎪⎬⎪⎪⎪⎪⎭

=

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u0

u1

u2

u3

⎫⎪⎪⎪⎪⎬⎪⎪⎪⎪⎭

(191)

a0 = u1 (192)

a1 =u2 − u1

L1(193)

a2 =u4 − u1

L2(194)

(195)

ここで、

u3 = u1 +u2 − u1

L1L1 +

u4 − u1

L2L2 + a3L1L2 (196)

(197)

であることより、

a3 =1

L1L2

(u3 − u1 − u2 − u1

L1L1 − u4 − u1

L2L2

)(198)

=1

L1L2(u3 − u1 − u2 + u1 − u4 + u1) (199)

=u1 − u2 + u3 − u4

L1L2(200)

41

uの式に代入すれば、

u = u1 +u2 − u1

L1x +

u4 − u1

L2y +

u1 − u2 + u3 − u4

L1L2xy (201)

=

(1 +

x

L1− y

L2+

xy

L1L2

)u1 +

(x

L1− xy

L1L2

)u2 +

xy

L1L2u3 +

(y

L2− xy

L1L2

)u4 (202)

=

(1 − x

L1

)(1 − y

L2

)u1 +

x

L1

(1 − y

L2

)u2 +

x

L1

y

L2u3 +

y

L2

(1 − x

L1

)u4 (203)

多少天下り的だが、以下のようにおく。

X1 =L1 − x

L1, X2 =

x

L1(204)

Y1 =L2 − y

L2, Y2 =

y

L2(205)

0 ≤ x ≤ L1, 0 ≤ y ≤ L2なので、X1, X2, Y1, Y2はすべて

0 ≤ X1, X2, Y1, Y2 ≤ 1 (206)

となる。また、u = X1Y1u1 + X2Y1u2 + X2Y2u3 + X1Y2u4 (207)

N1 = X1Y1, N2 = X2Y1, N3 = X2Y2, N4 = X1Y2 (208)

つまり、u = N (n)u(n)の形式で表すことが出来る。

42

次に,もう少し一般的にする.

x1 x2

y1

y2

1 2

34

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u1 = a0 + a1x1 + a2y1 + a3x1y1 (209)

u2 = a0 + a1x2 + a2y1 + a3x2y1 (210)

u3 = a0 + a1x2 + a2y2 + a3x2y2 (211)

u4 = a0 + a1x1 + a2y2 + a3x1y2 (212)

式 (209)−式 (212)

u1 − u4 = a2 (y1 − y2) + a3x1 (y1 − y2) (213)

式 (210)−式 (211)

u2 − u3 = a2 (y1 − y2) + a3x2 (y1 − y2) (214)

43

式 (213)−式 (214)

u1 − u4 − u2 + u3 = a2 (y1 − y2) + a3x2 (y1 − y2)

∴ a3 =u1 − u2 + u3 − u4

(x1 − x2) (y1 − y2)(215)

式 (215)を式 (213)に代入

u1 − u4 = a2 (y1 − y2) +u1 − u2 + u3 − u4

(x1 − x2) (y1 − y2)· x1 (y1 − y2) (216)

a2 =u1 − u4

y1 − y2− x1 (u1 − u2 + u3 − u4)

(x1 − x2) (y1 − y2)(217)

=(x1 − x2) (u1 − u4) − x1 (u1 − u2 + u3 − u4)

(x1 − x2) (y1 − y2)(218)

=x1u1 − x2u1 − x1u4 + x2u4 − x1u1 + u1u2 − x1u3 + x1u4

(x1 − x2) (y1 − y2)(219)

=x2 (u4 − u1) + x1 (u2 − u3)

(x1 − x2) (y1 − y2)(220)

確認

44

式 (215)を式 (214)に代入

u2 − u3 = a2 (y1 − y2) +u1 − u2 + u3 − u4

(x1 − x2) (y1 − y2)· x2 (y1 − y2) (221)

a2 =u2 − u3

y1 − y2− x2 (u1 − u2 + u3 − u4)

(x1 − x2) (y1 − y2)(222)

=(u2 − u3) (x1 − x2) − x2 (u1 − u2 + u3 − u4)

(x1 − x2) (y1 − y2)(223)

=x1u2 − x1u3 − x2u2 + x2u3 − x2u1 + x2u2 − x2u3 + x2u4

(x1 − x2) (y1 − y2)(224)

=x1 (u2 − u3) + x2 (u4 − u1)

(x1 − x2) (y1 − y2)(225)

式 (209)−式 (210)

u1 − u2 = a1 (x1 − x2) + a3 (x1 − x2) y1 (226)

a1 =u1 − u2

x1 − x2− a3y1 (227)

=u1 − u2

x1 − x2− (u1 − u2 + u3 − u4) y1

(x1 − x2) (y1 − y2)(228)

=(y1 − y2) (u1 − u2) − y1 (u1 − u2 + u3 − u4)

(x1 − x2) (y1 − y2)(229)

=y1 (u1 − u2) − y2 (u1 − u2) − y1 (u1 − u2) − y1 (u3 − u4)

(x1 − x2) (y1 − y2)(230)

=y2 (u2 − u1) − y1 (u4 − u3)

(x1 − x2) (y1 − y2)(231)

確認

45

式 (211)−式 (212)

u3 − u4 = a1 (x2 − x1) + a3 (x2 − x1) y2 (232)

a1 =u3 − u4

x2 − x1− a3y2 (233)

=u3 − u4

x2 − x1− (u1 − u2 + u3 − u4) y2

(x1 − x2) (y1 − y2)(234)

=(y1 − y2) (u4 − u3) − y2 (u1 − u2 + u3 − u4)

(x1 − x2) (y1 − y2)(235)

=y1 (u4 − u3) + y2 (u2 − u1)

(x1 − x2) (y1 − y2)(236)

46

式 (209)にa1, a2, a3を代入

a0 = u1 − a1x1 − a2y1 − a3x1y1 (237)

= u1 − x1y2 (u2 − u1) + x1y1 (u4 − u3)

(x1 − x2) (y1 − y2)− y1x1 (u2 − u3) + y1x2 (u4 − u1)

(x1 − x2) (y1 − y2)

−x1y1 (u1 − u2 + u3 − u4)

(x1 − x2) (y1 − y2)(238)

=1

(x1 − x2) (y1 − y2){(x1 − x2) (y1 − y2) u1 − x1y2 (u2 − u1) − x1y1 (u4 − u3)

−y1x1 (u2 − u3) − y1x2 (u4 − u1)

−x1y1 (u1 − u2 + u3 − u4)} (239)

=1

(x1 − x2) (y1 − y2){x1y1u1 − x1y2u1 − x2y1u1 + x2y2u1

x1y2u2 − x1y2u1 − x1y1u4 + x1y1u3

x1y1u2 − x1y1u3 − x2y1u4 + x2y1u1

x1y1u1 − x1y1u2 − x1y1u3 + x1y1u4} (240)

=x2y2u1 − x1y2u2 + x1y1u3 − x2y1u4

(x1 − x2) (y1 − y2)(241)

確認式 (210)にa1, a2, a3を代入

47

a0 = u2 − a1x2 − a2y1 − a3x2y1 (242)

=1

(x1 − x2) (y1 − y2){(x1 − x2) (y1 − y2) u1 − x2y2 (u2 − u1) − x2y1 (u4 − u3)

−y1x1 (u2 − u3) − y1x2 (u4 − u1)

−x2y1 (u1 − u2 + u3 − u4)} (243)

=1

(x1 − x2) (y1 − y2){x1y1u2 − x1y2u2 − x2y1u2 + x2y2u2

x2y2u2 − x2y2u1 − x2y1u4 + x2y1u3

x1y1u2 − x1y1u3 − x2y1u4 + x2y1u1

x2y1u1 − x2y1u2 − x2y1u3 + x2y1u4} (244)

=x2y2u1 − x1y2u2 + x1y1u3 − x2y1u4

(x1 − x2) (y1 − y2)(245)

u = a0 + a1x + a2y + a3xyにa0, a1, a2を代入し,整理する.

48

u =1

(x1 − x2) (y1 − y2){x2y2u1 − x1y2u2 − x1y1u3 + x2y1u4

+xy2 (u2 − u1) − xy1 (u4 − u3)

+x2y (u4 − u1) − x1y (u2 − u3)

+xy (u1 − u2 + u3 − u4)} (246)

=1

(x1 − x2) (y1 − y2){(x2y2 − xy2 − x2y + xy) u1

(−x1y2 + xy2 + x1y + xy) u2

(x1y1 − xy1 − x1y + xy) u3

(−x2y1 + xy1 + x2y − xy) u4} (247)

=1

(x1 − x2) (y1 − y2){(x2 − x) (y2 − y) u1 + (x1 − x) (y − y2) u2

(x1 − x) (y1 − y) u3 + (x2 − x) (y − y1) u4} (248)

=x2 − x

x2 − x1· y2 − y

y2 − y1u1 +

x1 − x

x2 − x1· y2 − y

y2 − y1u2

x − x1

x2 − x1· y − y1

y2 − y1u3 +

x2 − x

x2 − x1· y − y1

y2 − y1u4 (249)

⎧⎪⎪⎨⎪⎪⎩X1 =

x2 − x

x2 − x1Y1 =

y2 − y

y2 − y1

X2 =x − x1

x2 − x1Y1 =

y − y1

y2 − y1(250)

とおくと

49

u = X1Y1u1 + X2Y1u2 + X2Y2u3 + X1Y2u4 (251)

50

アイソパラメトリック四辺形要素の例題 1

• アイソパラメトリック四角形 4 節点要素の要素剛性マトリックスは

[k] =

∫ 1

−1

∫ 1

−1

[B]T [D][B]t(det[J ])dr1dr2 ≈n∑

a=1

m∑b=1

WaWb[B]T [D][B]t(det[J ]) (252)

で与えられる。Gauss積分を用いる場合、経験的に十分な精度を保証するためには、サンプリング点は r1 = ±1/

√3, r2 = ±1/

√3 の 2 × 2 = 4 点 (その場合重みは Wa = Wb = 1(a, b = 1, 2)

)を用いる必要があるが、ここでは手計算が簡単になるように、1点の Gauss積分を行うことにする。具体的なサンプリング点は、r1 = r2 = 0 で、重みはWa = Wb = 2(a, b = 1) である。

下図の要素の要素剛性マトリックスを求めよ。ただし、板厚は t = 1 とし、Poisson 比 ν = 0

の平面応力を仮定する。

X1

X2

[1](0, 0) [2](1, 0)

[3](2, 1)[4](0, 1)

51

• まず、形状関数とその微分を示す。

N (1) =1

4(1 − r1)(1 − r2),

∂N (1)

∂r1= −1

4(1 − r2),

∂N (1)

∂r2= −1

4(1 − r1) (253)

N (2) =1

4(1 + r1)(1 − r2),

∂N (2)

∂r1=

1

4(1 − r2),

∂N (2)

∂r2= −1

4(1 + r1) (254)

N (3) =1

4(1 + r1)(1 + r2),

∂N (3)

∂r1=

1

4(1 + r2),

∂N (3)

∂r2=

1

4(1 + r1) (255)

N (4) =1

4(1 − r1)(1 + r2),

∂N (4)

∂r1= −1

4(1 + r2),

∂N (3)

∂r2=

1

4(1 − r1) (256)

• 座標の補間は以下のようになる。X1 = N (1)X

(1)1 + N (2)X

(2)1 + N (3)X

(3)1 + N (4)X

(4)1 (257)

X2 = N (1)X(1)2 + N (2)X

(2)2 + N (3)X

(3)2 + N (4)X

(4)2 (258)

この例題の節点座標の値を代入して整理すると

X1 = N (1)0 + N (2)1 + N (3)2 + N (4)0 (259)

=1

4(1 + r1)(1 − r2) +

1

2(1 + r1)(1 + r2) (260)

=1

4(1 + r1){(1 − r2) + 2(1 + r2)} (261)

=1

4(1 + r1)(3 + r2) (262)

上式を r1, r2 で微分する。∂X1

∂r1=

1

4(3 + r2),

∂X1

∂r2=

1

4(1 + r1) (263)

52

X2 についても同様

X2 = N (1)0 + N (2)0 + N (3)1 + N (4)1 (264)

=1

4(1 + r1)(1 + r2) +

1

4(1 − r1)(1 + r2) (265)

=1

4(1 + r2){(1 + r1) + (1 − r1)} (266)

=1

2(1 + r2) (267)

同様に r1, r2 で微分する。∂X2

∂r1= 0,

∂X2

∂r2=

1

2(268)

• 微分の連鎖側より⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

⎡⎢⎢⎣

∂X1

∂r1

∂X2

∂r1

∂X1

∂r2

∂X2

∂r2

⎤⎥⎥⎦⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

⎡⎢⎣

1

4(3 + r2) 0

1

4(1 + r1)

1

2

⎤⎥⎦⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(269)

ここで Gauss 積分のサンプリング点 r1 = r2 = 0 を代入すると⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=1

4

[3 0

1 2

]⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

, [J ]T =1

4

[3 0

1 2

](270)

det[J ]T =3

4· 2

4− 0 · 1

4=

3

8(271)

53

[J ]−T =1

det[J ]T· 1

4

[2 0

−1 3

]=

8

3· 1

4

[2 0

−1 3

]=

2

3

[2 0

−1 3

](272)

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

= [J ]−T

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=2

3

[2 0

−1 3

]⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(273)

• 変位の補間については、∂u1

∂r1=

∂r1

(N (1)u

(1)1 + N (2)u

(2)1 + N (3)u

(3)1 + N (4)u

(4)1

)(274)

=∂N (1)

∂r1u

(1)1 +

∂N (2)

∂r1u

(2)1 +

∂N (3)

∂r1u

(3)1 +

∂N (4)

∂r1u

(4)1 (275)

r1 = r2 = 0 を代入すると、∂u1

∂r1=

1

4

(−u(1) + u(2) + u(3) − u(4)

)(276)

同様に∂u1

∂r2=

1

4

(−u(1) − u(2) + u(3) + u(4)

)(277)

⎧⎪⎪⎨⎪⎪⎩

∂u1

∂X1

∂u1

∂X2

⎫⎪⎪⎬⎪⎪⎭ = [J ]−T

⎧⎪⎪⎨⎪⎪⎩

∂u1

∂r1

∂u1

∂r2

⎫⎪⎪⎬⎪⎪⎭ =

2

3

[2 0

−1 3

]·14

[−1 1 1 −1

−1 −1 1 1

]⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u(1)1

u(2)1

u(3)1

u(4)1

⎫⎪⎪⎪⎪⎬⎪⎪⎪⎪⎭

=1

6

[−2 2 2 −2

−2 −4 2 4

]⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u(1)1

u(2)1

u(3)1

u(4)1

⎫⎪⎪⎪⎪⎬⎪⎪⎪⎪⎭

(278)

54

同様に ⎧⎪⎪⎨⎪⎪⎩

∂u1

∂X1

∂u1

∂X2

⎫⎪⎪⎬⎪⎪⎭ =

1

6

[−2 2 2 −2

−2 −4 2 4

]⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u(1)2

u(2)2

u(3)2

u(4)2

⎫⎪⎪⎪⎪⎬⎪⎪⎪⎪⎭

(279)

以上を用いるとひずみは

⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

∂u1

∂X1

∂u2

∂X2

∂u1

∂X2+

∂u2

∂X1

⎫⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎭

=1

6

⎡⎢⎣−2 0 2 0 2 0 −2 0

0 −2 0 −4 0 2 0 4

−2 −2 −4 2 2 2 4 −2

⎤⎥⎦

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

u(1)1

u(1)2

u(2)1

u(2)2

u(3)1

u(3)2

u(4)1

u(4)2

⎫⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

(280)

ここで確認、ひずみは剛体回転では 0 になる。これを式で表すと、

u(1)1 = u

(2)1 = u

(3)1 = u

(4)1 = const. (281)

u(1)2 = u

(2)2 = u

(3)2 = u

(4)2 = const. (282)

のとき、ひずみは 0 ということで、これより、上記のマトリックスの各行を加えると 0 になるはずである。(確認済み)

55

nabe
ノート
\partiial u_2
nabe
ノート
変位

平面応力で ν = 0 のとき

[D] = E

⎡⎢⎣1

112

⎤⎥⎦ (283)

• 要素剛性マトリックス [k] は

[k] = W1 · W1 · t · det[J ] · [B]T [D][B] (284)

= 2 · 2 · 1 · 3

8· 1

6· E · 1

6

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

−2 0 −2

0 −2 −2

2 0 −4

0 −4 2

2 0 2

0 2 2

−2 0 4

0 4 −2

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎣

1

112

⎤⎥⎦⎡⎢⎣−2 0 2 0 2 0 −2 0

0 −2 0 −4 0 2 0 4

−2 −2 −4 2 2 2 4 −2

⎤⎥⎦ (285)

=E

24

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

−2 0 −1

0 −2 −1

2 0 −2

0 −4 1

2 0 1

0 2 1

−2 0 2

0 4 −1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎣−2 0 2 0 2 0 −2 0

0 −2 0 −4 0 2 0 4

−2 −2 −4 2 2 2 4 −2

⎤⎥⎦ =

E

24

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

6 2 0 −2 −6 −2 0 2

2 6 4 6 −2 −6 −4 −6

0 4 12 −4 0 −4 −12 4

−2 6 −4 18 2 −6 4 −18

−6 −2 0 2 6 2 0 −2

−2 −6 −4 −6 2 6 4 6

0 −4 −12 4 0 4 12 −4

2 −6 4 −18 −2 6 −4 18

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

(286)

56

正方形形状ならば解析的な積分も可能

• 数値計算のプログラムは、正しくコーディングできたか確認するのが困難。• 実際には、与えた外力に対して、正しい変位が得られるか否かを確認する程度。また、もしも剛性マトリックスは正しくコーディングできていたとしても、ファイルからのデータ読み込み、結果の表示、あるいは、与えるデータそのものが間違っているなど、他にバグがあると、初心者ではバグの切り分けが難しい。

• そこで、たとえ正方形形状であっても剛性マトリックスを解析的に積分した値がわかるならば、直接確認できて確実にバグをつぶすことができる。

• また、先ほどの例で示した 1 点積分とどのように違うかもあわせて確認する。

下図の要素の要素剛性マトリックスを求めよ。ただし、板厚は t = 1 とし、Poisson 比 ν = 0

の平面応力を仮定する。

X1

X2

[1](−1,−1) [2](1,−1)

[3](1, 1)[4](−1, 1)

57

• まず、形状関数とその微分を示す。

N (1) =1

4(1 − r1)(1 − r2),

∂N (1)

∂r1= −1

4(1 − r2),

∂N (1)

∂r2= −1

4(1 − r1) (287)

N (2) =1

4(1 + r1)(1 − r2),

∂N (2)

∂r1=

1

4(1 − r2),

∂N (2)

∂r2= −1

4(1 + r1) (288)

N (3) =1

4(1 + r1)(1 + r2),

∂N (3)

∂r1=

1

4(1 + r2),

∂N (3)

∂r2=

1

4(1 + r1) (289)

N (4) =1

4(1 − r1)(1 + r2),

∂N (4)

∂r1= −1

4(1 + r2),

∂N (3)

∂r2=

1

4(1 − r1) (290)

• 座標の補間は以下のようになる。X1 = N (1)X

(1)1 + N (2)X

(2)1 + N (3)X

(3)1 + N (4)X

(4)1 (291)

X2 = N (1)X(1)2 + N (2)X

(2)2 + N (3)X

(3)2 + N (4)X

(4)2 (292)

この例題の節点座標の値を代入して整理すると

X1 = N (1)(−1) + N (2)1 + N (3)1 + N (4)(−1) (293)

= −1

4(1 − r1)(1 − r2) +

1

4(1 + r1)(1 − r2) +

1

4(1 + r1)(1 + r2) − 1

4(1 − r1)(1 + r2) (294)

=1

4(1 − r2){−(1 − r1) + (1 + r1)} +

1

4(1 + r2){(1 + r1) − (1 − r1)} (295)

= r1 (296)

上式を r1, r2 で微分する。∂X1

∂r1= 1,

∂X1

∂r2= 0 (297)

58

X2 についても同様

X2 = N (1)(−1) + N (2)(−1) + N (3)1 + N (4)1 (298)

= −1

4(1 − r1)(1 − r2) − 1

4(1 + r1)(1 − r2) +

1

4(1 + r1)(1 + r2) +

1

4(1 − r1)(1 + r2) (299)

=1

4(1 − r2){−(1 − r1) − (1 + r1)} +

1

4(1 + r2){(1 + r1) + (1 − r1)} (300)

= r2 (301)

同様に r1, r2 で微分する。∂X2

∂r1= 0,

∂X2

∂r2= 1 (302)

• ちなみに、プログラムで ∂Xi∂rjを求めるときは、Xi を r1, r2 の関数で表して微分する、という

操作、特に、プログラム中で微分を求めるという操作が困難なので、このようにはできない。しかし、これ以降の要素剛性マトリックスの導出をみるとわかるように、アイソパラメトリック要素を使ったプログラムでは、座標の微分が必要になるだけで、座標そのものは使わない。そこで ∂N (n)

∂rjは ri, r2 で表すことができるので、下式に基づき計算する。

∂Xi

∂rj=

∂rj

(N (1)X

(1)i + N (2)X

(2)i + N (3)X

(3)i + N (4)X

(4)i

)(303)

=∂N (1)

∂rjX

(1)i +

∂N (2)

∂rjX

(2)i +

∂N (3)

∂riX

(3)j +

∂N (4)

∂riX

(4)j (304)

具体的には以下のように計算する。今回は定数になるが、一般的な場合で、数値積分を行う

59

ときは、∂Xi∂rjは数値で求められる。

∂X1

∂r1= −1

4(1 − r2)(−1) +

1

4(1 − r2)1 +

1

4(1 + r2)1 − 1

4(1 + r2)(−1) = 1 (305)

∂X1

∂r2= −1

4(1 − r1)(−1) − 1

4(1 + r1)1 +

1

4(1 + r1)1 +

1

4(1 − r1)(−1) = 0 (306)

∂X2

∂r1= −1

4(1 − r2)(−1) +

1

4(1 − r2)(−1) +

1

4(1 + r2)1 − 1

4(1 + r2)1 = 0 (307)

∂X2

∂r2= −1

4(1 − r1)(−1) − 1

4(1 + r1)(−1) +

1

4(1 + r1)1 +

1

4(1 − r1)1 = 1 (308)

• 微分の連鎖側より⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

⎡⎢⎢⎣

∂X1

∂r1

∂X2

∂r1

∂X1

∂r2

∂X2

∂r2

⎤⎥⎥⎦⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

[1 0

0 1

]⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(309)

今回は Gauss 積分のサンプリング点 r1 = r2 = 0 に関係せず、すなわち要素全体で⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

[1 0

0 1

]⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

, [J ]T =

[1 0

0 1

](310)

det[J ]T = 1 (311)

60

[J ]−T =

[1 0

0 1

](312)

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

= [J ]−T

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

[1 0

0 1

]⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(313)

• 変位の補間については、∂ui

∂rj=

∂rj

(N (1)u

(1)i + N (2)u

(2)i + N (3)u

(3)i + N (4)u

(4)i

)(314)

=∂N (1)

∂rju

(1)i +

∂N (2)

∂rju

(2)i +

∂N (3)

∂riu

(3)j +

∂N (4)

∂riu

(4)j (315)

具体的には

∂u1

∂r1= −1

4(1 − r2)u

(1) +1

4(1 − r2)u

(2) +1

4(1 + r2)u

(3) − 1

4(1 + r2)u

(4) (316)

∂u1

∂r2= −1

4(1 − r1)u

(1) − 1

4(1 + r1)u

(2) +1

4(1 + r1)u

(3) +1

4(1 − r1)u

(4) (317)

⎧⎪⎪⎨⎪⎪⎩

∂u1

∂X1

∂u1

∂X2

⎫⎪⎪⎬⎪⎪⎭ = [J ]−T

⎧⎪⎪⎨⎪⎪⎩

∂u1

∂r1

∂u1

∂r2

⎫⎪⎪⎬⎪⎪⎭ =

[−1

4(1 − r2)

14(1 − r2)

14(1 + r2) −1

4(1 + r2)

−14(1 − r1) −1

4(1 + r1)14(1 + r1)

14(1 − r1)

]⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u(1)1

u(2)1

u(3)1

u(4)1

⎫⎪⎪⎪⎪⎬⎪⎪⎪⎪⎭

(318)

61

u2 についても同様である。⎧⎪⎪⎨⎪⎪⎩

∂u2

∂X1

∂u2

∂X2

⎫⎪⎪⎬⎪⎪⎭ = [J ]−T

⎧⎪⎪⎨⎪⎪⎩

∂u1

∂r1

∂u1

∂r2

⎫⎪⎪⎬⎪⎪⎭ =

[−1

4(1 − r2)

14(1 − r2)

14(1 + r2) −1

4(1 + r2)

−14(1 − r1) −1

4(1 + r1)14(1 + r1)

14(1 − r1)

]⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u(1)2

u(2)2

u(3)2

u(4)2

⎫⎪⎪⎪⎪⎬⎪⎪⎪⎪⎭

(319)

以上を用いるとひずみは

⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩

∂u1

∂X1

∂u2

∂X2

∂u1

∂X2

+∂u2

∂X1

⎫⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎭

=

⎡⎢⎣−

14(1 − r2) 0 1

4(1 − r2) 0 1

4(1 + r2) 0 −1

4(1 + r2) 0

0 −14(1 − r1) 0 −1

4(1 + r1) 0 1

4(1 + r1) 0 1

4(1 − r1)

−14(1 − r1) −1

4(1 − r2) −1

4(1 + r1)

14(1 − r2)

14(1 + r1)

14(1 + r2)

14(1 − r1) −1

4(1 + r2)

⎤⎥⎦

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

u(1)1

u(1)2

u(2)1

u(2)2

u(3)1

u(3)2

u(4)1

u(4)2

⎫⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭(320)

ここで確認、ひずみは剛体回転では 0 になる。これを式で表すと、

u(1)1 = u

(2)1 = u

(3)1 = u

(4)1 = const. (321)

u(1)2 = u

(2)2 = u

(3)2 = u

(4)2 = const. (322)

のとき、ひずみは 0 ということで、これより、上記のマトリックスの各行を加えると 0 になるはずである。(確認済み)

62

平面応力で ν = 0 のとき

[D] = E

⎡⎢⎣1

112

⎤⎥⎦ (323)

• 要素剛性マトリックス [k]は以下の積分を実際に計算することで解析的に求めることができる。

[k] =

∫ 1

−1

∫ 1

−1

[B]T [D][B]t det[J ]dr1dr2 (324)

[B]T [D][B] = (325)

E14· 14· 12

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

−(1 − r2) 0 −(1 − r1)0 −(1 − r1) −(1 − r2)

(1 − r2) 0 −(1 + r1)0 −(1 + r1) (1 − r2)

(1 + r2) 0 (1 + r1)0 (1 + r1) (1 + r2)

−(1 + r2) 0 (1 − r1)0 (1 − r1) −(1 + r2)

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎡⎣2 0 00 2 00 0 1

⎤⎦⎡⎣−(1 − r2) 0 (1 − r2) 0 (1 + r2) 0 −(1 + r2) 0

0 −(1 − r1) 0 −(1 + r1) 0 (1 + r1) 0 (1 − r1)−(1 − r1) −(1 − r2) −(1 + r1) (1 − r2) (1 + r1) (1 + r2) (1 − r1) −(1 + r2)

⎤⎦

(326)

[k] のそれぞれの成分を計算する。例えば k11 であれば以下のようになる。他の項も同様に

63

計算できる。

k11 =1

32

∫ 1

−1

∫ 1

−1

2(1 − r2)2 + (1 − r1)

2dr1dr2 (327)

=1

32

∫ 1

−1

{∫ 1

−1

2(1 − r2)2dr2

}dr1 +

1

32

∫ 1

−1

{∫ 1

−1

(1 − r1)2dr1

}dr2 (328)

=1

32

∫ 1

−1

2

[r2 − r2

2 +1

3r32

]1

−1

dr1 +1

32

∫ 1

−1

[r1 − r2

1 +1

3r31

]1

−1

dr2 (329)

=1

32

{∫ 1

−1

2 · 8

3dr1 +

∫ 1

−1

8

3dr2

}(330)

=1

32

{2 · 2 · 8

3+ 2 · 8

3

}=

1

2(331)

被積分関数を k̄ij として、成分を列挙する。

k̄11 = 2(1 − r2)2 + (1 − r1)

2

k̄21 = (1 − r1)(1 − r2)

k̄31 = −2(1 − r2)2 + (1 − r2

1)

k̄41 = −(1 − r1)(1 − r2)

k̄51 = −2(1 − r22) − (1 − r2

1)

k̄61 = −(1 − r1)(1 + r2)

k̄71 = 2(1 − r22) − (1 − r1)

2

k̄81 = (1 − r1)(1 + r2)

k̄12 = (1 − r1)(1 − r2)

k̄22 = 2(1 − r1)2 + (1 − r2)

2

k̄32 = (1 + r1)(1 − r2)

k̄42 = 2(1 − r21) − (1 − r2)

2

k̄52 = −(1 + r1)(1 − r2)

k̄62 = −2(1 − r21) − (1 − r2

2)

k̄72 = −(1 − r1)(1 − r2)

k̄82 = −2(1 − r21) − (1 − r2

2)

64

k̄13 = −2(1 − r2)2 + (1 − r2

1)

k̄23 = (1 + r1)(1 − r2)

k̄33 = 2(1 − r2)2 + (1 + r1)

2

k̄43 = −(1 + r1)(1 − r2)

k̄53 = 2(1 − r22) − (1 + r1)

2

k̄63 = −(1 + r1)(1 + r2)

k̄73 = −2(1 − r22) − (1 − r2

1)

k̄83 = (1 + r1)(1 + r2)

k̄14 = −(1 − r1)(1 − r2)

k̄24 = 2(1 − r21) + (1 − r2

2)

k̄34 = −(1 + r1)(1 − r2)

k̄44 = 2(1 + r1)2 + (1 + r2)

2

k̄54 = (1 + r1)(1 − r2)

k̄64 = −2(1 + r21) + (1 − r2

2)

k̄74 = (1 − r1)(1 − r2)

k̄84 = −2(1 − r21) − (1 − r2

2)

k̄15 = −2(1 − r2)2 − (1 − r2

1)

k̄25 = −(1 + r1)(1 − r2)

k̄35 = 2(1 − r2)2 − (1 + r1)

2

k̄45 = (1 + r1)(1 − r2)

k̄55 = 2(1 + r2)2 + (1 + r1)

2

k̄65 = (1 + r1)(1 + r2)

k̄75 = −2(1 + r2)2 + (1 − r2

1)

k̄85 = −(1 + r1)(1 + r2)

k̄16 = −(1 − r1)(1 + r2)

k̄26 = −2(1 − r21) + (1 − r2)

2

k̄36 = −(1 + r1)(1 + r2)

k̄46 = −2(1 + r1)2 + (1 − r2

2)

k̄56 = (1 + r1)(1 + r2)

k̄66 = 2(1 + r21) + (1 + r2

2)

k̄76 = (1 − r1)(1 + r2)

k̄86 = 2(1 − r21) − (1 + r2)

2

65

k̄17 = 2(1 − r22) − (1 − r1)

2

k̄27 = −(1 − r1)(1 − r2)

k̄37 = −2(1 − r22) − (1 − r2

1)

k̄47 = (1 − r1)(1 − r2)

k̄57 = −2(1 + r2)2 + (1 − r2

1)

k̄67 = (1 − r1)(1 + r2)

k̄77 = 2(1 + r2)2 + (1 − r1)

2

k̄87 = −(1 − r1)(1 + r2)

k̄18 = (1 − r1)(1 + r2)

k̄28 = −2(1 − r1)2 + (1 − r2)

2

k̄38 = (1 + r1)(1 + r2)

k̄48 = −2(1 − r21) − (1 − r2

2)

k̄58 = −(1 + r1)(1 + r2)

k̄68 = 2(1 − r21) − (1 + r2

2)

k̄78 = −(1 − r1)(1 + r2)

k̄88 = 2(1 − r1)2 + (1 + r2)

2

これらを個別に積分すると要素剛性マトリックスは以下のよう得られる。

[k] =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

12

18

−14−1

8−1

4−1

80 1

818

12

18 0 −1

8 −14 −1

8 −14

−14

18

12

−18

0 −18−1

418

−18 0 −1

812

18 −1

418 −1

4

−14−1

80 1

812

18

−14−1

8

−18 −1

4 −18 −1

418

12

18 0

0 −18−1

418

−14

18

12

−18

18 −1

418 −1

4 −18 0 −1

812

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

(332)

これに対して、r1 = r2 = 0, W1 = 2 を下式に代入すると、以下のようになる。各成分はオー

66

ダーは一致するものの、多少差があることが確認できる。

[k] =

∫ 1

−1

∫ 1

−1

[B]T [D][B]t det[J ]dr1dr2  = W1W1[B]T [D][B]t det[J ] (333)

[k] =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

38

18

−18−1

8−3

8−1

818

18

18

38

18

18 −1

8 −38 −1

8 −18

−18

18

38

−18

18

−18−3

818

−18

18

−18

38

18

−18

18

−38

−38 −1

818

18

38

18 −1

8 −18

−18−3

8−1

8−1

818

38

18

18

18 −1

8 −38

18 −1

818

38 −1

818

−18

18

−38−1

818

−18

38

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

(334)

• では、この要素剛性マトリックスは、要素の拡大縮小、平行移動でどのような影響を受けるだろうか。

X1

X2

[1](−a,−a) [2](a,−a)

[3](a, a)[4](−a, a)

67

• 最初に計算するのは ∂Xi∂rjであるが、

∂Xi

∂rj=

∂rj

(N (1)X

(1)i + N (2)X

(2)i + N (3)X

(3)i + N (4)X

(4)i

)(335)

=∂N (1)

∂rjX

(1)i +

∂N (2)

∂rjX

(2)i +

∂N (3)

∂riX

(3)j +

∂N (4)

∂riX

(4)j (336)

に、今回の座標値を代入すると以下のようになる。

∂X1

∂r1= −1

4(1 − r2)(−a) +

1

4(1 − r2)a +

1

4(1 + r2)a − 1

4(1 + r2)(−a) = a (337)

∂X1

∂r2= −1

4(1 − r1)(−a) − 1

4(1 + r1)a +

1

4(1 + r1)a +

1

4(1 − r1)(−a) = 0 (338)

∂X2

∂r1= −1

4(1 − r2)(−a) +

1

4(1 − r2)(−a) +

1

4(1 + r2)a − 1

4(1 + r2)a = 0 (339)

∂X2

∂r2= −1

4(1 − r1)(−a) − 1

4(1 + r1)(−a) +

1

4(1 + r1)a +

1

4(1 − r1)a = a (340)

• 微分の連鎖側より⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

⎡⎢⎢⎣

∂X1

∂r1

∂X2

∂r1

∂X1

∂r2

∂X2

∂r2

⎤⎥⎥⎦⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

[a 0

0 a

]⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(341)

68

やはり Gauss 積分のサンプリング点 r1 = r2 = 0 に関係せず、すなわち要素全体で⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=

[a 0

0 a

]⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

, [J ]T =

[a 0

0 a

](342)

det[J ]T = a2 (343)

[J ]−1 =1

a

[1 0

0 1

](344)

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂X1

∂N (n)

∂X2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

= [J ]−T

⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

=1

a

[1 0

0 1

]⎧⎪⎪⎪⎨⎪⎪⎪⎩

∂N (n)

∂r1

∂N (n)

∂r2

⎫⎪⎪⎪⎬⎪⎪⎪⎭

(345)

変位を座標で微分する過程では、補間の式は同一

∂ui

∂rj=

∂rj

(N (1)u

(1)i + N (2)u

(2)i + N (3)u

(3)i + N (4)u

(4)i

)(346)

=∂N (1)

∂rju

(1)i +

∂N (2)

∂rju

(2)i +

∂N (3)

∂riu

(3)j +

∂N (4)

∂riu

(4)j (347)

69

具体的には

∂u1

∂r1= −1

4(1 − r2)u

(1) +1

4(1 − r2)u

(2) +1

4(1 + r2)u

(3) − 1

4(1 + r2)u

(4) (348)

∂u1

∂r2= −1

4(1 − r1)u

(1) − 1

4(1 + r1)u

(2) +1

4(1 + r1)u

(3) +1

4(1 − r1)u

(4) (349)

ri に関する微分を Xj に関する微分に変換する。⎧⎪⎪⎨⎪⎪⎩

∂u1

∂X1

∂u1

∂X2

⎫⎪⎪⎬⎪⎪⎭ = [J ]−T

⎧⎪⎪⎨⎪⎪⎩

∂u1

∂r1

∂u1

∂r2

⎫⎪⎪⎬⎪⎪⎭ =

1

a

[−1

4(1 − r2)

14(1 − r2)

14(1 + r2) −1

4(1 + r2)

−14(1 − r1) −1

4(1 + r1)14(1 + r1)

14(1 − r1)

]⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u(1)1

u(2)1

u(3)1

u(4)1

⎫⎪⎪⎪⎪⎬⎪⎪⎪⎪⎭

(350)

u2 についても同様である。⎧⎪⎪⎨⎪⎪⎩

∂u2

∂X1

∂u2

∂X2

⎫⎪⎪⎬⎪⎪⎭ = [J ]−T

⎧⎪⎪⎨⎪⎪⎩

∂u1

∂r1

∂u1

∂r2

⎫⎪⎪⎬⎪⎪⎭ =

1

a

[−1

4(1 − r2)14(1 − r2)

14(1 + r2) −1

4(1 + r2)

−14(1 − r1) −1

4(1 + r1)

14(1 + r1)

14(1 − r1)

]⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

u(1)2

u(2)2

u(3)2

u(4)2

⎫⎪⎪⎪⎪⎬⎪⎪⎪⎪⎭

(351)

これからわかるように、[B] マトリックスは、前回のものを [B̄] とすると、

[B] =1

a[B̄] (352)

となっている。

70

• ことき、要素剛性マトリックス [k] は以下のように元の要素剛性マトリックスと一致することがわかる。

[k] =

∫ 1

−1

∫ 1

−1

[B]T [D][B]t det[J ]dr1dr2 =

∫ 1

−1

∫ 1

−1

1

a[B̄]T [D]

1

a[B̄]ta2dr1dr2 =

∫ 1

−1

∫ 1

−1

[B̄]T [D][B̄]tdr1dr2

(353)

• これはさらに要素が平行移動した場合も同じで、• 最初に計算する ∂Xi

∂rjにおいて

∂Xi

∂rj=

∂rj

(N (1)X

(1)i + N (2)X

(2)i + N (3)X

(3)i + N (4)X

(4)i

)(354)

=∂N (1)

∂rjX

(1)i +

∂N (2)

∂rjX

(2)i +

∂N (3)

∂riX

(3)j +

∂N (4)

∂riX

(4)j (355)

に、[1](−a + c,−a + c), [2](a + c,−a + c), [3](a + c, a + c), [4](−a + c, a + c)を代入すると以下のようになり、平行移動には影響しないことがわかる。

∂X1

∂r1= −1

4(1 − r2)(−a + c) +

1

4(1 − r2)(a + c) +

1

4(1 + r2)(a + c) − 1

4(1 + r2)(−a + c) = a

(356)

∂X1

∂r2= −1

4(1 − r1)(−a + c) − 1

4(1 + r1)(a + c) +

1

4(1 + r1)(a + c) +

1

4(1 − r1)(−a + c) = 0

(357)

71

∂X2

∂r1= −1

4(1 − r2)(−a + c) +

1

4(1 − r2)(−a + c) +

1

4(1 + r2)(a + c) − 1

4(1 + r2)(a + c) = 0

(358)

∂X2

∂r2= −1

4(1 − r1)(−a + c) − 1

4(1 + r1)(−a + c) +

1

4(1 + r1)(a + c) +

1

4(1 − r1)(a + c) = a

(359)

したがって、これ以降の導出も影響を受けず、要素剛性マトリックスは一致することがわかる。

72

節点番号のつけ方を変えるとどうなるか

• これまでなんとなく、[p], [q], [s], [r] をこの順番に要素内の補間関数N (1), N (2), N (3), N (4) と対応させてきたが、これ以外の番号のつけ方をするとどうなるだろうか。

[p] [q]

[r] [s]

• 結論から先に言うと、要素剛性マトリックスが、行・列を入れ替えたものになるだけで、この入れ替わりも、最終的に全体剛性マトリックスに足し合わせる段階で解消する。

73