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

OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 富山富山県立大学中川慎二

N/A
N/A
Protected

Academic year: 2021

シェア "OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 富山富山県立大学中川慎二"

Copied!
48
0
0

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

全文

(1)

OpenFOAM(R)ソースコード入門pt1

熱伝導方程式の解法から有限体積

法の実装について考える

前編:有限体積法の基礎確認

2013/11/17 オープンCAE勉強会@富山

富山県立大学 中川慎二

(2)

* OpenFOAM のソースコードでは,基礎式を偏微分方程

式の形で記述する.OpenFOAM内部では,有限体積法

を使ってこの微分方程式を解いている.どのようにして,

有限体積法に基づく離散化が実現されているのか,最も

シンプルな拡散方程式(熱伝導方程式)の場合を例とし

て,実装方法を考えていく.

*まず,1次元熱伝導方程式を有限体積法によって離散

化し,手作業で解く.この過程で必要な式変形などを確

認する.

* 熱伝導方程式を解くソルバ "laplacianFoam" のソース

コードを見ながら,上記手作業で出てきた式が,どのよう

に使われている(コーディングされている)かを読み解く.

* 与えた偏微分方程式から行列が作られる過程を確認

する.しかし,行列の解法には踏み込まない.

(3)

シミュレーションの流れ

• 偏微分方程式

• 離散方程式

• 行列

• 解

有限体積法

係数列の計算

行列の解法

(4)
(5)

非定常熱伝導方程式(拡散方程式)

m

2

/s] 温度拡散率

熱伝導率

比熱

,密度

3

(6)

内部発熱なし

検査体積(Control Volume)に渡って積分

div Γ grad

0

(7)

非定常項

Euler implicit

T

の係数に追加

生成項に追加

(現時刻での温度とは

無関係)

(8)

拡散項

1次元とし,点P について考える.

Γ grad

Γ grad

Γ grad

_

Γ S grad

_

Γ

_

Γ

_

Γ

_

Γ

_

control volume界面での面積ベクトル

control volume界面での単位面積ベクトル

大きさ:1,方向:面に垂直

ベクトルの内積

_ _

スカラー値の積

_

が逆向きなので,負

control volumeの全ての界面での和

(9)

勾配について

検査体積面w における勾配

を,最も単

純に,点P と点W での値を線形近似して求める

(10)

項の整理

これまでのまとめ

T

P

, T

W

, T

E

,  についてまとめる.

Γ

Γ

0

Γ

Γ

Γ

Γ

Γ

Γ

(11)

式の整理 → 行列式

=

0

0

0

0

0

0

=

例.1次元,4CV

(12)
(13)

例題:1次元非定常熱伝導

T

cold

=100K

T

hot

=300K

銅丸棒(断面積

m

2

,長さ 0.4 m)

温度拡散率

m

2

/s

熱伝導率

比熱

,密度

内部発熱等なし S

T

=0

軸(x)方向の1次元熱伝導,両端温度固定

初期温度=低温側温度

div Γ grad

0

∆ =1000 s 後

(14)

棒全体を,4つの Control Volume に等分割する.

Control Volume(CV) の中心に,代表点を考える.

CVの長さは全長の4分の1 = 0.1 m.

代表点間の距離も,全長の4分の1 = 0.1 m.

(15)

作業手順

• 基礎式を離散化した式の係数を,各control 

volume に対して求める

– 境界(端)では,特別な処置が必要

• この係数を並べて,control volume 代表点で

の温度に関する連立方程式を得る

• この連立方程式を,行列式で表現する

• 行列式を解いて,温度分布を求める

(16)

内部 control volume CV2

今回は,断面積S,温度拡散率 も一定である.

CV3 についても同様.

1

2

3

4

T

cold

T

hot

12

23

Γ

Γ

Γ

10 10

0.1

10

Γ

Γ

Γ

10 10

0.1

10

10 10

1000

10

10 10

1000

10

∆ =1000 s とする

(17)

境界 control volume CV1

境界面(温度T

cold

)おける勾配

を,最も単純に,T

P

とT

cold

