説明

数値流体計算方法、数値流体計算装置、プログラム、及び、記録媒体

【課題】ボリュームCADシステムと一体化した数値流体計算装置を実現する。
【解決手段】数値流体計算装置1は、N≦Nmaxとなるように対象物Ωを6面体の内部セル及び(6+N)面体の境界セルに分割するモデリング部11と、境界セルの三角切断面ktの面積A_ktの面積を算出する境界セル情報生成部13と、解くべき代数方程式に含まれる、対流流束ρUφの三角切断面kt上での積分値、及び、拡散流束Γ∇φの各三角切断面上での積分値を、三角切断面の面積A_ktと境界条件φ_kt及び(∇φ)_ktとから算出する境界セル係数設定部15とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、有限体積法を用いて対流拡散方程式を解く数値流体計算方法、及び、数値流体計算装置に関する。また、そのような数値流体計算装置としてコンピュータを動作させるためのプログラム、及び、そのようなプログラムが記録された記録媒体に関する。
【背景技術】
【0002】
コンピュータの進歩により、ものつくりの技術は飛躍的な発展を遂げた。例えば、設計を支援するCAD(Computer Aided Design)システム、解析を支援するCAE(Computer Aided Engineering)システム、加工を支援するCAM(Computer Aided Manufacturing)システム、検査を支援するCAT(Computer Aided Testing)システムは、ものつくりを行う上でもはや不可欠なツールとなっている。
【0003】
しかしながら、これらのシステムは、別々のソフトウェアにより実現されており、データ構造にも汎用性がない。例えば、CADシステムにおいて広く用いられているワイヤフレームモデルは、物体の表面形状を表現するものであり、物体の内部構造を表現するものではない。したがって、ワイヤフレームモデルをシミュレーションにそのまま使用することはできない。
【0004】
設計にもシミュレーションにも利用可能な汎用モデル化手法として、ボクセルモデルが知られている。ボクセルモデルは、物体をボクセルと呼ばれる立方体の集合として表現するモデル化手法である。各ボクセルに物理量を担わせることによって、ボクセルモデルを設計にもシミュレーションにも利用することができる。ただし、物体をボクセルの集合として表現した場合、その物体の表面の情報(例えば法線の方向)が欠落してしまう。したがって、ボクセルモデルを用いた数値流体計算では境界値問題を精度良く解くことができない。
【0005】
ボクセルモデルの改良として、物体の表面と交わるボクセルを切断立方体(「Kitta Cube」と呼ばれる)に置き換えた切断立方体モデルが知られている。切断立方体とは、各辺上に高々1つの切断点が設けられた立方体を、3つの切断点を頂点とするN個の三角切断面で切断して得られる(6+N)面体のことである。切断点は、基礎となる立方体の各辺と、物体の表面との交点に設けられる。切断立方体モデルは、物体の表面を良く近似する、切断三角形からなる表面を有するので境界値問題に適している。
【0006】
しかしながら、切断立方体における三角切断面のパターンは1064通りに達し、切断点の配置パターンは144通りに及ぶ。したがって、切断立方体モデルを用いた数値流体計算アルゴリズムは多数の場合分けを含み、これをコーディングすることは現実的ではない。また、仮にコーディングできたとしても計算量が厖大になり、要求される処理速度を達成することができない。
【0007】
このような問題を解決するための試みが、非特許文献1に記載されている。具体的には、切断立方体モデルにおける切断立方体をカットセルに置き換える(例えば1辺を共有する2つの三角切断面を1つの切断面に置き換える)ことにより、3次元数値流体計算が可能になるとの予想が示されている。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】雷、外1名、「VCADにより非圧縮性粘性流体のシミュレーション」、第19回数値流体力学シンポジウム講演要旨集、2005年12月、p.51、CD−ROM NO.A1−3
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、非特許文献1に記載されているように切断立方体モデルにおける切断立方体をカットセルに置き換えた場合、全てのカットセルの切断面を隣接するカットセルの切断面と矛盾なく整合させることができない。すなわち、各カットセルの切断面により構成されるカットセルモデルの表面に穴があいてしまい、解の精度が大幅に低下するという問題を生じる。
【0010】
本発明は、上記の問題に鑑みてなされたものであり、有限体積法を用いて対流拡散方程式を解く数値流体計算方法において、切断立方体をカットセル等に置き換えることなく、必要な場合分けの数を低減させた数値流体計算方法を実現することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明に係る数値流体方法は、対流拡散方程式を各セル上で積分することによって得られる代数方程式であって、各セル上の物理量と、該セルに隣接する隣接セル上の上記物理量との間に成り立つ代数方程式からなる方程式系を、コンピュータによって解く数値流体計算方法において、計算対象領域を複数のセルに分割するセル分割ステップであって、計算対象領域の境界を含む境界セルとして、各辺上に高々1つの切断点が設けられた6面体を3つの切断点を頂点とするN個の三角切断面で切断して得られる(6+N)面体(NはNmax以下の自然数)を用いるセル分割ステップと、上記境界セルの各々について、上記N個の三角切断面の面積を算出する切断面積算出ステップと、上記境界セルの各々について、上記代数方程式に含まれる、対流流束の各三角切断面上での積分値、及び、拡散流束の各三角切断面上での積分値を、上記切断面積算出ステップにて算出された各三角切断面の面積と、上記計算対象領域の境界に課された境界条件とから算出する境界条件設定ステップとを含んでいる、ことを特徴としている。
【0012】
また、上記課題を解決するために、本発明に係る数値流体計算装置は、対流拡散方程式を各セル上で積分することによって得られる代数方程式であって、各セル上の物理量と、該セルに隣接する隣接セル上の上記物理量との間に成り立つ代数方程式からなる方程式系を解く数値流体計算装置において、計算対象領域を複数のセルに分割するセル分割手段であって、計算対象領域の境界を含む境界セルとして、各辺上に高々1つの切断点が設けられた6面体を3つの切断点を頂点とするN個の三角切断面で切断して得られる(6+N)面体(NはNmax以下の自然数)を用いるセル分割手段と、上記境界セルの各々について、上記N個の三角切断面の面積を算出する切断面積算出手段と、上記境界セルの各々について、上記代数方程式に含まれる、対流流束の各三角切断面上での積分値、及び、拡散流束の各三角切断面上での積分値を、上記切断面積算出手段にて算出された各三角切断面の面積と、上記計算対象領域の境界に課された境界条件とから算出する境界条件設定手段と、を備えている、ことを特徴としている。
【0013】
上記の構成によれば、計算対象領域の境界を含む境界セルとして、各辺上に高々1つの切断点が設けられた6面体を3つの切断点を頂点とするN個の三角切断面で切断して得られる(6+N)面体が用いられる。したがって、計算対象領域の境界を、これらの三角切断面によって精度良く近似することができる。そして、解くべき代数方程式に含まれる対流項及び拡散項を、これらの三角切断面を用いて算出するので、解くべき代数方程式を精度良く算出することができる。したがって、上記物理量の各セル上での値を、精度良く算出することができる。
【0014】
しかも、各境界セルにおける切断面数(三角切断面の数)Nは、Nmax以下に制限されている。したがって、解くべき代数方程式(の係数)を算出するために必要な場合分けを、各境界セルにおける切断面数に制限を加えない場合よりも少なくすることができる。
【0015】
本発明に係る数値流体計算方法は、上記境界セルの各々について、該境界セルに隣接する隣接セルとの間の境界面の面積を算出する境界面積算出ステップと、上記境界セルの各々について、上記代数方程式に含まれる係数であって、該境界セルに隣接する隣接セル上の上記物理量に係る係数を、上記境界面積算出ステップにて算出された各境界面の面積を用いて算出する係数算出ステップとを更に含んでいる、ことが好ましい。
【0016】
上記の構成によれば、計算対象領域の境界を含む境界セルとして、各辺上に高々1つの切断点が設けられた6面体を3つの切断点を頂点とするN個の三角切断面で切断して得られる(6+N)面体が用いられる。そして、解くべき代数方程式に含まれる係数を、これらの境界セルの境界面の面積を用いて算出するので、解くべき代数方程式を精度良く算出することができる。したがって、上記物理量の各セル上での値を精度良く算出することができる。
【0017】
本発明に係る数値流体計算方法において、上記該境界セルの各々に含まれる三角切断面数Nの上限値Nmaxが4である、ことが好ましい。
【0018】
上記の構成によれば、境界セルの境界面の面積を算出するために必要な場合分けを、著しく少なくすることができる(図5〜図8参照)。
【0019】
なお、本発明に係る数値流体計算装置は、コンピュータによって実現してもよい。この場合、コンピュータを上記各手段として動作させることにより、本発明に係る数値流体計算装置をコンピュータにおいて実現するプログラム、及び、そのプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0020】
以上のように、本発明によれば、有限体積法を用いて対流拡散方程式を解く数値流体計算方法において、切断立方体をカットセル等に置き換えることなく、必要な場合分けの数を低減させた数値流体計算方法を実現することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の実施形態を示すものであり、数値流体計算装置の構成を示すブロック図である。
【図2】本発明の実施形態を示すものであり、コンピュータを用いて実現された数値流体計算装置のハードウェア構成を示すブロック図である。
【図3】本発明の実施形態を示すものであり、切断立方体モデルの構成を示す説明図である。(a)は、対象物の断面図であり、(b)は、内部セルの斜視図であり、(c)は、境界セルの斜視図である。
【図4】本発明の実施形態を示すものであり、境界セルの分類を示す説明図である。
【図5】本発明の実施形態を示すものであり、切断点をもたない境界面の構成を示す平面図である。
【図6】本発明の実施形態を示すものであり、2つの切断点を含む境界面の構成を示す平面図である。
【図7】本発明の実施形態を示すものであり、3つの切断点を含む境界面の構成を示す平面図である。
【図8】本発明の実施形態を示すものであり、4つの切断点を含む境界面の構成を示す平面図である。
【図9】本発明の実施例を示すものであり、計算対象とする系の構造を示す模式図である。
【図10】図9に示す系における、平均Nusseltの評価結果を示すグラフである。(a)は、小球面上での平均Nusselt数を示し、(b)は、大球面上での平均Nusselt数を示す。
【発明を実施するための形態】
【0022】
〔本発明の基礎となる事項〕
本発明の実施形態について説明する前に、本発明の基礎となる事項について説明する。なお、本明細書においては、下付き文字を前に_を付して表し、上付き文字を前に^を付して表す。例えば、AeをA_eと表し、L2をL^2と表す。
【0023】
(切断立方体モデル)
本発明の数値流体計算方法に用いる切断立方体(Kitta Cube)モデルについて図3〜図4を参照して説明する。
【0024】
切断立方体モデルは、発明者らが開発したボリュームCADシステムにおけるモデリング手法であり、図3(a)に示すように、対象物Ωの内部に含まれる6面体の内部セルICと、対象物Ωの境界面∂Ωを含む6+N面体の境界セルBCとを用いて対象物Ωを表現するモデリング手法である。内部セルは、「非境界セル」と呼ばれることもある。
【0025】
切断立方体モデルにおいては、内部セルICとして、図3(b)に示すような6面体(例えば立方体)が用いられる。内部セルICにおいては、6つの境界面が、それぞれ、内部セルICに隣接する6つの隣接セル(内部セルの場合もあれば、境界セルの場合もある)との境界を成す。また、内部セルICは、1つの格子点を含む。内部セルICに含まれる格子点の位置は、例えば、内部セルICの重心位置である。
【0026】
本明細書においては、注目するセル(以下「注目セル」と呼称する)に含まれる格子点をPと記し、注目セルの6つの境界面をe(x軸正方向),w(x軸負方向),n(y軸正方向),s(y軸負方向),t(z軸正方向),b(z軸負方向)と記す。また、境界面e,w,s,n,t,bを介して注目セルに隣接するセル(以下「隣接セル」と呼称する)に含まれる格子点を、それぞれ、E,W,S,N,T,Bと記す。また、境界面e,w,s,n,t,bの面積を、それぞれ、A_e,A_w,A_n,A_s,A_t,A_bと記す(図3(b)参照)。
【0027】
また、切断立方体モデルにおいては、境界セルBCとして、図3(c)に示すような(6+N)面体が用いられる。すなわち、各辺上に高々1つの切断点が設けられた基礎となる6面体(例えば内部セルと合同な立方体)を、3つの切断点を頂点とするN個の三角切断面で切断して得られる(6+N)面体が用いられる。切断点は、基礎となる6面体の各辺と、対象物Ωの境界面∂Ωとの交点に設けられる(各セルのサイズを十分に小さくとれば、各辺上に設けられる切断点の数を1以下にすることができる)。図3(c)に例示した境界セルBCは、切断点K_1,K_2,K_3を頂点とする三角切断面kt_1と、切断点K_1,K_2,K_4を頂点とする三角切断面kt_2で切断して得られたものである。
【0028】
境界セルBCにおいては、三角切断面KTを除く6つの境界面が、それぞれ、境界セルBCに隣接する6つの隣接セル(内部セルの場合もあれば、境界セルの場合もある)との境界を成す。一方、三角切断面KTは、対象物Ωと外界(固体)との間の境界を構成する。また、境界セルBCは、内部セルICと同様、1つの格子点を含む。格子点の位置は、例えば、境界セルBCの重心位置である。
【0029】
なお、三角切断面の数Nは境界セル毎に異なり得ることに留意されたい。ただし、本発明においては、境界セルの切断面数Nに上限を設ける。換言すれば、切断面数Nが予め定められた上限値を上回る境界セルが生じないように、セルサイズを十分に小さく設定する。本実施形態においては、境界セルの切断面数Nの上限を4とする。換言すれば、切断面数Nが4を上回る境界セルが生じないように、セルサイズを十分に小さく設定する。これにより、各境界セルは、図4に示す4つのタイプのうちの何れかに分類される。
【0030】
(対流拡散方程式)
本発明が対象とする方程式は、対象物Ω上で定義された物理量φ=φ(t,x,y,z)が従う対流拡散方程式(1)である。対流拡散方程式(1)は、「移流拡散方程式」、あるいは、「輸送方程式」と呼ばれることもある。物理量φとしては、単位質量あたりの運動量の各成分、あるいは、単位質量あたりのエネルギーが想定されるが、これに限定されるものではない。
【0031】
【数1】

