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

OpenFOAM による熱移動と流れの数値解析 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです.

N/A
N/A
Protected

Academic year: 2021

シェア "OpenFOAM による熱移動と流れの数値解析 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです."

Copied!
30
0
0

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

全文

(1)
(2)

「OpenFOAM による熱移動と流

れの数値解析」

サンプルページ

この本の定価・判型などは,以下の URL からご覧いただけます.

http://www.morikita.co.jp/books/mid/069101

※このサンプルページの内容は,初版 1 刷発行時のものです.

(3)

“OpenFOAMR”はソフトウェアの開発・配布元である OpenCFD 社の登 録商標です. 本書は ,OpenFOAM ソフトウェアの開発・配布元であり,OpenFOAMR および OpenCFDRの商標権をもつ OpenCFD 社によって公認されたもので はありません . なお,本文にはマークは明記しておりません.R

OPENFOAMR is a registered trade mark of OpenCFD Limited, pro-ducer and distributor of the OpenFOAM software.

This offering is not approved or endorsed by OpenCFD Limited, pro-ducer and distributor of the OpenFOAM software and owner of the OPENFOAMRand OpenCFDR trade marks.

(4)

i

まえがき

本書は ,OpenFOAM

による数値流体解析の入門書である.読者として ,以下のよ

うな方々を想定している.

1. OpenFOAM

を研究に活用したい学生や研究者

2. OpenFOAM

の利用により,数値流体力学に対する理解を深めたいエンジニア

3. OpenFOAM

を設計などの実務に活用したいエンジニア

4.

利用している商用ソフトを

OpenFOAM

で置き換えたいエンジニア

ただし ,上記

3

4

については ,

OpenFOAM

を用いることが適当でない場合も考え

られる.これらに該当する読者の方々は ,第

1

章の情報を参考にして ,OpenFOAM

を用いることが適当かど うか各自ご判断いただきたい.

本書は ,OpenFOAM

の初心者・入門者を対象としているが ,

「初心者」と一口に

言っても,以下のようなケースが考えられる.

• Linux

の初心者

• OpenFOAM

の初心者

数値流体力学の初心者

本書では基本的に ,

Linux

の初心者は対象としない.一応,付録

B

Linux

環境

の利用方法について簡単に述べてはいるが ,これで不十分と感じる場合は他書で補っ

てほしい.

OpenFOAM

の初心者は当然本書の対象であるが ,ユーザーガ イド のチュートリア

ルを一度でも実行していることが望ましい.ただし ,ユーザーガ イド を読了している

必要はない.本書とユーザーガ イド を併用していただければよいだろう.

数値流体力学の初心者についても本書でカバーしたいところであるが ,

OpenFOAM

が前提としている数値流体力学の知識が高度であるため ,初心者では理解が難しい部

分が多々あることが予想される.基本的な部分は他書で補っていただきたい.たとえ

ば ,パタンカーによる本

[19]

Versteeg

らによる本

[17]

がお勧めである.

本書の内容は ,標準ソルバーを利用した熱流体解析の範囲に限る.クラスライブラ

リを用いたソルバーの開発などの話題は扱わない.内容は第

2

4

章の実践編,第

5

章の理論編に分けられる.基本的には実践編を中心に活用いただき,理論編は必要に

応じて参照していただければよいと思う.なお,参照すべき部分がある場合には節や

項の最初に参照先を示しており,実践編と理論編間で相互に参照可能としているので

(5)

ii

まえがき

活用されたい.

2

章では,

OpenFOAM

の概要を述べている.実際に実行しながら,

OpenFOAM

について大づかみしていただくことを目的としている.

3

章では ,解析に必要なメッシュのつくり方について述べている.メッシュをつ

くるには解析対象の形状の作成が必要な場合があるが ,それについては付録

D

で説明

している.

4

章では ,

OpenFOAM

で熱流体解析を行うための設定についての詳細と ,ミキ

シングエルボーを対象とした熱流動解析例を示している.

5

章では ,

OpenFOAM

をよりよく理解するための数値流体力学の知識を概説し

ている.上述のとおり,内容が数値流体力学の初心者向けとは言えないため ,数値流

体力学の初心者の方は必要に応じてゆっくり理解していっていただければよいと思う.

付録

A

では,

OpenFOAM

の利用環境の一つとして,

DEXCS2015 for OpenFOAM

のインストール手順を説明している.

付録

B

では ,Linux

初心者向けに

Linux

環境の利用方法についてごく簡単に述べ

ている.

付録

C

では ,

OpenFOAM

のポスト処理

(結果処理)

ソフトとして標準で採用され

ている

ParaView

の利用法について簡単に紹介している.

付録

D

では ,メッシュをつくるために必要になる形状を

FreeCAD

により作成す

る手順を示している.

本書の内容の実行環境としては ,OpenFOAM

ParaView,

FreeCAD

などの関

連ツールが動作しさえすればどんな環境でもかまわない.

OpenFOAM

のバージョン

2.4.0

を想定している.また ,脚注にてバージョン

3.0.x (x

0

または

1)

での変

更点を適宜記す.

本書を用いた学習の手順としては ,

Linux

初心者には付録

B

「Linux

入門」や他

書,

Web

上の情報などで

Linux

について勉強していただいたとして ,まず ,第

2

「OpenFOAM

の概要」やユーザーガ イド のチュートリアルで基本的な操作を体験し

た後,いったん付録

C

「ParaView

入門」に移って ,ある程度

ParaView

による結

果の処理に慣れていただくとよいかもしれない.続いて ,第

3

章および付録

D

によ

るメッシュの作成,第

4

章,と進んでいただいたらよいだろう

(次頁の図を参照).

本書はいわゆる「ハウツー本」ではないため ,実際の操作で戸惑うところがあると

考えられる.その場合,

「初心者」

(上述した複数の意味での)

が戸惑いやすいポイント

としては ,

OpenFOAM

の設定や操作だけでなく,

Linux

ParaView

の操作につい

てである場合も少なくない.したがって,Linux

ParaView

の操作の基本をまずは

押さえていただくのがよいと思う.

(6)

まえがき

iii