の値を線形近似して求める

Γ

Γ

0

Γ

0

Γ

Γ

0

Γ

_ _ _

Γ

0

Γ

Γ

_

(18)

境界 control volume CV1

境界面(温度T

cold

)おける勾配

を,最も単純に,T

P

とT

cold

の値

を線形近似して求める

Γ

Γ

0

Γ

0

Γ

Γ

0

Γ

_ _ _

Γ

10 10

0.1

10

0

10 10

1000

10

Γ

10 10

0.05

2 10

10 10

1000

10

Γ

10 10

0.05

= 2

10

_

(19)

境界 control volume CV4

境界面(温度T

hot

)おける勾配

を,最も単純に,T

P

T

hot

の値を線形近似して求める

Γ

Γ

0

0

Γ

Γ

0

Γ

Γ

_ _ _ _

0

Γ

10 10

0.1

10

10 10

1000

10

Γ

10 10

0.05

2 10

10 10

1000

10

Γ

10 10

0.05

= 2

10

(20)

これまでのまとめ(記入用)

C

V

_

Γ

Γ

_ _

1

2

3

4

_

(21)

これまでのまとめ

C

V

_

Γ

Γ

_ _

1 3.1

10

10

0

10

2 10

2 10

10

2

10

2 2.1

10

10

10

10

0

10

0

3 2.1

10

10

10

10

0

10

0

4 3.1

10

0

10

10

2 10

6 10

10

2

10

3.1 10

10

2 10

10

2.1 10

10

10

10

2.1 10

10

10

10

3.1 10

10

2 10

10

_

(22)

行列式(記入用)

(23)

式の整理 → 行列式

3.1

1

0

0

1 2.1

1

0

0

1 2.1

1

0

0

1 3.1

=

200

10

10

10

600

10

=

119

160

206

263

行列式を解く

=

3.1

2

0.1

2.1

0.1

2.1

0.1

3.1

2

0.1

=

125

175

225

275

初期条件 OLD

=

100

100

100

100

定常解

(24)

Maxima で解く場合

http://maxima.sourceforge.net/

/*  equations  */

eq1: [3.1*t1‐t2=210, ‐t1+2.1*t2‐t3=10, ‐t2+2.1*t3‐t4=10, ‐t3+3.1*t4=610];

/*  temperature  */

T : [t1,t2,t3,t4];

/* 係数行列の表示 */

Ab: augcoefmatrix(eq1, T);

/* 対角成分を1にしてみる */

echelon(Ab);

/* solve */

solve(eq1, T);

/* 解いた結果を小数点で表示する */

float( solve(eq1, T)),numer;

(25)
(26)

行列

=

0

0

0

0

0

0

=

_

_

_

_

• 偏微分方程式の各項から,これら行列に入る係

数が出てくる。

• 項毎に行列を作り,まとめることで,最終的に解

きたい行列式を作成する。

_

(27)
(28)
(29)
(30)

非定常熱伝導方程式(拡散方程式)

m

2

/s] 温度拡散率

熱伝導率

比熱

,密度

3

(31)

定常状態

検査体積(Control Volume)に渡って積分

div Γ grad

0

(32)

1次元とし,点P について考える.

Γ grad

Γ S grad

Γ S grad

Γ S

Γ S

(33)

勾配について

検査体積面w における勾配

を,最も単

純に,点P と点W での値を線形近似して求める

(34)

生成項の線形化

生成項が,温度の関数となる場合がある.

線形化

Γ

Γ

Γ

Γ

_

 

_

0

_

_

(35)

項の整理

これまでのまとめ

T

P

, T

W

, T

E

,  についてまとめる.

Γ

Γ

_

 

_

0

Γ

Γ

_

Γ

Γ

_

_

_

Γ

Γ

(36)

式の整理 → 行列式

=

_

_

_

_

_

0

0

0

0

0

0

=

_

_

_

_

例.1次元,4CV

(37)
(38)

例題:1次元定常熱伝導

T

cold

=100K

T

hot

=300K

銅丸棒(断面積

m

2

,長さ 0.4 m)

