stlファイルの投影法について

336 views
Skip to first unread message

小川晟

unread,
Nov 16, 2020, 12:37:19 AM11/16/20
to OpenFOAM
はじめまして。OpenFOAMの初学者です。
長文になってしまい恐縮ですが、不明点があれば都度指摘をお願いします。
板状のblockMesh内部に粒子を流すDEM解析について質問があります。


PENGUINTIS様から配布データsquare.tar-4.1.gzをいただき、編集して使用しています。

CADファイルはFreeCADにて製作しました。
 ・OrificeL.stl
 ・OrificeR.stl

squareファイル内の追加ファイルは
constant
 ・triSurface
   ・OrificeL.stl
   ・OrificeR.stl
   ・OrificeL.eMesh
   ・OrificeR.eMesh  
system
 ・meshQualityDict
 ・snappyHexMesh
 ・surfaceFeatureDict
です。

解析コマンドは
①blockMesh
②snappyHexMesh
③snappyHexMesh -overwrite
④icoUncoupledKinematicParcelFoam
⑤foamToVTK
⑥paraFoam
です。

問題はparaView投影時にCADのファイルがvtkに変換されないことです。
snappyHexMesh -overwrite後のcheckMeshが機能していないみたいです。
CADファイルの扱い方を教えてください。

以下に解析前ファイルを添付します。
よろしくお願いします。
test.zip

penguinitis

unread,
Nov 16, 2020, 4:56:36 AM11/16/20
to OpenFOAM
データのリンクの名前が間違ってますね。ありがとうございます。直しておきます...。

データはおそらく、STL があるところがメッシュが抜けて壁になるのですよね。
ご質問は、最後まで実行してみたが STL の形状が ParaView で出てこない、ということだと解釈しました。

たぶん、snappyHexMesh の時点で失敗しているのだと思います。
そのあたりを見直されてはどうでしょうか。
うまく行っていれば形状はメッシュに反映されるため、STL のことは考えなくてよいはずです。

また、最近の OpenFOAM か ParaView か、どっちか忘れましたが、
最近は foamToVTK 使わなくても、paraFoam で粒子の表示ができたと思います。
(v2006 の ParaView ネイティブリーダーではいけた)



2020年11月16日月曜日 14:37:19 UTC+9 jore...@gmail.com:

小川晟

unread,
Nov 16, 2020, 6:14:37 AM11/16/20
to OpenFOAM
penguinitis 様

迅速な返信、ありがとうございます。
先にお名前の誤記をお詫びいたします。


 >データはおそらく、STL があるところがメッシュが抜けて壁になるのですよね。
ご質問は、最後まで実行してみたが STL の形状が ParaView で出てこない、ということだと解釈しました。

解釈はおっしゃる通りです。つたない文章で申し訳ございません。
状況設定を画像にて添付させていただきます。
STLファイルが読み込めず、blockMeshのみが現れてしまいます。


>たぶん、snappyHexMesh の時点で失敗しているのだと思います。
そのあたりを見直されてはどうでしょうか。
うまく行っていれば形状はメッシュに反映されるため、STL のことは考えなくてよいはずです。

snappyHexMeshから失敗しているのですね。明日snappyHexMesh を見直します。結果はこの見直しの後、報告します。


>また、最近の OpenFOAM か ParaView か、どっちか忘れましたが、
最近は foamToVTK 使わなくても、paraFoam で粒子の表示ができたと思います。
(v2006 の ParaView ネイティブリーダーではいけた)

わかりました。そのように試してみます。

 
重ねての質問恐縮ですが、粒子の個数について質問があります。
粒子数はKinematicPositionにより個別で配置が可能ですが、粒子群(2000個近く)を設定したい場合に粒子濃度のような、まとめての設定ができますでしょうか。
2000個ほど個別に座標を入れ込むことは時間次第では可能だと思いますが...
ご教授いただければ幸いです。
状況設定.JPG
2020年11月16日月曜日 18:56:36 UTC+9 penguinitis:

penguinitis

unread,
Nov 16, 2020, 10:51:23 PM11/16/20
to OpenFOAM
>粒子数はKinematicPositionにより個別で配置が可能ですが、粒子群(2000個近く)を設定したい場合に粒子濃度のような、まとめての設定ができますでしょうか。

ちょっと調べたところ、OpenFOAM v2006 では、injectionModel がいっぱいあるようです。

Valid injectionModel types :

12
(
cellZoneInjection
coneInjection
coneNozzleInjection
fieldActivatedInjection
inflationInjection
injectedParticleDistributionInjection
injectedParticleInjection
kinematicLookupTableInjection
manualInjection
none
patchFlowRateInjection
patchInjection
)

この中で、cellZoneInjection が怪しいです (v8 にもあるみたい)。

src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/CellZoneInjection/CellZoneInjection.H

//////////
    Injection positions specified by a particle number density within a cell        
    set.                                                                         
                                                                                 
    User specifies:                                                              
      - Number density of particles in cell set (effective)                      
      - Total mass to inject                                                     
      - Initial parcel velocity                                                  
                                                                                 
    Properties:                                                                  
      - Parcel diameters obtained by PDF model                                   
      - All parcels introduced at SOI
//////////

詳しい使い方はわかりません。
セルセットとかよくわからなければ、Python で並べてしまったほうが早いかもしれない。

ちなみに、最初から玉同士や玉と壁が少しでも重なっていたら、爆発しますので気をつけてください。

2020年11月16日月曜日 20:14:37 UTC+9 jore...@gmail.com:

小川晟

unread,
Nov 17, 2020, 12:47:17 AM11/17/20
to OpenFOAM
penguinitis様


今後cellZoneInjection を入れ込み試してみます。情報の提供、ありがとうございます。


先の質問でお答えいただいた、snappyHexMeshを編集しました。無事挿入が終わりました。重ねて感謝申し上げます。
STLファイル挿入完了.PNG 


STLファイルについて問題が終わったのですが、この状態からicoUncoupledKinematicParcelFoamを走らせた場合にエラーが吐かれるようになってしまいました。
勝手ながらコードを貼らせていただきますので、お気づきの点がございましたらご指摘いただけると幸いです。
 icoUncoupledKinematicParcelFoam エラー1.PNGicoUncoupledKinematicParcelFoam エラー2.PNG
2020年11月17日火曜日 12:51:23 UTC+9 penguinitis:

penguinitis

unread,
Nov 17, 2020, 8:04:58 AM11/17/20
to OpenFOAM
最初に貼られたケースだと、粒子が 1 つ壁と重なってすっ飛んでいました。
粒子の位置を見直してもらったらよいと思います。
計算が止まるのはそのせいかもしれません。

2020年11月17日火曜日 14:47:17 UTC+9 jore...@gmail.com:

小川晟

unread,
Nov 17, 2020, 10:29:18 PM11/17/20
to OpenFOAM
penguinitis様

返信が遅れまして、申し訳ございません。
penguinitis様の提案通りに、positionファイルを操作してみましたが解決しませんでした。こちらで境界条件を操作した結果、成功しました。添付画像を貼らせていただきます。
成功画面1.PNG成功画面2.PNG成功画面3.PNG

Uファイル内部のstlの境界条件が未記載だったのが原因かもしれません。過去にfoamToVTKコマンドは不要と助言を受けましたが、lagrangianファイルが開けず返還をしました。この結果は粒子群や目的の条件に対し幾分か差異がありますが、とりあえずの基本ができました。
penguinitis様の助言があってこそ成功しましたので、心よりお礼を申し上げます。
私の質問に丁寧に答えてくださって誠にありがとうございました。

2020年11月17日火曜日 22:04:58 UTC+9 penguinitis:
Reply all
Reply to author
Forward
0 new messages