有限要素法入門comfos.org/jp/fracture/notes/fem.pdfmicrosoft word - fem author ohtsuka created...

23
大塚 厚二 広島国際学院大学 情報学部 有限要素法入門

Upload: vohanh

Post on 15-Apr-2018

225 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

大塚 厚二

広島国際学院大学 情報学部

有限要素法入門

Page 2: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

三角形分割 領域の閉包が三角形の集合 J

jj 1K で,次の性質(T1)~

(T3)をもつとき,集合 , ,h j j 1 JT K

が領域の三角形分割

(T1) ,i j hK K T に対して,i j ならば i jK K は,空集合か,

三角形の辺の全体か,または 1 点となる。

(T2) 境界 上の折れ曲がり点は,三角形 hK T の頂点 (T3) max diam

hK T0 h K 。ここで, diam K は,三角形

hK T の辺の最大長。

Page 3: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

FreeFem++による生成例�

領域が単位円盤

border C(t=0,2) { x=cos(t); y=sin(t); }; mesh Th = buildmesh(a(50));

とすると,次図の三角形分割が生成される。

Page 4: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

三角形分割のデータ構造�

border C(t=0,2*pi){ x = cos(t); y = sin(t)};

mesh Th = buildmesh(C(10));

赤色: 節点(vertex)番号

青色: 要素(element)番号

円周上に 10 個

,

j

, ,...,

x =cos , ,

=sin ,

j j

j

x y j 0 10

0 2j

y 0 2j

内部へ Delaunay 分割

Page 5: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

領域の定義�

領域の境界 Jjj 1 : j は区分的に滑らかな曲線

, ,, : , ,j 1j 2 j j jx y x t y t a t b

各 j は反時計回りに向き付けられている。穴を開けるときは,

border a(t=0,pi*2){ x = 3*cos(t); y = 2*sin(t)}; //楕円 border b(t=0,2*pi){ x = cos(t); y = sin(t) }; // 内側円 mesh D2 = buildmesh(a(80) + b(-40)) ; // b の方向逆転

Page 6: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

有限要素空間(Finite Element Space) 領域,その三角形分割 , ,h k k 1 M

T T が与えられている。

nkP T : kT 上の n 次多項式の造る集合

FreeFem++は命令

fespace , nh hV PT ;

で n 次多項式連続要素を生成する。

, : ,n 0h h h 1 1 D D iV P v C v v v v T

ここで,各 k hT T に対し k

ni kT

P T で,添え字Dは,次数 n

によって変化する自由度(Degree of Freedom)を表す。

Page 7: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

, 1h hV PT 線形近似空間(1次)�

, , ,kvq k 1 n :節点で,nv を節点の総数。D= nv

要素関数は, kj ikq を満たす。

1.00

1.00

1.003

6

1

11

14

11

図 1 hT =buildmesh(C(10)) での 4 の形

Page 8: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

要素関数の作成方法�

要素関数の作成では,面積座標(重心座標)を使う。

1kq 2kq

3kq

A3

A1A2

L3=0

L1=0L2=0

P

三角形要素 kT 内点 , ,1 2 3P P L L L の面積座標は,

, ,1 1 2 2 3 3L A A L A A L A A

, , ,1 2 3A A A A はそれぞれ全体,3つに分割された三角形の面積

Page 9: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

,

, ,i i i i

i j k k j i j k i j k

L x y a b x c y

a x y x y D b y y D c x x D

ここで ,x y は点 , , ,kq 12 3 の座標で, , ,i j k は , ,12 3 の偶置

換 , , , , , , , , , , , , , ,i j k 12 3 i j k 2 3 1 i j k 3 12 を示し,

1 1

2 2

3 3

1 x y

D 2A 1 x y

1 x y

Page 10: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

一次連続要素関数�Vh(Th,P1)

qi

TkTk

n ikiq q

, , otherwise

,

in ik

n i n i n i n i

i kq T

k k k k k

1x y L x y 0

2S

L x y D a b x c y

S は節点 iq を含む三角形の面積の総和。

Page 11: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

2次 Lagrange�要素 Vh(Th,P2)

Tk Tk

1kq

2kq

3kq

6kq

4kq5kq

qi qj

, ,

, , , otherwise

, , , otherwise

in i n ik

jk

i k kq T

j k lq T j k l

1x y L x y 2L x y 1 0

2S

2x y L x y L x y 0

S

,S Sはそれぞれ,節点 iq ,中点 jqを含む三角形の面積の総和。

Page 12: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

不連続要素 ,h hV P0T : 各三角形要素 kT に対し,

if ; if k k k kx 1 x T x x x T

,h hV P1ncT : 各三角形要素 kT に対し,

, ,

otherwise

in ik

i k kq T

1x y D L x y

2S

0

,

n j n j 1

j

k k

i ij jq q

m m2

Tk

3mq

1mq2mq

Page 13: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

有限要素空間への射影�

: 関数 ,f x y の有限要素空間 hV への射影

P0:

, , ,1 2 3

tk k k

n

k k kk 1

f q f q f qf x y f x y f

3

P1nc: , , ,vn

i i i ii 1

f x y f x y f f m

P1: , , ,vn

ii i i

i 1

