軸対称系の回転について

271 views
Skip to first unread message

Nica

unread,
Jul 2, 2010, 7:12:31 AM7/2/10
to OpenFOAM
初めまして、Nicaと言います。
Ubuntu10.04上でOF1.7.0を数日前から試しています。

お聞きしたいのですが、軸対称形、最初のところは全体が一定の角速度で動く単純な回転円筒内部を
想定して計算したいと思うのですが、参考になるようなサンプル、ドキュメントなどはあるでしょうか。
いずれは二重円筒の間の流れなども計算してみたいと思います。希薄流体を想定しているので
dsmcFOAMを使いたいと思いますが、分からないのはもっと一般的な事です。

マニュアルのP.127のようにくさび型の体系を作ればいいと思うのですが、

1.側面の壁はedgesで作れるのでしょうか?

2.側面には当然曲率がありますが、キャビティ流れのサンプルと
 同じようにuniformの速度指定でうまく動作しますか?

3.上面、下面の扇形の部分についてはどのようにパッチを指定すればよいでしょうか。

4.上面部、下面部の速度はgradientで半径位置にしたがって0から壁面の速度まで動かせば良いと思うのですが
 この理解でよろしいでしょうか?

CFDonlineやこちらのディスカッションに関しては思い当たるキーワードで検索したつもりですが、
かなり基本的なことのように思いますので、見落としていた場合は申し訳ありません、
参考リンク等示していただければさいわいです。よろしくお願いいたします。

Nica

unread,
Jul 9, 2010, 8:13:33 PM7/9/10
to OpenFOAM
申し訳ありません、自己解決しました。
側面の壁は直線で近似するので単純に図示してある楔形にすれば良いのですね。

2,3,4,についてですが、以下のように指定して境界条件としては望むものが得られたと思いますが、
実際に計算してみると何故か軸側の方が密度が高くなってしまうというおかしな状況になっています。
(当然気体分子は壁側に寄るはずです)
何か思い当たる原因があれば教えていただけないでしょうか。

FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object boundaryU;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * //

dimensions [0 1 -1 0 0 0 0];

internalField uniform (0 0 0);

boundaryField
{
rotAxis1
{
type empty;
}

UrotatingWall
{
type rotatingWallVelocity;
origin (0 0 0); // origin of axis and the axis
axis (0.665 0 0); // about which the wall will rotate
omega 2897.2973; // 1/s
}

BrotatingWall
{
type rotatingWallVelocity;
origin (0 0 0); // origin of axis and the axis
axis (0.665 0 0); // about which the wall will rotate
omega 2897.2973; // 1/s
}

wallShroudLateral
{
type fixedValue;
value uniform (0 0 268);
}

front
{
type wedge;
}

back
{
type wedge;
}
}

メッシュはエラーなしに生成できていますが、幾何学的形状以外のミスがあるかもしれないので
一応blockMeshDictも載せておきます。

FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * //

convertToMeters 1;

vertices
(
( 0 0 0)
( 0.665 0 0)
( 0 0.0921480096 -0.0080619062)
( 0.665 0.0921480096 -0.0080619062)

( 0 0.0921480096 0.0080619062)
( 0.665 0.0921480096 0.0080619062)

);

blocks
(
hex (0 1 3 2 0 1 5 4) (100 40 1) simpleGrading (1 0.2 1)
);

edges
(
);

patches
(
empty rotAxis1
(
(0 1 1 0)
)
wall UrotatingWall
(
(0 0 4 2)
)
wall BrotatingWall
(
(1 1 3 5)
)

wall wallShroudLateral
(
(2 4 5 3)
)
wedge front
(
(0 1 5 4)
)
wedge back
(
(0 2 3 1)
)
);

mergePatchPairs
(
);

以上、どんなささいなことでも構いませんので助言をいただけると助かります。

Nica

unread,
Jul 20, 2010, 2:06:21 AM7/20/10
to OpenFOAM
チュートリアルの他のソルバのblockMeshdictを見ていたところ、回転軸はemptyではなくsymmetryPlane
であるべきかも知れないと思い、変えてみましたが、やはり軸側で圧力が高くなってしまっています。
分子の速度は以下のように正しく分布しているので何かパッチの設定がおかしいかと思います。

http://openfoam.googlegroups.com/web/UMean%20Z.png?gsc=dYVvKQsAAAC78iEVXprtX-kjGg_23KHr

恐らくdsmcFoamを使われている方はまだ多く無いかもしれませんが、問題の切り分けのために、
上記の設定がopenFoamの一般論として正しいか、dsmc固有の部分でつまづいているのか知りたいと思います。
コメント、助言などいただければ幸いです。
Reply all
Reply to author
Forward
0 new messages