【0032】
ここで、U=(u,v,w)は流速(ベクトル場)、ρは密度(スカラ場)、Γは拡散係数(スカラ場)、Sは生成項(スカラ場)である。ρUφは、対流流束と呼ばれ、Γ∇φは、拡散流束と呼ばれる。
【0033】
なお、以下の説明では、簡単のために、密度ρ及び拡散係数Γが時間及び位置に依存せずに一定であるものと仮定するが、本発明はこれに限定されるものではない。すなわち、密度ρ及び拡散係数Γは、時間又は位置に依存するものであってもよい。また、以下の説明では、簡単のために、生成項Sが物理量φに比例する項S_P×φと定数項S_Cとの和で表せるものと仮定するが、本発明はこれに限定されるものではない。すなわち、生成項Sが物理量φの2次以上の項を含んでいてもよい。
【0034】
本発明の数値流体計算方法においては、有限体積法を用いて対流拡散方程式(1)を解く。すなわち、対流拡散方程式(1)を各セル上で積分することによって得られる代数方程式からなる方程式系(連立方程式)をコンピュータによって解く。各代数方程式は、注目セルに含まれる格子点Pにおける物理量φ_Pと、隣接セルに含まれる格子点NB∈{E,W,N,S,T,B}における物理量φ_NBとの間に成り立つ代数方程式である。これらの代数方程式は、対流拡散方程式(1)から以下のようにして導出することができる。
【0035】
すなわち、まず、対流拡散方程式(1)を各内部セル上で積分することにより式(2)を得る。また、対流拡散方程式(1)を各境界セル上で積分することにより式(3)を得る。
【0036】
【数2】

