cfMeshにおける境界層の入れ方について

95 views
Skip to first unread message

Nishiguchi

unread,
Oct 23, 2024, 4:06:28 AMOct 23
to OpenFOAM
皆様お世話になっております。
Nishiguchiです。

現在、cfMeshを用いてメッシュを生成することを目的としているのですが、境界層メッシュを入れた段階でメッシュの品質に問題が生じたため、皆様のアドバイスをいただければと思い、投稿させていただきます。

以下の図1が今回メッシュを切りたいモデルになります。また図2、3に実際にメッシュを切ったものを示します。今回、乱流モデルとして低Re型のk-εモデルを使用するために、壁面に15層、拡大率を1.2、maxFirstLayerThicknessを0.001[m]として境界層を入れました。その後、checkMeshを行ったところ非直行性とskewで品質が保たれていないことがわかりました。これらは主に壁と壁のつなぎ目の部分で生じていることがわかりました。(図4、5)
どのように対処すれば、このメッシュ品質が改善するのか教えていただければ幸いです。
meshDict、cfMeshのログファイル、checkMeshのログファイルも添付させていただきます。


スクリーンショット 2024-10-23 170500.png
図1 部屋のモデル

スクリーンショット 2024-10-23 164949.png
図2 メッシュの様子

スクリーンショット 2024-10-23 165005.png
図3 境界層メッシュの様子

スクリーンショット 2024-10-23 165333.png
図4 非直行性に問題があるメッシュ部分(赤い部分)

スクリーンショット 2024-10-23 165600.png
図5 skewに問題がある部分(わかりにくいですが、青い部分になります。)

よろしくお願いいたします。
meshDict
checkMesh.log
cfmesh.log

Hideaki Kominami

unread,
Oct 29, 2024, 12:36:58 PMOct 29
to open...@googlegroups.com
Nishiguchiさん

kominamiです。
質問から時間が経っていますが、すでに解決しているかもしれません。


meshDictの中の下記の機能を使ってみてはいかがでしょうか。
・surfaceMeshRefinement{ }
・edgeMeshRefinement{ }

edgeMeshRefinementで参照する *.eMeshファイルは、OpenFOAMのsurfaceFeatureExtractユーティティを使って、stlファイルから作成できます。

なお、surfaceFeatureExtractユーティティは、版によっては名前が変わっている可能性があります。チュートリアルのmotorBikeで使っていたと記憶しています。

以上、よろしくお願いいたします。

2024年10月23日(水) 17:06 Nishiguchi <tsubasa....@gmail.com>:
--
このメールは Google グループのグループ「OpenFOAM」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには openfoam+u...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/openfoam/ec977ceb-a018-4154-a861-01b699b1be21n%40googlegroups.com にアクセスしてください。

Nishiguchi

unread,
Nov 6, 2024, 12:50:24 AMNov 6
to OpenFOAM
kominami様

ご返信ありがとうございます。Nishiguchiです。

まだ解決しておらず、アドバイスをいただいた機能を試しながら検討中です。

edgeMeshRefinment機能についてですが、まず今回作成したeMeshファイルが以下の図6のようになりました。
各面に対角線のようなものが表示されていたり、図7のように吸気口を取り付けるために制作した円柱部分にも多くの線が表示されてしまいました。
これは特徴線をうまく出力できていないのでしょうか。
また、一応得られたeMeshファイルを用いて、edgeMeshRefinment機能において、
edgeMeshExample
{
edgeFile "room_20241016.eMesh";
additionalRefinementLevels 1;
refinementThickness 1;
}
としてメッシュを切ったものを図8~10に示します。
また図11,12にedgeMeshRefinmentを使用しなかった場合のメッシュの様子も示します。
edgeMeshRefinmentの項目では
edgeから1m(refinmentThickness)の範囲内を1段階(additionalRefinmentLevels)細分化を行うということだと理解しているのですが、間違っていないでしょうか。
その場合、図8、9より場所によって、細分化が行われているところと行われていないところがあり、疑問に思いました。

またsurfaceMeshRefinementについての質問なのですが、これはlocalMeshRefinementで面を細分化することと何が異なるのでしょうか。


スクリーンショット 2024-11-06 135837.png
図6 eMeshファイル

スクリーンショット 2024-11-06 140134.png
図7 eMeshファイル(ダクト部分)

スクリーンショット 2024-11-06 142710.png
図8 メッシュ(edgeMeshRefinmentを使用)

