SingleDetachedHouse

出典: OFWikiJa

Valid versions:Image:OF_version_15.png

目次

[編集] はじめに

これは日本建築学会の戸建標準住宅周辺の風環境解析をOpenFOAMで行なうためのチュートリアルケースである。 OpenFOAMはVersion 1.5以上である必要がある(格子の生成にsnappyHexMeshが必要なため)。 実行にはsetDiscreteFieldswpcRASのユーティリティも必要である。 また、結果のプロットにはgnuplotとpasteコマンドが必要である。

[編集] 使用法

[編集] 初期化

% make clean

[編集] 格子生成

% make mesh

これにより、makeMeshスクリプトが実行される。 log.makeMeshにログが残る。

makeMeshは以下のようにして格子を生成する。

  1. blockMeshによって、ベースの粗い立方体の格子を生成する。
  2. snappyHexMeshによって、指定した幾何形状の境界に適合したメッシュを生成する。
  3. checkMeshによって、メッシュの質をチェックする。
  4. renumberMeshによって、格子の順番を入れ替えて、計算効率を上げる。

[編集] 計算初期条件設定

% make init

これにより、makeInitスクリプトが実行される。 log.makeInitにログが残る。

makeInitは以下のようにして初期化を行なう。

  1. デイレクトリ0を消去し、orig0を0に複製する。
  2. setDiscreteFieldsDictによって、境界面に流入風プロファイルを設定する。

[編集] 計算実行

[編集] 非並列計算

テスト用にフォアグランドで実行する場合には、

% make fgrun

とする。log.simpleFoamにログが残る。

上記でテスト後、バックグラウントで実行する場合には、

% make bgrun

とする。こちらもlog.simpleFoamにログが残る。

[編集] 並列計算

まず、領域分割する。

% make de

次に、テスト用にフォアグランドで実行する場合には、

% make pfgrun

とする。log.simpleFoamにログが残る。

上記でテスト後、バックグラウントで実行する場合には、

% make pbgrun

最後に分割領域を統合する。

% make re

[編集] 結果プロット

% make plot

以下の図が作成される。 gnuplotが必要である。

  • res.eps - 残差
  • corwpc.eps - 壁面や屋根面における風圧係数の風洞実験結果[1]との相関

[編集] 設定

[編集] 格子生成

[編集] blockMeshDict

ベース格子の大きさや粗さ、境界面の名前、種類を定義。

[編集] system/snappyHexMeshDict

  • snap - 境界に適合させるか否か。
  • addLayers - 境界のパッチに層を挿入するか否か。
  • geometry - 境界形状定義ファイルや細分化領域の定義。
  • castellatedMeshControls
    • refinementSurfaces - 境界形状と交差する格子の細分化レベル。最低限細分化レベルと最大レベルを定義。
    • refinementRegions - 細分化領域での細分化手法の定義。
    • locationInMesh - 常に格子内ある点の定義。
  • addLayersControls
    • layers - 境界パッチへ挿入する層の数。
    • expansionRatio - 層の厚みの拡大率(パッチから外側に向けて)。
    • finalLayerRatio - パッチから最も遠い層の厚み。層の外側にある歪んでいない格子の厚みに対する比。

このケースでは、以下の例を用意している。

  1. snappyHexMeshDict.1 - 建物周辺のみ細分割。
  2. snappyHexMeshDict.2 - 1.+領域全体を段階的に細分割。
  3. snappyHexMeshDict.3 - 2.+建物表面の再分割レベルを1つ増加。
  4. snappyHexMeshDict.4 - 3.+建物表面に2個のレイヤーを付加。

下に行くほどsnappyHexMeshの実行時間が増加する。

[編集] constant/triSurface/targetHouse.stl

戸建住宅のSTL形式幾何形状ファイル。

[編集] 計算初期条件設定

[編集] system/setDiscreteFieldsDict

流入面におけるU,k,epsilonの鉛直プロファイルを定義。

[編集] 計算実行

以下はsimpleFoam用設定ファイル。

[編集] system/controlDict

endTimeは1000としているが、格子をより細かくした場合には、endTimeを増加 させる必要がある。

[編集] system/fvSchemes

デフォルトでは、U,k,epsilonの移流項スキームにはvanLeerを使っている。

[編集] system/fvSolution

pにはGAMGを、それ以外はPBiCGの線型ソルバーを用いている。

[編集] constant/RASProperties

デフォルトではrealizableKEを用いている。 kEpsilonを用いると、風上壁面における衝突域でのkの生産が過剰になるため、kや風圧係数が風洞実験より大きくなってしまう[2]。 RNGkEpsilonを用いると、風圧係数の風洞実験との相関は良いが、計算が不安定にあることがある。

[編集] constant/transportProperties

nuには298Kの空気の動粘性係数を設定している。

[編集] 結果プロット

[編集] system/wpcRASDict

風圧係数算出アプリケーションwpcRAS用設定ファイル。

  • referenceDynamicPressure - 基準動圧
  • referenceStaticPressureLocation - 基準静圧の参照点

[編集] system/sampleDict

sample用設定ファイル。 風圧係数wpcの計算結果を、風洞実験における壁面・屋根面での風圧測場所でサンプリングするように設定している。

[編集] res.gp

残差プロット用のgnuplot入力ファイル。

[編集] corwpc.gp

壁面や屋根面における風圧係数の風洞実験結果との相関プロット用gnuplot入 力ファイル。

[編集] 参考文献

[1]星野 秀明、鎌田 元康、今野 雅、赤嶺 嘉彦: 密集市街地における住宅の通風有効利用に関する研究 (第1報) : 風圧係数に基づくボイド空間の通風促進効果に関する実験的検討、 空気調和・衛生工学会学術講演論文集、Vol.III, pp.2269-2272, 2006 [PDF]

[2]遠藤 智行、倉渕 隆、野中 俊宏: CFDによる建物風圧係数分布の予測精度に関する研究 その3 : 格子再分割による改善効果、 日本建築学会大会学術講演会梗概集、Vol.D-2, pp.815-816, 2006 [URL]

[編集] ダウンロード

実行には、setDiscreteFieldswpcRASのユーティリティもインストールする必要がある。

[編集] 更新履歴

  • Masa 2008年8月14日 (木) 12:41 (JST): Fix typo in system/wpcRASDict etc.
  • Masa 2008年8月1日 (土) 19:57 (JST): 初期バージョン