【0037】
【数3】

【0038】
ここで、Δtは、時間ステップであり、ΔVは、注目セルの体積である。また、A_nbは、注目セルの各境界面nb∈{e,w,n,s,t,b}の面積であり、A_ktは、注目セルの各三角切断面kt∈{kt_1,kt_2,…,kt_N}の面積である。なお、式(2)及び式(3)においては、面積A_nbを、境界面nbの外向法線方向を向いた面積ベクトルとして扱っている。また、式(3)においては、面積A_KTを、三角切断面ktの外向法線方向を向いた面積ベクトルとして面積A_KTを扱っている。
【0039】
また、(ρφ)_Pは、注目セルに含まれる格子点Pにおけるρφの値である。(ρUφ)_nb、及び、(Γ∇φ)_nbは、それぞれ、注目セルの各境界面nb∈{e,w,n,s,t,b}における対流流束ρUφ、及び、拡散流束Γ∇φの値である。和Σ_nbは、注目セルの6つの境界面の全てを渡る。
【0040】
また、(ρUφ)_kt、及び、(Γ∇φ)_ktは、注目セルの各三角切断面kt∈{kt_1,kt_2,…,kt_N}(の代表点)における対流流束ρUφ、及び、拡散流束Γ∇φの値である。和Σ_ktは、注目セルのN個の三角切断面の全てを渡る。
【0041】
次に、適当な差分法を用いて、物理量φの境界面nb∈{e,w,n,s,t,b}における値φ_nbを、物理量φの格子点NB∈{E,W,N,S,T,B}における値φ_NBに置き換えることにより代数方程式(4)を得る。
【0042】
【数4】