最後に ,本書の執筆にあたりオープン

CAE

学会の元理事である株式会社荏原製作

所の大渕真志氏と株式会社

IHI

の石津陽平氏には多くの貢献と緻密な助言をしていた

だいた .ここに深く感謝する.また ,本書籍出版の機会を与えてくださった森北出版

のみなさま,とくに ,辛抱強く編集・校正作業を遂行くださった塚田真弓氏と藤原祐

介氏に厚くお礼申し上げる.

学習の手順

執筆者

春日  

悠:全体

今野  

雅(株式会社

OCAEL)

:第

2,3

章部分,編注

オープンCAE学会編集担当

今野  

雅(株式会社

OCAEL)

高木洋平(大阪大学)

中川慎二(富山県立大学)

野村悦治(OCSEˆ2)

山本卓也(大阪大学)

(7)

iv

目  次

1

章 はじめに

1

1.1

OpenFOAM

とは何か

1

1.2

OpenFOAM

で何ができるか

2

1.3

OpenFOAM

を利用するために必要な知識

2

1.4

オープンソースソフトウェアについて

3

1.5

OpenFOAM

の利用環境

4

1.6

OpenFOAM

の入手先

4

1.7

まず何から始めるべきか

5

実践編

2

OpenFOAM

の概要

8

2.1

OpenFOAM

の構成

8

2.2

計算の手順

12

2.3

計算条件の設定

14

2.4

チュートリアルケースの実行

21

2.5

ミキシングエルボーの熱流動解析チュートリアル

24

3

メッシュの作成

33

3.1

OpenFOAM

用メッシュの作成

33

3.2

blockMesh

によるメッシュの作成

36

3.3

snappyHexMesh

によるメッシュの作成

42

3.4

不要な境界の除去

55

3.5

メッシュのチェック

56

3.6

スケールの変換

57

3.7

メッシュの番号付け

57

4

OpenFOAM

による熱流体解析

59

4.1

新しいケースの作成

59

4.2

物性値の設定

59

4.3

重力の設定

65

4.4

乱流モデルの設定

66

4.5

境界条件の設定

70

4.6

離散化スキームの設定

80

4.7

代数方程式ソルバーの設定

88

(8)

目   次

v

4.8

圧力

速度連成手法の設定

93

4.9

計算の制御

97

4.10

初期値の設定

101

4.11

ソルバーの実行

102

4.12

計算の確認と計算結果の処理

104

4.13

ケースのクリア

108

4.14

ミキシングエルボーの熱流動解析の設定

109

理論編

5

OpenFOAM

のための数値流体力学入門

128

5.1

熱流体の支配方程式

128

5.2

境界条件

132

5.3

有限体積法による離散化

133

5.4

圧力

速度連成

135

5.5

代数方程式の解法

138

5.6

離散化スキーム

140

5.7

乱流モデル

150

付  

付録

A

DEXCS2015 for OpenFOAM

のインスト ール

166

A.1

はじめに

166

A.2

必要なもの

166

A.3

VirtualBox

のインストール

166

A.4

仮想マシンの準備

166

A.5

DEXCS2015 for OpenFOAM

のインストール

170

A.6

DEXCS

のセットアップ

176

A.7

OpenFOAM

の利用

177

A.8

ファイルの共有

177

付録

B

Linux

入門

179

B.1

はじめに

179

B.2

Linux

の基本

179

B.3

端末の起動

181

B.4

コマンド の実行

182

B.5

特殊な文字

182

B.6

キーバインド

184

B.7

コマンド の補完

185

B.8

コマンド 履歴

185

(9)

vi

目   次

B.9

変数と環境変数

185

B.10

設定ファイル

187

B.11

コマンド 集

187

B.12

Linux

の強制終了

196

付録

C

ParaView

入門

197

C.1

はじめに

197

C.2

データを開く

197

C.3

ParaView

の概念

197

C.4

モデルの表示

199

C.5

特徴線の表示

200

C.6

任意の境界だけを表示する

200

C.7

セル値・節点値の作成

200

C.8

値の分布の表示

201

C.9

流線の表示

202

C.10

ベクトルの表示

202

C.11

スライス

203

C.12

クリップ

203

C.13

等値面の表示

204

C.14

値が任意の範囲にあるセルだけを表示

204

C.15

任意の式による値の表示

204

C.16

任意の位置の数値の取得

205

C.17

グラフの表示

206

C.18

値の積分

206

C.19

画面を画像として保存する

207

C.20

アニメーション

207

C.21

表示の設定の保存と読み込み

207

C.22

もっと学ぶために

207

付録

D

FreeCAD

による形状の作成

208

D.1

はじめに

208

D.2

FreeCAD

入門

208

D.3

モデルの作成

213

D.4

境界の設定

216

参考文献

218

索   

220

(10)

1

1 章

はじめに

1.1 OpenFOAM

とは何か

オ ー プ ン

Open

FOAM (Open source Field Operation And Manipulation

フ ォ ー ム

の略)

とは,

GNU

General Public License (GPL)

のもとで公開されているオープンソースの数値流体

力学

(Computational Fluid Dynamics: CFD)

ツールボックスである.オブジェク

ト指向プログラミング言語

C++

で開発された偏微分方程式ソルバー開発用のクラス

ライブラリであり,C++

のシンタックスをフルに活用して ,高い記述性と拡張性を

実現している.たとえば ,スカラー輸送方程式を解くコードは次のように記述できる.

solve ( fvm::ddt(T) + fvm::div(phi, T) - fvm::laplacian(DT, T) );

このように ,数値流体力学の知識があれば意味が想像できるような表現で場

(field)

の方程式のソルバーを記述できるのが特徴である.

また ,

OpenFOAM

は上述のクラスライブラリを利用して書かれた標準ソルバーや

ツールを多数備えている.標準ソルバーの中には ,問題によってはすぐに実用可能な

レベルのものも含まれる.

OpenFOAM

は流体解析ソルバーとして注目を集めているが ,

OpenFOAM

自体は

流体解析ソルバーではなく,有限体積法を中心とする偏微分方程式ソルバー開発用の

クラスライブラリと ,それによってつくられたいくつかのソルバーおよびツール群で