スクリーンショット 2024-11-06 142639.png
図9 メッシュ 床面(edgeMeshRefinmentを使用)

スクリーンショット 2024-11-06 142757.png
図10 非直行性に問題のある部分(edgeMeshRefinmentを使用)

スクリーンショット 2024-11-06 143609.png
図11 メッシュ(edgeMeshRefinement使用無し)

スクリーンショット 2024-11-06 143848.png
図12 メッシュ 床面(edgeMeshRefinment使用無し)


充分な検討はまだできていないため、今後改善のための努力を続ける予定ですが、さらに何かアドバイスをいただければ幸いです。

よろしくお願いいたします。
surfaceFeatureExtractDict
meshDict

Nishiguchi

unread,
Nov 6, 2024, 3:21:50 AMNov 6
to OpenFOAM
連投すみません。

図8,9について
>その場合、図8、9より場所によって、細分化が行われているところと行われていないところがあり、疑問に思いました。
という部分に関しては、stl変換する際にスケールを1/1000されていないことが原因でした。

以下、図13にstlを1/1000変換したメッシュの様子を示します。
図13からわかるように図6のeMeshファイルの対角線のような部分にも特徴線の判定があるようです。


Mesh.png
図13 メッシュの様子

nonO.png
図14 非直行性に問題がある部分

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

Hideaki Kominami

unread,
Nov 6, 2024, 5:20:47 AMNov 6
to open...@googlegroups.com
Nishiguchi 様

kominamiです。

>その場合、図8、9より場所によって、細分化が行われているところと
>行われていないところがあり、疑問に思いました。

surfaceMeshRefinement{}とedgeMeshRefinement{}の
refinementThickness 50; の数値が大きいからでは?

平面の対角線上も細分化されているのは、作成された*.eMeshがそうなっているからでは?
surfaceFeatureExtracDictで、角度を指定している部分があると思います。その数値が180度に近い値になっているのでは?
古いバージョンのOF4ですが、これが見つかりました。

https://github.com/OpenFOAM/OpenFOAM-4.x/blob/master/tutorials/incompressible/simpleFoam/motorBike/system/surfaceFeatureExtractDict


>またsurfaceMeshRefinementについての質問なのですが、これは
>localMeshRefinementで面を細分化することと何が異なるのでしょうか。

localMeshRefinement}は、基本的にメッシュの外側の面に使う。
surfaceMeshRefinement{}は、メッシュの内側の任意の面に使えます。

以上です。

2024年11月6日(水) 17:21 Nishiguchi <tsubasa....@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/openfoam/16cec9d7-7d76-4a08-b96c-5d6d850608b9n%40googlegroups.com にアクセスしてください。

Nishiguchi

unread,
Nov 8, 2024, 12:15:34 AMNov 8
to OpenFOAM
kominami様

ありがとうございます。
アドバイス等を参考し、試行錯誤したところいくつか改善したところがあったため再び投稿させていただきます。

>その場合、図8、9より場所によって、細分化が行われているところと
>行われていないところがあり、疑問に思いました。

ここに関しては、edgeMeshRefinementで取り込んだstlファイルのスケールが1/1000されておらず、fmsファイルの形状モデルよりもとても大きくなっていたため、共通する原点近くの面に関しては細分化が行われましたが、原点から離れた部分の面では細分化が行われていませんでした。
それを解決してすべての特徴線周りで細分化を行ったメッシュが前の投稿の図13となっています。
eMeshで対角線や不要な線が特徴線として表示されてしまう問題は、eMeshを制作する元のstlファイルから円柱を取り除いたファイルを使用することですべての不要な線が消えました。
理由はわかりませんが、円柱が悪さをしていたようです。
以下の図15に、新たに制作したeMeshの様子を示します。

画像1.png
図15 eMeshの様子


ただ未だ非直行性の部分が解決しておらず、以下に非直行性に問題がある部分の拡大図を以下の図16に示します。

noO_colar.png
図16 角付近のメッシュの様子

このように角に近づいてくると急に面に対して垂直にメッシュを切らないようになり平行四辺形状に形が崩れています。
これはなぜこうなっていしまうのかの原因がわかりません。


また、今回低Re型の乱流モデルを用いるにあたり、色々調べた結果、
境界層 15層
拡大率1.2
壁面第一セル高さ 1mm以下
になるように境界層を入れようとしているのですが、この設定がおかしいのでしょうか。


連投になってしまいますが、よろしくお願いいたします。
Reply all
Reply to author
Forward
0 new messages