【0043】
・ハイブリッド法
差分法としてハイブリッド法を用いた場合、内部セルに対する代数方程式(4)における係数a_NBは、式(5a)〜式(5h)により与えられる。また、内部セルに対する代数方程式(4)における定数bは、式(5i)により与えられる。
【0044】
【数5】

【0045】
ここで、括弧||・||は、括弧内の要素のうちで最大の要素を指す。また、F_nbは、式(6)により定義される量であり、D_nbは、式(7)により定義される量である。式(7)において、r_(P→NB)は、注目セルの格子点Pを始点とし、隣接セルの格子点NBを終点とするベクトルを表す。e_(P→NB)は、r_(P→NB)と同じ向きをむいた単位ベクトルである。
【0046】
【数6】

【0047】
【数7】

【0048】
一方、差分法としてハイブリッド法を用いた場合、境界セルに対する代数方程式(4)における係数a_NBは、内部セルに対する代数方程式(4)と同様、式(5a)〜式(5h)により与えられる。また、境界セルに対する代数方程式(4)における定数bは、対流流束ρUφ及び拡散流速Γ∇φの三角切断面上での積分を含む式(8)により与えられる。
【0049】
【数8】

【0050】
対流流束ρUφ及び拡散流速Γ∇φの三角切断面上での積分は、境界条件として与えられたφ及び∇φの境界面∂Ω上での値から算出することができる。
【0051】
・風上差分法
差分法として風上差分法を用いた場合、内部セルに対する代数方程式(4)における係数a_NBは、式(9a)〜式(9b)によって与えられる。また、内部セルに対する代数方程式(4)における定数bは、式(9c)によって与えられる。F_nbは、上述した式(6)により定義される量であり、D_nbは、式(7)により定義される量である。
【0052】
【数9】

【0053】
ここで、風上差分法とは、物理量φの境界面nb∈{e,w,n,s,t,b}における値φ_nbを、式(10)によって物理量φの格子点NB∈{E,W,N,S,T,B}における値φ_NBに置き換えることを指す。式(10)において、Δr_(P→NB)は、注目セルの格子点Pを始点とし、隣接セルの格子点NBを終点とするベクトルを表し、Δr_(NB→P)は、隣接セルの格子点NBを始点とし、注目セルの格子点Pを終点とするベクトルを表す。また、M_nb^+及びM_nb^-は式(11)により定義される。
【0054】
【数10】

【0055】
【数11】

【0056】
(1)式における時間項の注目セル上での積分を、式(12)のように離散化した場合、式(9b)における係数a_t、及び、式(9c)における定数b_temporalは、式(13)のように与えられる。
【0057】
【数12】

【0058】
【数13】

【0059】
また、式(9c)における定数b_CT及び定数b_DTは、式(14a)〜式(14b)ように与えられる。
【0060】
【数14】

【0061】
一方、差分法として風上差分法を用いた場合、境界セルに対する代数方程式(4)における係数a_NBは、内部セルに対する代数方程式(4)と同様、式(9a)〜式(9b)によって与えられる。また、境界セルに対する代数方程式(4)における定数bは、対流流束ρUφ及び拡散流速Γ∇φの三角切断面上での積分を含む式(15)によって与えられる。
【0062】
【数15】