ある.自分の問題に利用するときは ,一般の商用ソルバーのように必要な機能を有効

にするスイッチを押すのではなく,必要な機能をもつソルバーを標準ソルバーの中か

ら選択して利用する.適当な機能を備えたソルバーを標準ソルバーの中に見つけられ

ない場合は ,自分でソルバーを開発する必要がある.ある意味何でもできるが ,それ

なりの知識と時間,場合によってはお金が必要になる.

(11)

2

第 1 章 はじめに

もともと英国

Imperial College

で開発されたものを

Nabla

社が

“FOAM”

という

名で販売していたものが ,

2004

年に

OpenCFD

社から

“OpenFOAM”

としてオー

プンソースで公開された.2011

8

月,

OpenCFD

社は

Silicon Graphics

(SGI)

に買収されたが ,

OpenFOAM

は非営利団体

OpenFOAM Foundation

から引き続き

オープンソースとして公開されることになった .2012

9

月,

OpenCFD

社はさら

ESI Group

に買収された .“OpenFOAM”

OpenCFD

社の商標登録である.

1.2 OpenFOAM

で何ができるか

標準ソルバーの範囲では ,以下のようなことができる.

非圧縮性流体の定常/非定常乱流解析

圧縮性流体の定常/非定常熱対流解析

流体・固体伝熱

(CHT)

解析

混相流解析

(界面追跡法/多流体モデル)

その他,あまり一般的でない燃焼モデルを使った燃焼解析ソルバーや,遷音速・超音

速を含む圧縮性流体ソルバーなど もある.粒子計算も一応可能だが ,いまのところ一

部の特殊なソルバーが対応しているのみである.また ,商用ソルバーと比べると ,標

準ソルバーは一般に計算の収束性が悪く,メッシュ品質に対するロバスト性も弱いた

め ,計算を成功させること自体が難しい場合が少なくない.

1.3 OpenFOAM

を利用するために必要な知識

OpenFOAM

を利用するには ,次のような知識が必要である.

• Linux

の利用に関する知識

数値流体力学に関する知識

プログラミング言語

C++

によるプログラミングの知識

OpenFOAM

は基本的に ,オープンソースの

OS

である

リナックス

Linux

上で動作する.そ

のため ,Linux

の利用についてある程度慣れている必要がある.また ,かなり専門的

な数値流体力学の知識が前提とされている.プログラミング言語

C++

については ,

標準ソルバーをカスタマイズしたり,自分専用のソルバーを開発する場合には必要と

なる.

(12)

59

4 章

OpenFOAM による熱流体解析

本章では ,

OpenFOAM

による熱流体解析のためのケースの設定方法について説明

する.第

2

章ではチュートリアルケースを用いて概要を簡単に説明したが ,本章では

実際の解析における設定方法などを詳しく述べる.ひととおり設定項目について説明

した後,ミキシングエルボー解析の設定例を示す.

4.1

新しいケースの作成

新規でケースを作成する場合,ケースディレクトリを自分でつくるのは大変なので ,

ふつうは使用するソルバー,あるいはそれに近いソルバーのチュートリアルケースを

コピーし ,それを修正してケースを作成する.

チュートリアルのデ ィレクトリのパスは

$FOAM TUTORIALS

で参照できる.また ,

コマンド で

“tut”

と打つと ,チュートリアルのデ ィレクトリに移動できる.









$ tut

4.2

物性値の設定

4.2.1

非圧縮性流体ソルバーの物性値の設定

5.1.1

(p.128),5.1.3

(p.128)

simpleFoam

などの非圧縮性流体ソルバーの場合,物性値は

constant

デ ィレクト

リの

transportProperties

で設定する.

constant/transportProperties FoamFile { version 2.0; format ascii; class dictionary; location "constant";

(13)

60

第 4 章 OpenFOAM による熱流体解析 object transportProperties; }   transportModel Newtonian;   nu nu [ 0 2 -1 0 0 0 0 ] 1e-05;   CrossPowerLawCoeffs {

nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; m m [ 0 0 1 0 0 0 0 ] 1; n n [ 0 0 0 0 0 0 0 ] 1; }   BirdCarreauCoeffs {

nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; k k [ 0 0 1 0 0 0 0 ] 0; n n [ 0 0 0 0 0 0 0 ] 1; }

transportModel

では ,物性の種類を設定する.以下のようなものが指定できる.

• Newtonian

• powerLaw

• BirdCarreau

• CrossPowerLaw

• HerschelBulkley

ニュートン流体

(Newtonian)

と非ニュートン流体

(Newtonian

以外)

を選ぶことが

でき,それぞれ設定方法が異なる.ここでは

Newtonian

だけを考える.

Newtonian

の場合,nu

で動粘性係数

(粘性係数を密度で割ったもの)

を指定する.

nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; // [m2/s]

Boussinesq

近似ソルバー

5.1.4

(p.129)

buoyantBoussinesqSimpleFoam

のような ,浮力に

Boussinesq

近似を用いたソ

ルバーは ,非圧縮性流体でありながら浮力を考慮できる .これらのソルバーには ,

constant/transportProperties

において浮力と熱伝導に関する設定が必要である.

(14)

4.2 物性値の設定

61

constant/transportProperties

// Thermal expansion coefficient

beta beta [0 0 0 -1 0 0 0] 3e-03; // 体積膨張係数 [1/K]

// Reference temperature

TRef TRef [0 0 0 1 0 0 0] 300; // 参照温度 [K]

// Laminar Prandtl number

Pr Pr [0 0 0 0 0 0 0] 0.9; // 層流プラントル数  

// Turbulent Prandtl number

Prt Prt [0 0 0 0 0 0 0] 0.7; // 乱流プラントル数

動粘性係数

ν

とプラントル数

P r (

粘性係数×比熱/熱伝導率)

から ,熱拡散率

α

次式で計算される.

α =

ν

P r

(4.1)

4.2.2

圧縮性流体ソルバーの物性値の設定

5.1.1

(p.128),

5.1.3

(p.128),

5.1.4

(p.129),

5.1.5

(p.130)

buoyantSimpleFoam