温度拡散率

m

2

/s

熱伝導率

比熱

,密度

内部発熱等なし S

T

=0

軸(x)方向の1次元熱伝導,両端温度固定

div Γ grad

Γ

0

(39)

棒全体を,4つの Control Volume に等分割する.

Control Volume(CV) の中心に,代表点を考える.

CVの長さは全長の4分の1 = 0.1 m.

(40)

作業手順

• 基礎式を離散化した式の係数を,各control 

volume に対して求める

– 境界(端)では,特別な処置が必要

• この係数を並べて,control volume 代表点で

の温度に関する連立方程式を得る

• この連立方程式を,行列式で表現する

• 行列式を解いて,温度分布を求める

(41)

内部 control volume CV2

今回は,断面積S,温度拡散率 も一定である.

CV3 についても同様.

1

2

3

4

T

cold

T

hot

12

23

Γ

Γ

10 10

0.1

10

Γ

Γ

10 10

0.1

10

(42)

境界 control volume CV1

境界面(温度T

cold

)おける勾配

を,最も単純に,T

P

とT

cold

の値を線形近似して求める

Γ

Γ

Γ

Γ

Γ

Γ

0

Γ

0

Γ

Γ

0

Γ

Γ

0

Γ

Γ

(43)

境界 control volume CV4

境界面(温度T

hot

)おける勾配

を,最も単純に,T

P

T

hot

の値を線形近似して求める

Γ

Γ

Γ

Γ

Γ

Γ

0

0

Γ

Γ

0

Γ

Γ

0

10

2 10

3 10

0

Γ

Γ

10 10

0.1

10

Γ

10 10

0.05

2 10

Γ

2 10

(44)

これまでのまとめ(記入用)

CV

Γ

Γ

1

2

3

4

(45)

これまでのまとめ

CV

Γ

Γ

1

3 10

10

0

2 10

2 10

2 10

2

2 10

10

10

0

0

3

2 10

10

10

0

0

4

3 10

0

10

2 10

6 10

2 10

3 10

10

2 10

2 10

10

10

2 10

10

10

3 10

10

2 10

(46)

行列式(記入用)

(47)

式の整理 → 行列式

3

2

2

2

3

2

3

1

0

0

1

2

1

0

0

1

2

1

0

0

1

3

=

2

0

0

2

=

125

175

225

275

行列式を解く

=

(48)

Maxima で解く場合

http://maxima.sourceforge.net/

/*  equations  */

eq1: [3*t1‐t2=200, ‐t1+2*t2‐t3=0, ‐t2+2*t3‐t4=0, ‐t3+3*t4=600];

/*  temperature  */

T : [t1,t2,t3,t4];

/* 係数行列の表示 */

Ab: augcoefmatrix(eq1, T);

/* 対角成分を1にしてみる */

echelon(Ab);

/* solve */

solve(eq1, T);

/* 解いた結果を小数点で表示する */

float( solve(eq1, T)),numer;

参照

関連したドキュメント

化 を行 っている.ま た, 遠 田3は変位 の微小増分 を考慮 したつ り合 い条件式 か ら薄 肉開断面 曲線 ば りの基礎微分 方程式 を導 いている.さ らに, 薄木 ら4,7は

38  例えば、 2011

Maurer )は,ゴルダンと私が以前 に証明した不変式論の有限性定理を,普通の不変式論

累積誤差の無い上限と 下限を設ける あいまいな変化点を除 外し、要求される平面 部分で管理を行う 出来形計測の評価範

Maurer )は,ゴルダンと私が以前 に証明した不変式論の有限性定理を,普通の不変式論

方式で 45 ~ 55 %、積上げ方式で 35 ~ 45% 又は純費用方式で 35 ~ 45 %)の選択制 (※一部例外を除く)

NPO 法人の理事は、法律上は、それぞれ単独で法人を代表する権限を有することが原則とされていますの で、法人が定款において代表権を制限していない場合には、理事全員が組合等登記令第

2 解析手法 2.1 解析手法の概要 本研究で用いる個別要素法は計算負担が大きく,山