平均速度のphi field作成について

961 views
Skip to first unread message

kogawa

unread,
Mar 27, 2013, 2:48:12 AM3/27/13
to open...@googlegroups.com

いつも本グループを参考にさせて勉強させて頂いております.古川と申します.

現在私LESで垂直加熱平板の乱流自然対流場の計算を行なっているのですが,流出境界条件の与え方で苦労しています.

最初本計算にあたって,流出境界条件をUを inletOutlet (inlet 値は0)でTをzeroGradient,PもzeroGradientで与えていました.


http://www.geocities.jp/penguinitis2002/study/OpenFOAM/noreflect/noreflect.html

しかし上記の資料によりますと,zroGradientの境界条件だと流れの数値的な反射があることがわかっています.
この解決策として本資料ではUの境界条件にadvective boundary condition を使用しております.

advective boundary condition は次式で表され,
DΦ/Dt =  dΦ/dt + U ・∇Φ  = 0 (Φは変数)
で変数の実質微分が0の形で表されています.

LESの数値計算でもこれと似たような境界条件としてconvective boundary condition が使用されることが多いらしいです.
この境界条件は
dΦ/dt + Ubulk ・∇Φ = 0
となっていてadvective の速度がバルクの速度となっているのがconvective boundary conditionです.

advective boundary condition を見たところ,実質微分に現れる項の速度はUのphiから取得しているようでした.なのでこのphiをUの平均速度のphiにすればconvetive boundary conditionに変えられるのではないかと思っています.
しかしC++のコード開発の経験がなく,どこをどういじってUmeanのphi field が得られるのか見当がつきません.

いまのところadvective を流出境界条件として使用してLESの計算を行なっているのですが,なかなか収束しないことがたまにあります.

上記の問題点についてご助言,参考にできる資料がありましたらご教授の程よろしくお願い致します.


古川









すもも

unread,
Mar 27, 2013, 5:31:52 AM3/27/13
to open...@googlegroups.com
こんにちは。

内容はよくわからないので文字どおり解釈しますが、
advectiveFvPatchField.H のコメントを見ると、

    myPatch
    {
        type            advective;
        phi             phi;
    }

とあるので、平均速度の phi を作って指定すればよさそうです。

平均速度の phi をソルバーの中で作るには、createFields.H の中で、
$FOAM_SRC/finiteVolume/lnInclude の createPhi.H か compressibleCreatePhi.H かを
真似して作ればよいと思います。

平均速度の phi の計算はつぎのようにすればよいでしょうか。

// runTime.write() の直前?
volVectorField Umean("Umean", U);
Umean = average(U); // 平均速度
phiMean = fvc::interpolate(U) & mesh.Sf(); // 平均速度の phi

ohbuchi

unread,
Mar 28, 2013, 12:25:42 AM3/28/13
to open...@googlegroups.com
こんにちは。
かなり古い投稿なのですが、新潟大の大嶋先生がCFD-OnlineにconvectiveOutlet境界条件を投稿されています。
最新のものは、askjakさんによる改造版(2009年6月)です。
http://www.cfd-online.com/Forums/openfoam-solving/57840-convective-outlet-boundary-condition-unsteady-flows-4.html#post219095

試しにダウンロードして、OpenFOAM-2.2.xでコンパイルしてみましたが、殆ど変更せずにコンパイルできました。
必要な変更は、CrankNocholsonDdt→CrankNicolsonDdtだけです。
サンプルはoodlesだったのですが、kEpsilonモデル+pimpleFoamに変更すると計算も実行できました。

ご参考まで。


2013年3月27日水曜日 15時48分12秒 UTC+9 kogawa:

kogawa

unread,
Mar 28, 2013, 3:20:29 AM3/28/13
to open...@googlegroups.com
すもも 様
ohbuchi 様

御助言本当にありがとうございます.
さっそくお二人が提案されたものを試してみたいと思います.

古川


2013年3月27日水曜日 15時48分12秒 UTC+9 kogawa:
Reply all
Reply to author
Forward
0 new messages