など の圧縮性流体ソルバーの場合は ,物性値を

constant/

thermophysicalProperties

で設定する.

constant/thermophysicalProperties FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object thermophysicalProperties; }   thermoType { type heRhoThermo; mixture pureMixture; specie specie; equationOfState perfectGas; transport const; thermo hConst; energy sensibleEnthalpy; }   mixture { specie

(15)

62

第 4 章 OpenFOAM による熱流体解析 { nMoles 1; molWeight 28.9; } thermodynamics { Cp 1000; Hf 0; } transport { mu 1.8e-05; Pr 0.7; } }

thermoType

では物性の種類を設定する.いくつかの項目があるが ,それぞれで設

定するのではなく,可能な項目の組合せがソルバーごとに決まっている.また ,設定

できたとしても,あくまで物性値を扱う枠組みにすぎないため ,ソルバーがそれに関

する計算に対応しているとは限らない.

type

熱物理モデル

(thermophysical model)

の設定を行う.hePsiThermo

heRhoThermo

などを指定する.Rho

Psi

の違いは ,密度を直接扱うか ,圧縮率

(compressibility)

から計算するかの違いである.

mixture

化学種の扱い方についての設定を行う.pureMixture

multiComponentMixture,

reactingMixture

などを指定する.それぞれ単一化学種,複数化学種,化学種の反

応を扱うものだが ,実際の計算でそれらが扱えるかど うかはソルバーによる.

pureMixture

の場合,上記のように

mixture

で物性値を指定する.物性値をどの

ように指定するかは ,thermoType

の設定による.

specie

常に

“specie”

を指定する.入力としては ,モル数とモル質量を指定する.