【0063】
なお、ここではハイブリッド法、及び、風上差分法から導かれる代数方程式(4)を用いた有限体積法について説明したが、本発明の適用範囲はこれに限定されるものではない。すなわち、中心差分法、べき乗法、指数法(厳密法)など、他の離散化手法から導かれる代数方程式(4)を用いた有限体積法も本発明の適用範囲に含まれる。
【0064】
また、ここでは流速Uを既知として、流速Uにより規定される流れ場における物理量φの輸送について説明したが、本発明はこれに限定されるものではない。すなわち、代数方程式(4)と圧力修正方程式とを連立させることにより、非定常非圧縮粘性流体の流速U*を算出する数値流体計算方法も本発明の範疇に含まれる。
【0065】
〔実施形態〕
以下、本発明の一実施形態について、図面に基づいて説明する。
【0066】
(数値流体計算装置の構成)
本実施形態に係る数値流体計算装置1の構成について、図1を参照して説明する。図1は、数値流体計算装置1の構成を示すブロック図である。数値流体計算装置1は、モデリング部11と、切断面数カウント部12(同図において「カウント部」と略記)と、境界セル情報生成部13と、内部セル情報生成部14と、境界セル係数設定部15と、内部セル係数設定部16と、行列演算部17と、収束判定部18と、UI部19と、パラメータ記憶部21と、メッシュデータ記憶部22とを備えている。
【0067】
モデリング部11は、対象物Ωを複数のセルに分割するための手段である。具体的には、切断立方体モデルに従って対象物Ωを複数のセルに分割し、各セルの頂点座標を表すメッシュデータを生成する。上述したとおり、モデリング部11は、内部セルとして6面体を用い、境界セルとして(6+N)面体を用いる。モデリング部11によって生成されたメッシュデータは、切断面カウント部12に提供される。
【0068】
切断面数カウント部12は、モデリング部11から提供されたメッシュデータを参照して各境界セルにおける切断面数Nをカウントし、最大切断面数が4以下であるか否かを判定する。
【0069】
最大切断面数が4以下である場合、切断面数カウント部12は、モデリング部11に「OK」を返す。切断面数カウント部12から「OK」が返されると、モデリング部11は、各セルの頂点座標を表すメッシュデータをメッシュデータ記憶部22に格納する。
【0070】
一方、最大切断面数が4よりも大きい場合、切断面数カウント部12は、モデリング部11に「NG」を返す。切断面数カウント部12から「NG」が返されると、モデリング部11は、対象物Ωをより小さいサイズの内部セルと境界セルとに再分割する。モデリング部11は、最大切断面数が4以下になるまで(切断面数カウント部12から「OK」が返されるまで)再分割を繰り返し、最終的には最大切断面数が4以下となるメッシュデータをメッシュデータ記憶部22に格納する。
【0071】
境界セル情報生成部13は、メッシュデータ記憶部22に格納されたメッシュデータから、各境界セルについて、(1)体積ΔV、(2)格子点Pの座標、(3)格子点NB∈{E,W,N,S,T,B}と格子点Pとの距離|NB−P|、(4)各境界面nb∈{e,w,n,s,t,b}の代表点の座標、(5)各境界面nb∈{e,w,n,s,t,b}の面積A_nb、(6)各三角切断面kt∈{kt_1,kt_2,…,kt_N}の代表点の座標、(7)各三角切断面kt∈{kt_1,kt_2,…,kt_N}の面積A_kt、(8)各三角切断面kt∈{kt_1,kt_2,…,kt_N}の法線ベクトルn_ktを算出する。境界セル情報生成部13により算出された諸量は、境界セル情報として境界セル係数設定部15に提供される。
【0072】
なお、境界セルの格子点Pの座標は、例えば、その境界セルの頂点座標の和を頂点数で除算することによって容易に算出することができる。また、各境界面nbの代表点の座標は、例えば、その境界面nbの頂点座標の和を頂点数で除算することによって容易に算出することができる。また、各境界面nbの面積A_nbは、境界面の構成毎に導出した求積公式(後述)を用いて算出することができる。境界セルの体積ΔVについても同様である。
【0073】
また、各三角切断面ktの代表点の座標は、例えば、その三角切断面ktの頂点座標の和を頂点数3で割ることによって容易に算出することができる。また、各三角切断面ktの面積A_ktは、例えば、その三角切断面ktの3つの頂点(切断点)の位置ベクトルをα,β,γとして、A_kt=|(β−α)×(γ−α)|/2により算出することができる(「×」は外積)。また、三角切断面ktの法線ベクトルn_ktは、例えば、n_kt=(β−α)×(γ−α)/|(β−α)×(γ−α)|により算出することができる(「×」は外積)。
【0074】
内部セル情報生成部14は、メッシュデータ記憶部22に格納されたメッシュデータから、各内部セルについて、(1)体積ΔV,(2)格子点Pの座標、(3)各格子点NB∈{E,W,N,S,T,B}と格子点Pとの距離|NBーP|、(4)各境界面nb∈{e,w,n,s,t,b}の代表点の座標、(5)各境界面nb∈{e,w,n,s,t,b}の面積A_nbを算出する。内部セル情報生成部14により算出された諸量は、内部セル情報として内部セル係数設定部16に提供される。
【0075】
なお、内部セルの格子点Pの座標は、例えば、その内部セルの頂点座標の和を頂点数8で除算することによって容易に算出することができる。また、各境界面nbの代表点の座標は、例えば、その境界面nbの頂点座標の和を頂点数4で除算することによって容易に算出することができる。また、各境界面nbの面積A_nbは、例えば、互いに隣接する2辺の長さを乗算することによって容易に算出することができる。例えば、内部セルが各辺の長さがLの立方体である場合、Anb=L^2(一定)である。また、内部セルの体積ΔVは、例えば、互いに隣接する3辺の長さを乗算することによって、容易に算出することができる。例えば、内部セルが各辺の長さがLの立方体である場合、ΔV=L^3(一定)である。
【0076】
代数方程式(4)からなる方程式系を構成するために必要なパラメータ{Δt,ρ,Γ,S,U=(u,v,w),φ_kt,(∇φ)_kt}の値は、UI部19を介してユーザにより設され、パラメータ記憶部21に格納される。境界セル係数設定部15、及び、内部セル係数設定部16は、パラメータ記憶部21に記憶されたこれらのパラメータを自由に参照することができる。
【0077】
境界セル係数設定部15は、対流流束ρUφの各三角切断面kt上での積分の和Σ(ρUφ)_kt・A_kt、及び、拡散流速Γ∇φの各三角切断面kt上での積分の和を、パラメータ記憶部21に格納された境界値φ_kt及び(Δφ)_ktなどを参照して算出する。
【0078】
具体的には、(1)密度ρと流速U_ktと境界条件φ_ktとをパラメータ記憶部21から読み出し、(2)法線ベクトルn_ktと面積A_ktとを境界セル情報生成部13から取得し、(3)流速U_ktと法線ベクトルn_ktとの内積U_kt・n_ktを算出し、(4)内積U_kt・n_ktに密度ρ、境界条件φ_kt、及び、面積A_ktを乗じることによって、(ρUφ)_kt・A_ktを算出する。そして、得られた(ρUφ)_kt・A_ktを合算することによりΣ(ρUφ)_kt・A_ktを得る。
【0079】
同様に、(1)拡散係数Γと境界条件(∇φ)_ktとをパラメータ記憶部21から読み出し、(2)法線ベクトルn_ktと面積A_ktとを境界セル情報生成部13から取得し、(3)境界条件(∇φ)_ktと法線ベクトルn_ktとの内積(∇φ)_kt・n_ktを算出し、(4)内積(∇φ)_kt・n_ktに拡散係数Γ及び面積A_ktを乗じることによって、(Γ∇φ)_kt・A_ktを算出する。そして、得られた(Γ∇φ)_kt・A_ktを合算することによって、Σ(Γ∇φ)_kt・A_ktを得る。
【0080】
境界セル係数設定部15は、更に、パラメータ記憶部21から読み出した{ρ,U,Γ,S_P}と、境界セル情報生成部13から取得した{A_nb,|NBーP|,ΔV}とを参照し、式(5a)〜(5h)に従って係数a_P,a_E,a_W,a_N,a_S,a_T,a_Bを算出する。また、先に算出した{Σ(Γ∇φ)_kt・A_kt,Σ(ρUφ)_kt・A_kt}と、パラメータ記憶部21から読み出した{Δt,S_C,ρ,φ_P^T}と、境界セル情報生成部13から取得したΔVとを参照し、式(8)に従って定数bを算出する。
【0081】
内部セル係数設定部16は、パラメータ記憶部21から読み出した{ρ,U,Γ,S_P}と、境界セル情報生成部13から取得した{A_nb,|NBーP|,ΔV}とを参照し、式(5a)〜(5h)に従って係数a_P,a_E,a_W,a_N,a_S,a_T,a_Bを算出する。また、パラメータ記憶部21から読み出した{Δt,S_C,ρ,φ_P^T}と、境界セル情報生成部13から取得したΔVとを参照し、式(5i)に従って定数bを算出する。
【0082】
なお、定数bを算出するために境界セル係数設定部15及び内部セル係数設定部16が参照するφ_P^tは、UI部19を介してユーザによって設定されたものではなく、行列演算部17によって前回算出されたφ_Pである。ただし、初回の演算において参照するφ_P^tは、UI部19を介してユーザによって設定された初期値φ_P^0である。
【0083】
行列演算部17は、境界セル係数設定部15及び内部セル係数設定部16によって設定された係数a_NB及び定数bにより規定される、代数方程式(4)を解くための手段である。代数方程式(4)を解くためのアルゴリズムとしては、ヤコビの反復法、ガウス・ザイデルの反復法、逐次過緩和法(SOR:Successive Over Relaxation)などが知られているが、ここでは、収束の速い逐次過緩和法を用いる。
【0084】
行列演算部17は、代数方程式(4)の解(各格子点における物理量φの値)を更新する度に、更新後の解を収束判定部18に提供する。収束判定部18は、更新前の解と更新後の解との差(のノルム)が予め定められた閾値以下になるか否かを判定する。
【0085】
更新前の解と更新後の解との差が予め定められた閾値以下である場合、収束判定部18は、行列演算部17に「OK」を返す。収束判定部18から「OK」が返されると、行列演算部17は、更新後の解を外部に出力すると共に、更新後の解をパラメータ記憶部21に格納する。パラメータ記憶部21に格納された解は、時刻tにおける解φ_P^tとして、時刻t+Δtにおける物理量φ_P^t+Δtを算出するために参照される。
【0086】
更新前の解と更新後の解との差が予め定められた閾値よりも大きい場合、収束判定部18は、行列演算部17に「NG」を返す。収束判定部18から「NG」が返されると、行列演算部17は、再度、解を更新する。行列演算部17は、更新前の解と更新後の解との差が予め定められた閾値以下になるまで(収束判定部18から「OK」が返されるまで)解の更新を繰り返し、最終的には更新前の解との差が予め定められた閾値以下となる収束解を得る。
【0087】
(コンピュータを用いた構成例)
数値流体計算装置1は、例えば、コンピュータ(電子計算機)を用いて実現することができる。図2は、コンピュータを用いて実現された数値流体計算装置1のハードウェア構成を例示したブロック図である。
【0088】
数値流体計算装置1は、図2に示したように、バス110を介して互いに接続された演算装置120と、主記憶装置130と、補助記憶装置140と、入出力インタフェース150とを備えている。演算装置120として利用可能なデバイスとしては、CPU(Central Processing Unit)を挙げることができる。また、主記憶装置130として利用可能なデバイスとしては、例えば、半導体RAM(random access memory)を挙げることができる。また、補助記憶装置140として利用可能なデバイスとしては、例えば、ハードディスクドライブを挙げることができる。
【0089】
入出力インタフェース150には、図2に示したように、入力装置200及び出力装置300が接続される。入力装置200は、パラメータ{Δt,ρ,Γ,S,U=(u,v,w),φ_kt,(∇φ)_kt}の値をユーザが数値流体計算装置1に入力するための手段であり、例えば、キーボードである。入力装置200を介して入力されたパラメータ{Δt,ρ,Γ,S,U=(u,v,w),φ_kt,(∇φ)_kt}は、演算装置120がこれを参照することができるよう主記憶装置130に格納される。すなわち、主記憶装置130は、パラメータ記憶手段21として利用される。
【0090】
一方、出力装置300は、代数方程式(4)の解(各格子点における物理量φの値)を出力するための手段であり、例えば、モニタである。なお、代数方程式(4)の解を出力装置300を介して出力する代わりに、代数方程式(4)の解を補助記憶装置140に格納するようにしてもよい。
【0091】
補助記憶装置140には、コンピュータを数値流体計算装置1として動作させるための数値流体計算プログラムが格納されている。数値流体計算プログラムは、モデリングプログラムと、切断面数カウントプログラムと、境界セル情報設定プログラムと、境界セル係数設定プログラムと、内部セル係数設定プログラムと、行列演算プログラムと、収束判定プログラムと、UIプログラムとを含んでいる。また、補助記憶装置140は、メッシュデータを格納するメッシュデータ記憶部22としても利用される。
【0092】
演算装置120は、主記憶装置130上に展開されたモデリングプログラムに含まれる命令を実行することによって、コンピュータをモデリング部11として機能させる。同様に、主記憶装置130上に展開された切断面数カウントプログラム、境界セル情報設定プログラム、境界セル係数設定プログラム、内部セル係数設定プログラム、行列演算プログラム、収束判定プログラム、及び、UIプログラムに含まれる命令を実行することによって、コンピュータ1を切断面数カウント部12、境界セル情報生成部13、内部セル情報生成部14、境界セル係数設定部15、内部セル係数設定部16、行列演算部17、及び、収束判定部18として機能させる。
【0093】
本発明の目的は、上記各プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を数値流体計算装置1に供給し、数値流体計算装置1がその記録媒体に記録されているプログラムコードを読み出し実行することによっても達成可能である。
【0094】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
【0095】
また、数値流体計算装置1を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して数値流体計算装置1に供給するようにしてもよい。この通信ネットワークとしては、とくに限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、とくに限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【0096】
(求積公式)
境界セルにおける境界面nbの面積A_nbは、上述したように、境界面の構成毎に導出された求積公式を用いて算出することができる。以下、この求積公式について、図5〜図8を参照して説明する。なお、以下の説明においては、基礎となる立方体の面に占める境界面nbの割合を開口率A_fluidと記す。
【0097】
「基礎となる立方体の各辺に高々1つの切断点を設ける」という条件から、考慮すべき組み合わせは、(1)切断点がない場合、(2)切断点が2つある場合、(3)切断点が3つある場合、(4)切断点が4つある場合の何れかに分類される。以下(1)〜(4)の場合について順に説明する。
【0098】
(1)切断点がない場合
境界面nb上に切断点がない場合、境界面nb全体が対象物Ωの内部(流体)に含まれるか(図5(a)参照)、又は、境界面nb全体が対象物Ωの外部(固体)に含まれるか(図5(b)参照)の何れかである。前者の場合、開口率A_fluid=1であり、後者の場合、開口率A_fluid=0である。
【0099】
(2)切断点が2つある場合
境界面nbが2つの切断面を含む場合、境界面nbの構成は、図6(a)〜図6(c)に示す3通りのうちの何れかになる。この場合、開口率A_fluidは、式(16)により算出される。
【0100】
【数16】

