境界条件の設定に関して

2,497 views
Skip to first unread message

ken

unread,
Feb 1, 2009, 6:10:19 PM2/1/09
to OpenFOAM
始めましたkenと申します。
素人なので敷居を高く感じ、質問させて戴く事をためらっておりましたが自己解決出来ないので教えて戴きたいと思いディスカションに参加させて戴きまし
た。

曲り管の内部定常流れ解析をsimpleFoamを使って解きたい(そもそもsimpleFoamで良いのかも判りませんが)のですが、流入・流出条件
を、流入が大気圧、流出を流入に対して差圧にて引っ張るようにしたいのですが、設定が判らずうまく計算出来ません。

どなたか流入、流出、壁の境界条件の設定をお教え戴けないでしょうか。

よろしくお願い致します。

Giro

unread,
Feb 2, 2009, 3:36:29 AM2/2/09
to OpenFOAM
SimpleFOAMで計算した事のある事例では、
以下の設定での計算経験があります。
 流入側 速度固定、圧力は微分値=0
 流出側 速度微分値=0、圧力固定
ちょっと違いますが、rhoSimpleFOAMのサンプルファイルであれば以下に置いてあります。
http://giropenfoam.web.fc2.com/sample/rhoSimpleFoam/index.html

条件によっては圧力指定条件で解ける事もあるかと思いますが
基本的には、SimpleFOAMで差圧指定境界の解析は
少々収束が難しいのではないかと思います。
理由については、以下のURLで 13~19ページをご覧になってください。
具体例が紹介されているので、理解の一助になるかと思います。
http://accc.riken.jp/HPC/HimenoPresen/080121_toda.pdf

差圧のみで解く場合、収束解に非常に近い解からスタートしないと、
解が発散する可能性が強いと思います(私が大嘘言っているようであったら、どなたか指摘をお願いします)。
もっとも、そのような解を知っていたら解析しない訳ですのが...。

解かれようとしている問題は、
差圧指定以外の境界条件指定ができない問題なのでしょうか?

ken

unread,
Feb 2, 2009, 4:42:04 AM2/2/09
to OpenFOAM
kenです。
Giroさん、情報ありがとうございます。

解きたい問題は、フローベンチ(正式名かは判りません)で評価している流量測定を解析に置き換えたいと考えています。
フローベンチは、上流と下流での圧力差を設定するのみの装置なので解析もそのような手法でするしかないものと思っております。
管形状の仕様決めを解析で出来ないものかと考えております。

戴いた情報を参考させて戴きます。

ありがとうございます。
> > よろしくお願い致します。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

E.Mogura

unread,
Feb 2, 2009, 3:40:40 PM2/2/09
to OpenFOAM
確かにGiroさんの書かれた通り、差圧(静圧)指定ではうまくいかないと思いますが、OpenFOAMには全圧指定する方法(Uが変わるとそれに従
い P も調整される)があったと思い、調べてみました。

rasCavitatingFoamのチュートリアルの中にサンプルケース(throttle)があったので、それをベースにsimpleFoamの
チュートリアル問題(pitzDaily)で試行錯誤したところ、

圧力(p)

inlet
{
type totalPressure;
U U;
phi phi;
rho none;
psi none;
gamma 1;
p0 uniform 40;
}

outlet
{
type fixedValue;
value uniform 0;
}

速度(U)

inlet
{
type zeroGradient;
}

outlet
{
type zeroGradient;
}

にて、ほぼデフォルト(流入速度=10を規定)の計算結果と同じになること確認しました。
> > - 引用テキストを表示 -- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

ken

unread,
Feb 2, 2009, 4:17:04 PM2/2/09
to OpenFOAM
kenです。
E.Moguraさん、情報ありがとうございます。

全圧指定にて色々試してみたいと思います。

Giroさん、E.Moguraさん、ありがとうございました。

Giro

unread,
Feb 2, 2009, 6:46:14 PM2/2/09
to OpenFOAM
総圧指定 の例を、以下にも挙げておきます。
Liquid-Draining2を参照ください。
http://giropenfoam.web.fc2.com/sample/interFoam/index.html

ken

unread,
Feb 22, 2009, 4:22:07 AM2/22/09
to OpenFOAM
kenです。
だいぶ時間がかかってしまいましたが、Giroさん、E.Moguraさんに教えて戴きました内容にて試行錯誤しSimpleFOAMにてなんとなく解
けたのでは思われるところまでたどり着きました。

Time = 4000

DILUPBiCG: Solving for Ux, Initial residual = 1.90217e-05, Final
residual = 1.06342e-06, No Iterations 2
DILUPBiCG: Solving for Uy, Initial residual = 1.79051e-05, Final
residual = 6.25761e-07, No Iterations 2
DILUPBiCG: Solving for Uz, Initial residual = 3.23373e-05, Final
residual = 9.42221e-07, No Iterations 2
DICPCG: Solving for p, Initial residual = 2.90614e-05, Final residual
= 1.28727e-06, No Iterations 6
time step continuity errors : sum local = 1.62526e-06, global =
1.28521e-07, cumulative = 0.460292
smoothSolver: Solving for epsilon, Initial residual = 1.31423e-05,
Final residual = 2.42178e-07, No Iterations 4
bounding epsilon, min: -0.496882 max: 18958.3 average: 152.041
smoothSolver: Solving for k, Initial residual = 6.20492e-05, Final
residual = 1.39982e-06, No Iterations 4
ExecutionTime = 13008.7 s ClockTime = 13338 s

個人的な興味でやっていることなので解が正しいのかは検証出来ませんが、まだデータサンプリングも出来ていませんの確かめて行きたいと思います。
今回、試行錯誤したなかで計算が最後まで流せて方法なのですが、
・始めは解が発散したので緩和係数、k、εの値を小さく設定し、収束が安定するまで数百Time流す。
・数百Time後の解をもとに、緩和係数をdefaultに戻し、k、εを大きく設定流す。
というような手法で計算出来たのですが、このような手法で正しいものなのでしょうか。
結構な時間もかかったので、どうにかして上記ステップを一回で流す方法はないのでしょうか。
素人考えなので間違っていたら無視願います。

最後ですが、今後データサンプリングで流出部での流量を確認するために、流出部での速度の値(平均流速?)を確認したいと思っています。
何かアドバイスを戴ければお願い致します。

Giroさん、E.Moguraさん、ありがとうございました。

Giro

unread,
Mar 14, 2009, 4:58:20 AM3/14/09
to OpenFOAM
> ・始めは解が発散したので緩和係数、k、εの値を小さく設定し、収束が安定するまで数百Time流す。
> ・数百Time後の解をもとに、緩和係数をdefaultに戻し、k、εを大きく設定流す。


ずいぶんと経ってしまいましたが...
私も、よくこれに類似の手を使います。
流入条件を1/10からスタートして、徐々に狙った条件までUpさせる 等。

以上、参考まで。
Reply all
Reply to author
Forward
0 new messages