specie   {    nMoles 1; // モル数    molWeight 28.9; // モル質量   }

(16)

4.2 物性値の設定

63

equationOfState

状態方程式の設定を行う.以下のようなものを指定できる.

rhoConst

密度を指定する.

equationOfState { rho 1000; // 密度[kg/m3] }

perfectGas

密度を完全気体

(理想気体)

の状態方程式から計算する.密度

ρ

は ,

圧力

p

と温度

T

から次式で計算される.

ρ =

p

RT

(4.2)

ここで ,

R

は分子量で割られた気体定数である.

incompressiblePerfectGas

密度を完全気体

(理想気体)

の状態方程式から計算

するが ,圧力には参照圧力を用いる.

equationOfState { pRef 101325; // 参照圧力 [Pa] }

密度は ,参照圧力を

p

ref

として次式で計算される.

ρ =

p

ref

RT

(4.3)

icoPolynomial

密度を多項式で表す.

equationOfState {

rhoCoeffs<8>

( 4.0097 -0.016954 3.3057e-05 -3.0042e-08 1.0286e-11 0 0 0 );

}

係数はそれぞれ低次の項から指定する.

transport

(17)

64

第 4 章 OpenFOAM による熱流体解析

const

粘性係数とプラントル数

(粘性係数×比熱/熱伝導率)

を設定する.熱伝導

率はプラントル数から計算される.

transport { mu 1.8e-05; // 粘性係数 [Pa-s] Pr 0.7; // プラントル数 }

polynomial

粘性係数と熱伝導率を多項式で設定する.

transport {

muCoeffs<8> ( 1.5061e-06 6.16e-08 -1.819e-11 0 0 0 0 0 ); kappaCoeffs<8> ( 0.0025219 8.506e-05 -1.312e-08 0 0 0 0 0 ); }

係数はそれぞれ ,低次の項から指定する.

sutherland

Sutherland

の式による設定を行う.

transport { As 1.67212e-06; Ts 170.672; }

Sutherland

の式により,粘性係数

μ

は次式で計算される.

μ =

A

s

T

1 + T

s

/T

(4.4)

A

s

, T

s

は物質により異なるパラメタである.

熱伝導率

k

は ,次の修正

Eucken

相関式

(modified Eucken correlation)

で計算さ

れる.

k = μC

v



1.32 +

1.77R

C

v



(4.5)

ここで ,

C

v

は単位質量あたりの定積比熱

[J/kg-K]

である.

thermo

熱特性を設定する.次のようなものを指定できる.

(18)

4.3 重力の設定

65

hConst

比熱と標準生成エンタルピーを設定する.

thermodynamics { Cp 1000; // 比熱[J/kg-K] Hf 0; // 標準生成エンタルピー [J/kg] }

hPolynomial

比熱を温度の多項式で設定する.

thermodynamics { Hf 0; // 標準生成エンタルピー [J/kg] Sf 0; // 標準エントロピー [J/kg-K]

CpCoeffs<8>

( 948.76 0.39171 -0.00095999 1.393e-06 -6.2029e-10 0 0 0 );

}

係数

CpCoeffs

は ,低次の項から指定する.

energy

エネルギーの種類を設定する.以下のようなものを指定する.

• sensibleEnthalpy

• sensibleInternalEnergy

• absoluteEnthalpy

• absoluteInternalEnergy

4.3

重力の設定

5.1.6

(p.131)

buoyantSimpleFoam

などの浮力を考慮できるようなソルバーでは ,重力の設定が

可能である.重力の設定は

constant/g

で行う.

constant/g FoamFile { version 2.0; format ascii; class uniformDimensionedVectorField; location "constant"; object g; }  

(19)

128

5 章

OpenFOAM のための

数値流体力学入門

本章では ,OpenFOAM

をよりよく理解するために必要な数値流体力学の知識につ

いて概説する.

5.1

熱流体の支配方程式

5.1.1

圧縮性と非圧縮性

4.2.1

(p.59)

4.2.2

(p.61)

流体を数学的に取り扱う場合,密度変化の小さな流体を非圧縮性流体

(incompressible

fluid)

として扱う.一方,密度変化を無視できない場合は圧縮性流体

(compressible

fluid)

とする.一般に ,速度がマッハ数

0.3

以下

(密度変化が

5

%以下)

であれば非

圧縮性流体とみなされる.

OpenFOAM

では ,温度を扱う場合は一般に圧縮性流体として扱われる .熱物性

(thermophysical properties)

を扱えるのは ,圧縮性流体ソルバーだけである.

5.1.2

連続の式

連続の式

(質量保存の式)

は次式で表される.

∂ρ

∂t

+

∇ · (ρu) = 0

(5.1)

ここで ,

u

は速度,

ρ

は密度である.定常状態では時間微分項が省かれる.非圧縮性

流体の場合は ,次式のようになる.

∇ · u = 0

(5.2)

5.1.3

運動方程式

4.2.1

(p.59),4.2.2

(p.61)

運動方程式

(ナビエ

ストークス方程式)

は次式で表される.

∂ρu

∂t

+

∇ · (ρuu) = −∇p + ∇ ·



μ{∇u + (∇u)

T

}



− ∇



2

3

μ∇ · u



(5.3)

ここで ,

μ

は粘性係数である.

(20)

5.1 熱流体の支配方程式

129

OpenFOAM

の圧縮性流体ソルバーでは ,次式が解かれる.

∂ρu

∂t

+

∇ · (ρuu) = −∇p + ∇ · (μ∇u) + ∇ ·



μ



(

∇u)

T

2

3

∇ · uI



(5.4)

右辺第

2

項はラプラス演算子とみなされる.右辺第

3

項の発散の中は ,速度勾配の転

置の偏差テンソルのようなものとして表現され

(偏差テンソルの場合は係数が

2/3

はなく

1/3)

,陽的に計算される.定常の場合は時間微分項が省かれる.

非圧縮性流体ソルバーでは ,次式が解かれる

∂u

∂t

+

∇ · (uu) = −∇p + ∇ · (ν∇u) + ∇ ·



ν



(

∇u)

T

1

3

∇ · uI



(5.5)

ここで ,

p

は密度で割られた圧力である

(出力もこのままなので ,評価の際には注意が

必要).

ν

は動粘性係数である.右辺第

3

項の発散の中は ,速度勾配の転置の偏差テ

ンソルとして表され ,陽的に計算される.

5.1.4

エネルギー方程式

4.2.1

(p.60),4.2.2

(p.61)

単位質量当たりの全エネルギー

E

の方程式は ,次式で表される.

∂t

(ρE) + ∇ · (ρEu) = −∇ · (pu) + ∇ · (k∇T )

(5.6)

ここで ,

k

は熱伝導率,

T

は絶対温度である.ここでは ,応力と重力の項は無視した.

全エネルギー

E

は ,単位質量当たりの内部エネルギー

e

と運動エネルギー

K

の和

で表される.

E = e + K

(5.7)

運動エネルギーは次式で表される.

K =

1

2

u

· u

(5.8)

(5.6)

を内部エネルギーと運動エネルギーで表すと ,次式のようになる.

∂t

(ρe) + ∇ · (ρeu) +

∂t

(ρK) + ∇ · (ρKu) = −∇ · (pu) + ∇ · (k∇T )

(5.9)

単位質量当たりのエンタルピー

h

h = e +

p

ρ

(5.10)

とすると ,式

(5.9)

[OpenFOAM-3.0.x]圧縮性流体と同様,解かれる式における∇ · uIの係数は2/3である.

(21)

130

第 5 章 OpenFOAMのための数値流体力学入門

∂t

(ρh) + ∇ · (ρhu) +

∂t

(ρK) + ∇ · (ρKu) =

∂p

∂t

+

∇ · (k∇T )

(5.11)

となり,エンタルピー

h

は ,定圧比熱を

c

p

として

h = h

a

− h

0

=

T T0

c

p

dT

(5.12)

と表される.ここで,

h

a

は絶対エンタルピー,

h

0

は温度が

T

0

のときのエンタルピー

で ,一般には

T

0

= 293.15 [K]

とした標準生成エンタルピーが用いられる.

比熱が一定の場合,

h

は次式で表される.

h = c

p

(T − T

0

)

(5.13)

これを式

(5.11)

に代入し ,密度を一定とすると ,次式が得られる.

∂T

∂t

+

∇ · (T u) = ∇ · (α∇T )

(5.14)

ここで ,

α = k/(ρc

p

)

は熱拡散率である.

OpenFOAM

の圧縮性流体ソルバーでは ,設定によって式

(5.9)

あるいは式

(5.11)

が解かれる.温度の拡散項は次式で表される.

∇ · (k∇T ) = ∇ · (α∇e) = ∇ · (α∇h)

(5.15)

ここで ,

α = k/c

p

は熱拡散率に密度をかけたものである.

浮力を扱うために

Boussinesq

近似を用いる場合は ,流体は非圧縮性流体として扱

われ ,温度は式

(5.14)

から求められる.

5.1.5

状態方程式

4.2.2

(p.61)

圧縮性流体においては ,密度を求めるために状態方程式

(equation of state)

を用い

る必要がある.流体が気体の場合は ,理想気体

(ideal gas,完全気体

perfect gas

もいう)

の状態方程式が用いられることが多い.

ρ =

pW

RT

(5.16)

ここで ,

W

は分子量

[kg/mol]

R

は気体定数

[J/mol-K]

である.

液体の場合は ,密度を多項式などで表す.

(22)
(23)

220

索  引

A

adjustableRunTime キーワード エントリ 99, 100 adjustTimeStep キーワード 126 Apply ボタン 29, 197, 200, 202–206 ascii キーワード エントリ 100

B

backward キーワード エントリ 82 binary キーワード エントリ 100 BirdCarreau モデル 60 blockMesh ユーティリティ 10, 12, 22, 25, 34, 36, 41–43, 46, 53, 55 blockMeshDict デ ィクショナリ 34, 41, 45, 46 boundary デ ィクショナリ 40, 73 bounded キーワード エントリ 84 理論 146 buoyantBoussinesqPimpleFoam ソルバー 9 buoyantBoussinesqSimpleFoam ソルバー 9, 60, 71, 80 buoyantPimpleFoam ソルバー 9, 25, 30, 117 buoyantSimpleFoam ソルバー 9, 61, 65, 71, 78, 79

C

calculated 境界条件 120 castellatedMeshControls キーワード 47, 50, 53 cellLimited キーワード エントリ 83 cellMDLimited キーワード エントリ 83 checkMesh ユーティリティ 10, 52, 56, 85, 94 Choose Preset ボタン 201 class キーワード 72 Coloring ウィンド ウパネル 26, 28, 31 compressed キーワード エントリ 100 controlDict デ ィクショナリ 16, 99, 100 convertToMeters キーワード 38 corrected キーワード エントリ 85 CrankNicolson キーワード エントリ 82 createPatch ユーティリティ 25, 55 createTurbulenceFields ユーティリティ 102 CrossPowerLaw モデル 60 cyclic 境界条件 40, 41, 70, 71 cyclicAMI 境界条件 40, 41, 71

D

decomposePar ユーティリティ 30, 103, 104 deltaT キーワード 100, 117, 126 diagonal キーワード エントリ 89, 91 DICGaussSeidel キーワード エントリ 90 DILU キーワード エントリ 89–91 dimensions キーワード 72 Display ウィンド ウパネル 199, 206 distance キーワード エントリ 54 divSchemes キーワード 83, 115, 124 dynOneEqEddy モデル 69

E

edgeGrading キーワード 39, 40 edges キーワード 40 Edit View Options

(24)

索   引

221

empty 境界条件 40, 41, 71, 74 endTime キーワード エントリ 98, 99, 117, 126 equations キーワード 94 Euler キーワード エントリ 82, 124 evince ツール 28 execFlowFunctionObjects ユーティリティ 107 expansionRatio キーワード 51

F

faceLimited キーワード エントリ 83 faceMDLimited キーワード エントリ 83 faces デ ィクショナリ 41 FDIC キーワード エントリ 89, 90 featureAngle キーワード 51 features キーワード 49, 54 fields キーワード 94 finiteVolume ライブラリ 11 firstTime キーワード エントリ 98 fixed キーワード エントリ 100 fixedGradient 境界条件 132 fixedValue 境界条件 73, 75, 79, 132 fluent3DMeshToFoam ユーティリティ 34 fluentMeshToFoam ユーティリティ 10, 34 foamJob スクリプト/エイリアス 27, 31, 104 foamLog スクリプト/エイリアス 27 foamToVTK ユーティリティ 57 fvSchemes デ ィクショナリ 16, 101 fvSolution デ ィクショナリ 16

G

GAMG キーワード エントリ 58, 89, 90, 139 GaussSeidel キーワード エントリ 90, 91 general キーワード エントリ 100 General ウィンド ウパネル 199 geometry キーワード 47, 53 Ghostview ツール 28 gnuplot ツール 104 gradSchemes キーワード 85

H

hePsiThermo モデル 62 heRhoThermo モデル 62 HerschelBulkley モデル 60 homogeneousDynSmagorinsky モデル 69

I

icoFoam ソルバー 9 ideasUnvToFoam ユーティリティ 36 Information ウィンド ウパネル 43 inside キーワード エントリ 54 interFoam ソルバー 9 internalField キーワード 101, 113, 114 interpolation 理論 135

K

kEpsilon モデル 67, 102 kOmega モデル 67 kOmegaSST モデル 67

L

laminar キーワード エントリ 67 理論 150

(25)

222

索   引 laplacianFoam ソルバー 9 laplacianSchemes キーワード 85, 101 Last Frame ボタン 28, 31 latestTime キーワード エントリ 98, 102, 104, 106 layers キーワード 51 LESModel キーワード 67, 69 LESProperties デ ィクショナリ 16 levels キーワード 49, 54 limitedLinear キーワード エントリ 83, 84 limitedLinearV キーワード エントリ 84 linearUpwind キーワード エントリ 83 linearUpwindV キーワード エントリ 84 locationInMesh キーワード 50

M

maxCo キーワード 100 maxGlobalCells キーワード 49 mergePatchPairs キーワード 42 method キーワード 103 mixture ライブラリ 62 mode キーワード 54 multiComponentMixture モデル 62 multiphaseInterFoam ソルバー 9 MUSCL キーワード エントリ 83

N

neighbourPatch キーワード 40, 71 Newtonian モデル 60 nextWrite キーワード エントリ 99 noWriteNow キーワード エントリ 99 nSmoothPatch キーワード 50 numberOfSubdomains キーワード 103

O

oneEqEddy モデル 69 Opacity テキストボックス 199 outside キーワード エントリ 54

P

paraFoam ユーティリティ 22, 41, 43, 57, 74, 106, 197 ParaView サード パーティ 13, 22, 26, 28, 31, 41, 43, 57, 74, 106, 197, 207, 217 patchIntegrate ユーティリティ 105, 106 PBiCG キーワード エントリ 89, 91 PCG キーワード エントリ 89 pimpleFoam ソルバー 9, 67, 82 PIMPLE 法 アルゴ リズム 9, 93 Pipeline Browser ウィンド ウ 197, 200 pisoFoam ソルバー 9 PISO 法 アルゴ リズム 91, 93, 95, 97, 126, 137 Plot Over Line

メニューエントリ 206 polyLine キーワード エントリ 40 polyMesh デ ィレクトリ 16 potentialFoam ソルバー 9, 101 powerLaw モデル 60 preconditioner キーワード 89, 91, 139 pRefCell キーワード 132 pRefPoint キーワード 94, 132 pRefValue キーワード 94, 132 Properties ウィンド ウパネル 26, 28, 29, 31, 199 pureMixture モデル 62

(26)

索   引

223

purgeWrite キーワード 99, 117

Q

QUICK キーワード エントリ 83, 86 理論 147

R

RASModel キーワード 67 RASProperties デ ィクショナリ 16 reactingMixture モデル 62 realizableKE モデル 67 reconstructPar ユーティリティ 104, 106 refinementRegions キーワード 53 refinementSurfaces キーワード 49 relTol キーワード 89, 92, 97 Representation ウィンド ウパネル 26, 199 renumberMesh ユーティリティ 57, 58 RNGkEpsilon モデル 67 runTime キーワード エントリ 99 runTimeModifiable キーワード 99

S

Save Animation メニューエントリ 32, 207 scalarTransportFoam ソルバー 9 scientific キーワード エントリ 100 scotch キーワード エントリ 103 Show Orientation Axes

ボタン 26 simple キーワード エントリ 103 simpleCoeffs キーワード エントリ 103 simpleFoam ソルバー 9, 21, 22, 25, 27, 30, 57, 59, 66, 71, 82, 102, 122–124 simpleGrading キーワード 39, 40 SIMPLE 法 アルゴ リズム 9, 93 simulationType キーワード 67 Slice ウィンド ウパネル 29 slip 境界条件 79, 133 Smagorinsky モデル 69 smoother キーワード 90 smoothSolver キーワード エントリ 89–91 snap キーワード 47, 50 snappyHexMesh ユーティリティ 10, 12, 25, 34, 36, 42, 43, 46, 47, 52, 55, 208, 216 Solid Color ウィンド ウパネル 26 メニューエントリ 199, 201 solver キーワード 89, 91 specie キーワード 62 spline キーワード 40 Spreadsheet View メニュー 205 startFrom キーワード 98 startTime キーワード エントリ 98 steadyState キーワード エントリ 82, 115 stopAt キーワード 99 Styling ウィンド ウパネル 199 Surface With Edges

ウィンド ウパネル 26 surfaceConvert ユーティリティ 217 surfaceFeatureExtract ユーティリティ 25, 46, 49 symmetryPlane 境界条件 41, 71, 74

T

thermophysicalProperties デ ィクショナリ 16 thermoType キーワード 62 timePrecision キーワード 100 timeStep キーワード エントリ 99

(27)

224

索   引 tolerance キーワード 89, 97 理論 139 transformPoints ユーティリティ 57 transportModel キーワード 60 transportProperties デ ィクショナリ 16, 59, 60 turbulence 理論 150, 156 turbulenceProperties デ ィクショナリ 16 type キーワード 40, 74, 123

U

UMIST キーワード エントリ 83 理論 148 uncompressed キーワード エントリ 100 uncorrected キーワード エントリ 85

V

value キーワード 74 vanLeer キーワード エントリ 83 vertices キーワード 38 View メニュー 205

W

wall 境界条件 41, 71 wallHeatFlux ユーティリティ 106 wallHeatTransfer 境界条件 80, 133 wedge 境界条件 41, 71 writeControl キーワード 99 writeFormat キーワード 100 writeNow キーワード エントリ 99

Z

zeroGradient 境界条件 73–75, 79, 132 あ 後処理 13 アルゴ リズム PIMPLE 法 9, 93 PISO 法 9, 93, 95, 97, 126, 137 SIMPLE 法 9, 93 ウィンド ウ Pipeline Browser 197, 200 ウィンド ウパネル Coloring 26, 28, 31 Display 199, 206 General 199 Information 43 Properties 26, 28, 29, 31, 199 Representation 26, 199 Slice 29 Solid Color 26 Styling 199

Surface With Edges 26

か 解像度 146 拡大率 39, 40, 51 境界条件 calculated 120 cyclic 40, 41, 70, 71 cyclicAMI 40, 41, 71 empty 40, 41, 71, 74 fixedGradient 132 fixedValue 73, 75, 79, 132 slip 79, 133 symmetryPlane 41, 71, 74 wall 41, 71 wallHeatTransfer 80, 133 wedge 41, 71 zeroGradient 73–75, 79, 132 キーワード adjustTimeStep 126 castellatedMeshControls 47, 50, 53 class 72 convertToMeters 38 deltaT 100, 117, 126 dimensions 72 divSchemes 83, 115, 124 edgeGrading 39, 40 edges 40 equations 94 expansionRatio 51 featureAngle 51 features 49, 54 fields 94 geometry 47, 53 gradSchemes 85 internalField 101, 113, 114 laplacianSchemes 85, 101 layers 51 LESModel 67, 69 levels 49, 54 locationInMesh 50 maxCo 100

(28)

索   引

225

maxGlobalCells 49 mergePatchPairs 42 method 103 mode 54 neighbourPatch 40, 71 nSmoothPatch 50 numberOfSubdomains 103 preconditioner 89, 91, 139 pRefCell 132 pRefPoint 94, 132 pRefValue 94, 132 purgeWrite 99, 117 RASModel 67 refinementRegions 53 refinementSurfaces 49 relTol 89, 92, 97 runTimeModifiable 99 simpleGrading 39, 40 simulationType 67 smoother 90 snap 47, 50 solver 89, 91 specie 62 spline 40 startFrom 98 stopAt 99 thermoType 62 timePrecision 100 tolerance 89, 97 transportModel 60 type 40, 74, 123 value 74 vertices 38 writeControl 99 writeFormat 100 キーワード エントリ adjustableRunTime 99, 100 ascii 100 backward 82 binary 100 bounded 84 cellLimited 83 cellMDLimited 83 compressed 100 corrected 85 CrankNicolson 82 diagonal 89, 91 DICGaussSeidel 90 DILU 89–91 distance 54 endTime 98, 99, 117, 126 Euler 82, 124 faceLimited 83 faceMDLimited 83 FDIC 89, 90 firstTime 98 fixed 100 GAMG 58, 89, 90, 139 GaussSeidel 90, 91 general 100 inside 54 laminar 67 latestTime 98, 102, 104, 106 limitedLinear 83, 84 limitedLinearV 84 linearUpwind 83 linearUpwindV 84 MUSCL 83 nextWrite 99 noWriteNow 99 outside 54 PBiCG 89, 91 PCG 89 polyLine 40 QUICK 83, 86 runTime 99 scientific 100 scotch 103 simple 103 simpleCoeffs 103 smoothSolver 89–91 startTime 98 steadyState 82, 115 timeStep 99 UMIST 83 uncompressed 100 uncorrected 85 vanLeer 83 writeNow 99 コメント 17 さ サード パーティ ParaView13, 22, 26, 28, 31, 41, 43, 57, 74, 106, 197, 207, 217 座標系 39, 40 時間ステップ 92, 97, 99, 137, 140, 142 軸対称 41, 71 スクリプト/エイリアス foamJob 27, 31, 104 foamLog 27 セル 12 ソルバー buoyantBoussinesqPimpleFoam 9 buoyantBoussinesqSimpleFoam 9, 60, 71, 80 buoyantPimpleFoam 9, 25, 30, 117 buoyantSimpleFoam 9, 61, 65, 71, 78, 79 icoFoam 9 interFoam 9 laplacianFoam 9 multiphaseInterFoam 9 pimpleFoam 9, 67, 82

(29)

226

索   引 pisoFoam 9 potentialFoam 9, 101 scalarTransportFoam 9 simpleFoam 9, 21, 22, 25, 27, 30, 57, 59, 66, 71, 82, 102, 122–124 た ツール evince 28 Ghostview 28 gnuplot 104 デ ィクショナリ blockMeshDict 34, 41, 45, 46 boundary 40, 73 controlDict 16, 99, 100 faces 41 fvSchemes 16, 101 fvSolution 16 LESProperties 16 RASProperties 16 thermophysicalProperties 16 transportProperties 16, 59, 60 turbulenceProperties 16 デ ィレクトリ polyMesh 16 テキストボックス Opacity 199 は 反復回数 97, 139 プ リプロセス 12 プロセス 181, 193, 194 ポストプロセス 13 ボタン Apply 29, 197, 200, 202–206 Choose Preset 201 Last Frame 28, 31 Show Orientation Axes 26

前処理 12

メニュー

Edit View Options 206 Spreadsheet View 205

View 205

メニューエントリ

Plot Over Line 206 Save Animation 32, 207 Solid Color 199, 201 モデラー 12 モデル BirdCarreau 60 CrossPowerLaw 60 dynOneEqEddy 69 hePsiThermo 62 heRhoThermo 62 HerschelBulkley 60 homogeneousDynSmagorinsky 69 kEpsilon 67, 102 kOmega 67 kOmegaSST 67 multiComponentMixture 62 Newtonian 60 oneEqEddy 69 powerLaw 60 pureMixture 62 reactingMixture 62 realizableKE 67 RNGkEpsilon 67 Smagorinsky 69 や ユーティリティ blockMesh 10, 12, 22, 25, 34, 36, 41–43, 46, 53, 55 checkMesh 10, 52, 56, 85, 94 createPatch 25, 55 createTurbulenceFields 102 decomposePar 30, 103, 104 execFlowFunctionObjects 107 fluent3DMeshToFoam 34 fluentMeshToFoam 10, 34 foamToVTK 57 ideasUnvToFoam 36 paraFoam 22, 41, 43, 57, 74, 106, 197 patchIntegrate 105, 106 reconstructPar 104, 106 renumberMesh 57, 58 snappyHexMesh 10, 12, 25, 34, 36, 42, 43, 46, 47, 52, 55, 208, 216 surfaceConvert 217 surfaceFeatureExtract 25, 46, 49 transformPoints 57 wallHeatFlux 106 ら ライブラリ 1, 8, 11, 36 finiteVolume 11 mixture 62 乱流モデル 16, 21, 66, 67, 69, 71, 102, 131, 132, 150, 156 理論 bounded 146 interpolation 135 laminar 150 QUICK 147 tolerance 139 turbulence 150, 156 UMIST 148   

(30)

   著  者  略  歴 春日  悠(かすが・ゆう) 2004年  九州工業大学大学院 情報工学研究科博士前期課程情報システム専攻 修了 PENGUINITIS http://www.geocities.jp/penguinitis2002/ 今野  雅(いまの・まさし ) 1995年  東京大学大学院 工学系研究科建築学専攻博士前期課程 修了 1998年  東京大学大学院 工学系研究科建築学専攻博士後期課程 単位取得満期退学 1998年  神奈川大学 工学部建築学科 専任助手 1998年  東京大学大学院 工学系研究科建築学専攻 助手 2007年  博士( 工学,東京大学) 2007年  東京大学大学院 工学系研究科建築学専攻 助教 2012年  株式会社OCAEL代表取締役  現在に至る 一般社団法人 オープンCAE 学会 事務局 〒160-0007東京都新宿区荒木町5-14ネオ荒木町ビル2F 株式会社ワールド ミーティング内 Tel : 03-3350-0363, Fax : 03-3341-1830 Email : offi[email protected] URL : http://www.opencae.or.jp/ 編集担当  藤原祐介(森北出版) 編集責任  富井  晃(森北出版) 組   版  藤原印刷 印   刷   同 製   本   同

OpenFOAM

による熱移動と流れの数値解析 c ( 一社)オープンCAE学会 2016 2016年6月20日  第1版第1刷発行 【本書の無断転載を禁ず】 編 者 一般社団法人 オープン

CAE

学会 発 行 者 森北博巳 発 行 所 森北出版株式会社 東京都千代田区富士見1–4–11(〒102–0071) 電話03–3265–8341/FAX 03–3264–8709 http://www.morikita.co.jp/ 日本書籍出版協会・自然科学書協会  会員 <(社)出版者著作権管理機構 委託出版物> 落丁・乱丁本はお取替えいたします.

参照

関連したドキュメント

振動流中および一様 流中に没水 した小口径の直立 円柱周辺の3次 元流体場 に関する数値解析 を行った.円 柱高 さの違いに よる流況および底面せん断力

熱力学計算によれば、この地下水中において安定なのは FeSe 2 (cr)で、Se 濃度はこの固相の 溶解度である 10 -9 ~10 -8 mol dm

警告 当リレーは高電圧大電流仕様のため、記載の接点電

The main purpose of this talk is to prove the unique existence of global in time solutions to (1) for the initial data in scaling critical spaces, and study the asymptotics of

Koike, Refined pointwise estimates for the solutions to the one-dimensional barotropic compressible Navier–Stokes equations: An application to the analysis of the long-time behavior

前章 / 節からの流れで、計算可能な関数のもつ性質を抽象的に捉えることから始めよう。話を 単純にするために、以下では次のような型のプログラム を考える。 は部分関数 (

それゆえ、この条件下では光学的性質はもっぱら媒質の誘電率で決まる。ここではこのよ

2 E-LOCA を仮定した場合でも,ECCS 系による注水流量では足りないほどの原子炉冷却材の流出が考