【0101】
(3)切断点が3つある場合
境界面nb上に切断点が3つある場合、境界面nbの構成は、図7(a)〜図7(e)に示す5通りのうちの何れかになる。図7(a)〜図7(d)に示す構成の場合、開口率A_fluidは、式(17)により算出される。
【0102】
【数17】

【0103】
一方、図7(e)の構成は、問題が2次元に退化してしまうため望ましくない。このため、図7(e)に示す切断点の配置が生じた場合には、メッシュを切り直す(対象物Ωを再分割する)ことが望ましい。
【0104】
(4)切断点が4つある場合
境界面nb上に切断点が4つある場合、境界面nbの構成は、図8(a)〜図8(d)に示す4通りのうちの何れかになる。図8(a)〜図8(b)に示す構成の場合、開口率A_fluidは、式(18)により算出される。
【0105】
【数18】

【0106】
なお、図8(c)〜図8(d)に示す構成は、問題が2次元に退化してしまうため望ましくない。このため、図8(c)〜図8(d)に示す切断点の配置が生じた場合には、メッシュを切り直す(対象物Ωを再分割する)ことが望ましい。
【0107】
〔実施例〕
最後に、温度Tが従う対流拡散方程式に本発明を適用した実施例について説明する。
【0108】
本実施例において計算対象とする系を図9に示す。本実施例において計算対象とする系は、図9に示すように、共通の中心を持つ小球面(半径d_i)と大球面(半径d_o)との間の空間である(d_i<d_o)。境界条件としては、小球面(内側境界)の温度=T_i、大球面(外側境界)の温度=T_oを課す(T_i>T_o)。
【0109】
レーリー数Raを下表の各値に設定したうえで、本発明の数値流体計算方法に従って各セルにおける温度Tの値を算出した。なお、レーリー数Raとは、式(19)により定義される量である。
【0110】
【数19】

