壁関数の係数をパッチごとに変更するには?

409 views
Skip to first unread message

Takuya OSHIMA

unread,
Aug 4, 2008, 6:36:58 AM8/4/08
to OpenFOAM
大嶋です。

今、↓こちらのCase Bを行っているのですが、
http://www.aij.or.jp/jpn/publish/cfdguide/index.htm
計算条件詳細で、地面と建物の壁関数が
・地面境界条件: z0を含んだ形のlog lawを用いる
・建物壁面境界条件: log lawに基づく壁関数を用いる
と指定されています。

そこで、地面に与える壁関数の係数Eを上記文献のz0等から計算すると、
およそ0.5となります(この値もかなり変な気がするので、要確認ですが・・)。

一方、建物の方は通常の(?) log lawを使用することとすると、
Eの値は手持ちの文献で9.7となります。

で、地面と壁面で別々にEの値を与えたいのですが、私めの知る限りでは、
constant/RASPropertiesで一つの値しか与えられないように思えます。
これを別々に与えることは出来るのでしょうか?

Masashi Imano

unread,
Aug 4, 2008, 12:37:13 PM8/4/08
to OpenFOAM
今野です。

Eを境界毎に別々に与えるのはソースを変更しないと出来ないと思います。

また、そもそも粗度長z0を与えるlog law(z0型)と通常のlog law(滑面型)では、
logの中身の式が違う(滑面型ではyPlusが入るが、z0型では入らない)ので、E
の値をしてもz0型log lawと同一の境界条件になりません。

Ref. http://ci.nii.ac.jp/naid/110003798464/

実は私も3年以上も前に、上記の論文の解析をOpenFOAMで行おうとして、z0型
log lawと滑面のlog law、べき乗則を境界毎に切り替えるにはどうすれば良い
かMessage Boardで聞いたことがありました。ですが、エレガントに行なう方
法がわからないのと、時間があまりなかったということで、パッチ名のに~~が
付いていたらz0型、^^が付いていたらべき乗則を適用するといった、超アドホッ
クなコードを書いて、とりあえずやり過したという経験があります^^;

Ref. http://openfoam.cfd-online.com/forum/messages/1/559.html#POST5873

でも、計算してみるとz0型と滑面型ではほとんど違いが出なかったので(実装
が間違っていた可能性もありますが)、それ以降z0型で行なわれてるベンチマー
クテストでも私は滑面型で計算しています。

なお、これらの風環境のベンチマークの検証データである風洞実験では、通常
ターンテーブル上にはラフネス要素が設置されておらず、ターンテーブル表面
も滑面なので、上流のラフネスも含めた長い解析領域を設定しないのであれば
滑面型で設定するのが筋であるという意見も仲間内では多いです。

Takuya OSHIMA

unread,
Aug 4, 2008, 11:13:04 PM8/4/08
to OpenFOAM
大嶋です。

詳細にありがとうございます。
(y+) = y * (u*) / nu
とすれば形式的には同じ形の式が導けるようなので、
係数だけ変えれば何とかなるかと思ったのですが、そうでもないのですね。
とりあえず、滑面のlog lawでやってみます。

> 今野です。
>
> Eを境界毎に別々に与えるのはソースを変更しないと出来ないと思います。

Takuya OSHIMA

unread,
Aug 5, 2008, 4:31:00 AM8/5/08
to OpenFOAM
大嶋です。

上記のなんちゃってz0型と滑面型で比べてみました。
鉛直面速度分布→地表面付近を除きほとんど同じ
地表面付近の水平面速度分布→数パーセントの違い有り、ただし実験値には滑面型が近い
ということで、とりあえず滑面型で良いようです。

> とりあえず、滑面のlog lawでやってみます。
Reply all
Reply to author
Forward
0 new messages