f x y f x y f f q

P2: , , , , ,v vn n

i ii i j j i j

i 1 j 1

f x y f x y f x y f f q f f m

Page 14: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

Poisson�方程式�

弱形式

u v fv

の左辺に未知関数v vh 1 1 n nu u u , iu を,右辺に

j を代入すると,連立方程式

vn

i i j ji 1

u f

を得る。 ,l lhu q 0 q とするため

if or ,

if ,

ii j

ji1 i

i j i jqA

i jq

Page 15: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

, if ll l ij j l l

l j

u F A u 0 F f q

こ の 方 法 の 利 点 は , 非 斉 次 問 題 u g on で も

, , 1 ll l ij j l l l l l

l j

u F A u g F F g g g q

のように簡単な修正で解くことが出来る。

varf a(u,v) = int2d(Th)(dx(u)*dx(v) + dy(u)*dy(v)) + on(,u=0);

matrix A = a(Vh,Vh); // Stiffness matrix varf b(v,f)= int2d(Th)(v*f); matrix B = b(Vh,Vh); Vh F; F[] = B*f[]; u[] = A^-1*F[];

Page 16: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

フィルム(薄膜)のシミュレーション�

border ball(t=0,2*pi){ x = 125*cos(t); y = 125*sin(t); }; border bottle(t=0,2*pi) { x=27.5*cos(t); y=27.5*sin(t); } mesh Th = buildmesh(ball(50)+bottle(50)); fespace Vh(Th,P1); fespace Ph(Th,P0); Ph reg=region; Ph f=(0.3/(pi*27.5^2))*(region==reg(0.,0.)); real G = 0.01; Vh u,v; problem antiPlane(u,v) = int2d(Th)( G*(dx(u)*dx(v) + dy(u)*dy(v)) ) - int2d(Th)( -f*v ) + on(ball,u=0) ;

Page 17: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

antiPlane; // 問題はここで,解かれる。

plot (u,value=true,wait=1);

横せん断係数 G が 10gf/mm2 のとき,10mm の沈み。

Page 18: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

境界条件�u=g�とした剛性行列による解�

Vh u,v,ff, bc,g=1; varf a(u,v) = int2d(Th)( G*(dx(u)*dx(v) + dy(u)*dy(v)) ) + on(1,u=1) ; varf b(v,ff) = int2d(Th)(v*ff); matrix A = a(Vh,Vh); matrix B = b(Vh,Vh); ff = -f; Vh F; F[] = B*ff[]; bc[] = a(0,Vh); // [] , if else 1 j

j jbc bc bc q 0

F[] = F[] + bc[].*g[]; // if 1 ll l lF F g q

// bc[].*g[] j jbc g 成分同士の積

u[] = A^-1*F[];

Page 19: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

正則な三角形分割列�

(1) lim max diam ;k k hh 0

T T 0

T

ここで,diam kT は,三角形の辺の最大長。

(2) ある定数 0 が存在し

,diam

kk h

k

TT h

T

T

ここで, kT は三角形に内接する円の直径。

Page 20: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

Ceaの補題�

aを強圧的連続双 1 次形式とする。このとき,

infh h

h hv V

Mu u 1 u v

(田端 p.54,次は p.62 系 2.5)

正則な三角形分割の列 hT に対し,有限要素空間 , kh hV PT ,

d2

k 1 を考える。このとき,任意の ,k 12v W に対し,hに依

存しない定数c 0 が存在し,次が成り立つ。

(1.1) , , , , ,k 1 sh s 2 k 12

v v ch v s 0 1

Poisson 方程式の 1 次要素近似 , , , ,h 12 2 2u u ch u

Page 21: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

が凸領域なら, ,2 2u W だが,凹んでいるときは駄目。

補完空間 , ,, ,12 2 2W W 0 1

, ,, , ,

, : ,12 2 2W W 2

1 22

12

0v W v t K t v dt

で定義する。このとき,

, , ,, ,12 2 2 s 2W W W s 1 1 2

作用素 :h hE u u u は,

,, ,, ,, 2 212 2 12 2h hW L W W L0 0

E 1 E ch

L L

Page 22: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

よって,補完定理から

, , , ,12 s 1 20

s 1h W W LE ch s 1

L

角 j なら特異項 , ,j j1 2r W 0 1

となるので,Dirichlet 境界なら

, , , , , max ,h j12 0 2u u ch f 0 1

Poisson 方程式で hf u u ,弱解をwとすると(Aubin-Nitsche)

, ,

, , , ,

h h0 2

h h

h 0 2 0 2

u u w u u

w w u u

ch w w ch f

Page 23: 有限要素法入門comfos.org/jp/fracture/notes/FEM.pdfMicrosoft Word - FEM Author ohtsuka Created Date 3/24/2012 5:34:00 PM

Adaptive�mesh�法�

, , , , , , k

1 22

h h k12 12 2 2 Tk

u u u u C h u

三角形要素 kT について, minkk x T jd x とすると

j jk

k

2 2 2 2 1di j kT 0u C r rdr C d

となる。そこで, k kh d のとき j1k 0 kh C hd

とすれば,

, ,h 12u u Ch

となる。これは, k の近くでメッシュの細分になる。