【0111】
【表1】

【0112】
計算精度をチェックするために、各球面上での平均Nusselt数(以下「Nu数」」と略記する)を評価した。なお、小球面上での平均Nusselt数は、式(20a)のように定義される量であり、大球面上での平均Nusselt数は、式(20b)のように定義される量である。
【0113】
【数20】

【0114】
評価結果を図10に示す。図10(a)は、小球面上での平均Nusselt数を示し、図10(b)は、大球面上での平均Nusselt数を示している。同図においては、下記参考文献に記載された平均Nusselt数を比較例として示している。本発明の数値流体計算方法によれば、表1に示した何れのレーリー数に対しても、精度の高い数値流体計算が実現されていることが分かる。
【0115】
〔参考文献〕Greg V K, "Natural convection between concentric spheres", International Journal of Heat and Mass Transfer, 35(8), 1991, pp1935-1945
【産業上の利用可能性】
【0116】
本発明は数値流体計算に広く利用することができる。特に、(V)CADシステムと連携する数値流体計算に好適に利用することができる。
【符号の説明】
【0117】
1 数値流体計算装置
11 モデリング部
12 切断面数カウント部
13 境界セル情報生成部
14 内部セル情報生成部
15 境界セル係数設定部
16 内部セル係数設定部
17 行列演算部
18 収束判定部
19 UI部
21 パラメータ記憶部
22 メッシュデータ記憶部
IC 内部セル
BC 境界セル
e,w,n,s,t,b 境界面
kt 三角切断面
P 注目セルに含まれる格子点
E,W,N,S,T,B 隣接セルに含まれる格子点

