既存のsnppyHexMeshにFAN境界用のメッシュを置く方法

235 views
Skip to first unread message

asamit

unread,
Jul 25, 2011, 8:55:48 PM7/25/11
to OpenFOAM
はじめまして
OpenFOAMの習得を始めた者です。
三次元CADで作成した流路モデル(例:PC筐体)にFANを置いて、強制対流による風の流れを見ようとしております。
OpenFOAMのインストールと、snappyHexMeshの動作やtutorialのTJunctionFanの動作を見るところまで出来ており
ます。
現在cyclicを利用したFAN境界の作り方を調べておりますが、2面(in,out)のメッシュを一致させることが出来ず、simpleFoamを
実行すると下記のエラーが出ます。
For patch fan_in there are 80 face centres, for the neighbour patch
fan_out there are 116
2面の形状はstlに作りこんであるので、自動メッシュを作成すると、上記のようになるのは仕方ないと思いますが、別の方法でもよいので、なんとかパッ
チcyclic用のメッシュをうまく作成する方法はございませんでしょうか。

Tera

unread,
Jul 25, 2011, 9:46:21 PM7/25/11
to OpenFOAM
はじめまして。私も初心者ですが。

stlから作るtriSurfaceMeshではcyclicにできないかと思います。
patchを作る方法自体ならcellSetやfaceSetでできるのではないかと。

stlファイルから作る方法としては
まず、fan境界のない状態でメッシュを切った後に
---------fan.setSet--------------
cellSet fan new surfaceToCell "constant/triSurface/fan/fan.stl" ((2.5
0.1 0.1)) true false false -1 -100
#inとoutの境界のうちどちらか(あるいは中間に新しい面)をstlとして指定し、その面によって切られるセルをcellSet名fan(名前はな
んでもいい)として指定
cellSet fan invert
#fanを抜く→cellSet:Fanの表面に新しい境界が生成
-------------------------------------
というテキストファイルを作って実行
----------------------------------------
$ setSet -batch fan.setSet
$ subsetMesh fan -overwrite
---------------------------------------

→境界名oldInternalFaces(ワイルドカード名称)として生成
これで表面両側が同じ名称のpatchになりますので、これでcyclicを指定できます。

このsetSetは便利で、
例えば物体表面のセルだけを指定してメッシュを細かく切ったり、あるいはboxToCellなどで空間内のエリアを分割したりできます。
多分他にもやり方はあるのではないかと思いますが…
(たとえばpointSet surfaceToPoint→FaceSet:pointToFaceなど やり方はよく分かりませんが…)

一つ疑問なのですが、cyclicはcoupledPatchとしてどちらも同じ名称で指定するのに
type:fanでin側とout側はどうやって設定するのでしょうか…という初歩的なことがわかりません…

それでは。
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
Message has been deleted
0 new messages