並列で処理したsnappyhexmeshのメッシュを押し出す場合は一度メッシュを結合させるのでしょうか?

93 views
Skip to first unread message

snoop cattt

unread,
Jun 1, 2025, 5:35:21 AMJun 1
to OpenFOAM
お世話になります。初めて質問させていただきます。

目的
wingmotionチュートリアルの、snappyhexmeshとsimplefoamを並列で処理したい

並列で処理したメッシュを、extrudeMeshする時は一度メッシュを結合しないといけないでしょうか?
以下の流れで行ったのですが、ソルバー実行時に、Cannot find patchField entry for procBoundary と出てきてしまいます。


runApplication blockMesh
decomposePar(追加)
runApplication snappyHexMesh -overwrite
reconstructParMesh -constant(追加)
runApplication extrudeMesh
runApplication createPatch -overwrite
decomposePar(追加)
restore0Dir
runApplication simpleFoam

Hideaki Kominami

unread,
Jun 2, 2025, 8:18:46 AMJun 2
to open...@googlegroups.com
snoop cattt さん 

kominamiです。

1.runApplication blockMesh
2.decomposePar(追加)
3.runApplication snappyHexMesh -overwrite
4.reconstructParMesh -constant(追加)
5.runApplication extrudeMesh
6.runApplication createPatch -overwrite
7.decomposePar(追加)
8.restore0Dir
9.runApplication simpleFoam

3は並列用に分割したbloclMeshではなく、分割前のbloclMeshにsnappyHexMeshしています。
4での結合後は、おそらく1の直後と同じ状態になっていると思います。

3や4のあとでparaFoamを使って可視化して確かめてください。

2025年6月1日(日) 18:35 snoop cattt <snoop...@gmail.com>:
--
このメールは Google グループのグループ「OpenFOAM」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには openfoam+u...@googlegroups.com にメールを送信してください。
このディスカッションを表示するには、https://groups.google.com/d/msgid/openfoam/9c804204-3c63-44f1-8092-502aa1059b7fn%40googlegroups.com にアクセスしてください。

snoop cattt

unread,
Jun 6, 2025, 6:11:55 AMJun 6
to OpenFOAM
kominamiさん
ご回答ありがとうございます。

すみません、ruuParallelの間違いでした。
実際のAllrunデータを添付します。
 
createPatchで両側Y面をwallからemptyに変更してから並列でsimplefoamを実行したいのですが、並列フィルダに境界条件が反映されていないのかうまくいきません。
createPatch無しだとうまくいきます。






2025年6月2日月曜日 21:18:46 UTC+9 Hideaki Kominami:
createpatch.jpg
Allrun.txt

Hideaki Kominami

unread,
Jun 6, 2025, 7:28:03 AMJun 6
to open...@googlegroups.com
snoopcatttさん

kominamiです。

>createPatchで両側Y面をwallからemptyに変更してから並列でsimplefoamを実行したいのですが、
>並列フィルダに境界条件が反映されていないのかうまくいきません。
>createPatch無しだとうまくいきます。
すでに出来ている境界条件のtypeを変更するには、createPatchではなく、changeDictionaryです。
ただし、blockMeshDictファイルかsnappyHexMeshDictファイルの記載で面のtypeを修正すれば、changeDictionaryが要らないと思います。

それから、「createPatch無しだとうまくいきます。」というのが「ソルバー計算実行が問題なく終了します。」という意味ならば、
無事に境界条件のtypeの修正ができても、そのあとのソルバー計算実行時に別のエラーが発生します。
添付図を見るとY軸方向のメッシュ数が1個で、+Y面と-Y面のTypeがemptyになっています。
面のtypeをwallにして計算をしたいのならば、Y軸方向のメッシュ数を増やす必要があります。最低3個だったか4個だったか・・・

以上です。


2025年6月6日(金) 19:11 snoop cattt <snoop...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/openfoam/a9e06a0e-c625-4539-a501-c2fdcc2eadb8n%40googlegroups.com にアクセスしてください。

snoop cattt

unread,
Jun 8, 2025, 10:40:30 AMJun 8
to OpenFOAM
ありがとうございます。
changeDictionaryで変更できました。

2Dで解析したいためY軸方向を1セルにしています。
そのため面のtypeもemptyで計算を実行したいのですが、
snappyHexMeshで meshShrinker(動的メッシュ?)を設定しているため、typeをwallにしています。
計算実行の前にchangeDictionaryでtypeをwallに変更したのですが、計算でエラーが出てしまいます。
並列でsnappyHexMeshをおこなった後に、typeをwallに変更したい場合はどうするとよいでしょうか?



2025年6月6日金曜日 20:28:03 UTC+9 Hideaki Kominami:

Hideaki Kominami

unread,
Jun 9, 2025, 12:15:50 PMJun 9
to open...@googlegroups.com
snoop cattt さん

kominamiです。


この前のメールで私は
>それから、「createPatch無しだとうまくいきます。」というのが「ソルバー
>計算実行が問題なく終了します。」という意味ならば、無事に境界条件のtype
>の修正ができても、そのあとのソルバー計算実行時に別のエラーが発生します。
>添付図を見るとY軸方向のメッシュ数が1個で、+Y面と-Y面のTypeがemptyにな
>っています。
>面のtypeをwallにして計算をしたいのならば、Y軸方向のメッシュ数を増やす
>必要があります。最低3個だったか4個だったか・・・
と書いたのですが、判りやすいように書き直します。

2Dの解析
Y方向のメッシュ数は1個、かつ、+Y面と-Y面のTypeがempty(wallはダメ)

3Dの解析
Y方向のメッシュ数は3個か4個以上、かつ、+Y面と-Y面のTypeがwall

snoop cattt さんの書いた
>2Dで解析したいためY軸方向を1セルにしています。

>そのため面のtypeもemptyで計算を実行したいのですが、
>snappyHexMeshで meshShrinker(動的メッシュ?)を設定しているため、
>typeをwallにしています。
>計算実行の前にchangeDictionaryでtypeをwallに変更したのですが、計算
>でエラーが出てしまいます。
>並列でsnappyHexMeshをおこなった後に、typeをwallに変更したい場合は
>どうするとよいでしょうか?
という文章の意味が全く分かりません。
snoop cattt さんは、 2Dの解析をしたいのか? 3Dの解析をしたいのか? どちらなんですか?

以上です。

2025年6月8日(日) 23:40 snoop cattt <snoop...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/openfoam/c52c8ba4-a8b1-4b5b-980c-2c8d39609eddn%40googlegroups.com にアクセスしてください。

snoop cattt

unread,
Jun 9, 2025, 12:40:18 PMJun 9
to OpenFOAM
kominamiさん
ご返信ありがとうございます。

2Dの解析を以下の条件をつけて行いたいです。
・snappyHexMeshでは meshShrinkerを使いたい(境界層がきれいに作れるため)
・snappyHexMesh、simpleFoam、を並列で処理したい



2025年6月10日火曜日 1:15:50 UTC+9 Hideaki Kominami:

snoop cattt

unread,
Jun 14, 2025, 9:58:43 AMJun 14
to open...@googlegroups.com
すみません、解決しました。
境界条件に原因がありました。

2025年6月10日(火) 1:40 snoop cattt <snoop...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/openfoam/5217b12f-dde4-490c-8c62-83d8f7ac215cn%40googlegroups.com にアクセスしてください。


--

Best Regards,

Kotaro Hoshikawa
Massive Co., Ltd.  
4-197, hutatsuya, kitamotoshi, saitamaken, Japan 3640014

Reply all
Reply to author
Forward
0 new messages