【特許請求の範囲】
【請求項1】
対流拡散方程式を各セル上で積分することによって得られる代数方程式であって、各セル上の物理量と、該セルに隣接する隣接セル上の上記物理量との間に成り立つ代数方程式からなる方程式系を、コンピュータによって解く数値流体計算方法において、
計算対象領域を複数のセルに分割するセル分割ステップであって、計算対象領域の境界を含む境界セルとして、各辺上に高々1つの切断点が設けられた6面体を3つの切断点を頂点とするN個の三角切断面で切断して得られる(6+N)面体(NはNmax以下の自然数)を用いるセル分割ステップと、
上記境界セルの各々について、上記N個の三角切断面の面積を算出する切断面積算出ステップと、
上記境界セルの各々について、上記代数方程式に含まれる、対流流束の各三角切断面上での積分値、及び、拡散流束の各三角切断面上での積分値を、上記切断面積算出ステップにて算出された各三角切断面の面積と、上記計算対象領域の境界に課された境界条件とから算出する境界条件設定ステップと、を含んでいる、
ことを特徴とする数値流体計算方法。
【請求項2】
上記境界セルの各々について、該境界セルに隣接する隣接セルとの間の境界面の面積を算出する境界面積算出ステップと、
上記境界セルの各々について、上記代数方程式に含まれる係数であって、該境界セルに隣接する隣接セル上の上記物理量に係る係数を、上記境界面積算出ステップにて算出された各境界面の面積を用いて算出する係数算出ステップとを更に含んでいる、
ことを特徴とする請求項1に記載の数値流体計算方法。
【請求項3】
上記該境界セルの各々に含まれる三角切断面数Nの上限値Nmaxが4である、
ことを特徴とする請求項1または2に記載の数値流体計算方法。
【請求項4】
上記対流拡散方程式は、(1)式により表され、
【数1】

上記代数方程式は、各セル上の上記物理量をφP、該セルに隣接する隣接セル上の上記物理量をφE,φW,φN,φS,φT,φBとして、(2)式により表される、
【数2】

ことを特徴とする請求項1から3までの何れか1項に記載の数値流体計算方法。
【請求項5】
対流拡散方程式を各セル上で積分することによって得られる代数方程式であって、各セル上の物理量と、該セルに隣接する隣接セル上の上記物理量との間に成り立つ代数方程式からなる方程式系を解く数値流体計算装置において、
計算対象領域を複数のセルに分割するセル分割手段であって、計算対象領域の境界を含む境界セルとして、各辺上に高々1つの切断点が設けられた6面体を3つの切断点を頂点とするN個の三角切断面で切断して得られる(6+N)面体(NはNmax以下の自然数)を用いるセル分割手段と、
上記境界セルの各々について、上記N個の三角切断面の面積を算出する切断面積算出手段と、
上記境界セルの各々について、上記代数方程式に含まれる、対流流束の各三角切断面上での積分値、及び、拡散流束の各三角切断面上での積分値を、上記切断面積算出手段にて算出された各三角切断面の面積と、上記計算対象領域の境界に課された境界条件とから算出する境界条件設定手段と、を備えている、
ことを特徴とする数値流体計算装置。
【請求項6】
コンピュータを請求項5に記載の数値流体計算装置として動作させるためのプログラムであって、上記コンピュータを上記数値流体計算装置が備える各手段として機能させるプログラム。
【請求項7】
請求項6に記載のプログラムが記録された、コンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate