お知らせ
簡単な設定で,任意形状に合わせたヘキサメッシュを作ることが可能です。
開発元 Creative Fields
http://www.c-fields.com/
cfMesh
http://www.c-fields.com/cfmesh
User Guide
http://www.c-fields.com/Media/Default/PDF/User_Guide-cfMesh_v1.1.pdf
関連資料
cfMeshによるメッシュ作成入門(講師:秋山善克 氏),第35回 オープンCAE勉強会@富山 2015/08/22
cfMeshによるメッシュ作成_公開版.pdf
cfMeshによるメッシュ作成_公開版.pdf
↓↓ 旧講習会資料 ↓↓
cfMeshによるメッシュ作成.pdf
cfMesh インストール方法
下記サイトからソースコード cfMesh-v1.1.1.tgz をダウンロードする。
http://sourceforge.net/projects/cfmesh/files/v1.1.1/
ダウンロードしたファイルを展開する。cfMesh-v1.1.1ディレクトリができる。これを、インストール先(例えば、~/OpenFOAM/ に移動する。)
OpenFOAMの設定が完了している端末から,先ほどのディレクトリに移動して,Allwmakeを実行する。
例題は,展開したディレクトリに含まれている。必要であれば,このディレクトリを実行用ディレクトリにコピーする。
cfMesh でのメッシュ生成法(メモ1)
## cfMeshの利点 ##
最低限,次の2つだけを指定すれば,メッシュが生成できる。
・ surfaceFile points to a geometry file. The path to the geometry file is relative to the path of the case directory.
・ maxCellSize represent the default cell size used for the meshing job. It is the maximum cell size generated in the domain.
さらに領域を指定した細分化なども可能。
メモリ使用量が少ない
マルチスレッドに標準対応している。複数コアを搭載したマシンであれば,単にコマンドを実行するだけで,マシン内のマルチコアを活用した並列処理が行われる。
## 一連の作業の流れ ##
Salomeでパッチ毎にSTLファイルを書き出す。そのSTLファイルを結合する。特徴線を抽出してcfMesh形式のファイルにする。
## 作業 ##
cfMesh では,単一のSTLファイルを使う。
下記の例題を見ると,STLファイル内で,面毎に名前が付いている。これによって,作成されたメッシュでのパッチ名が変わる。
/home/user/OpenFOAM/user-2.3.x/run/cfMesh-tutorials/cartesianMesh/sawOctree
ファイル内部構造は下記のようなもの.
solid patch000
facet normal 0.811072 -0.468654 0.350037
outer loop
vertex 4.76676 10.8144 51.1671
vertex 4.64955 10.8767 51.5221
vertex 4.59512 10.6202 51.3048
endloop
endfacet
同様・・・
endsolid patch000
solid patch001
facet ...
endsolid patch001
パッチ毎のSTLファイルを作成.その中でsolid名を付けておく。
それらのSTLファイルを結合して,1つのSTLとする。
これで良さそう。
salome でSTLファイルを作成したところ,solid名が空だった。
その場合には,例えば,下記の様なコマンドで,各ファイルにsolid名を追加する。そのファイルを結合すればよい。
sed -i".org" -e "s/solid/solid name01/g" name01.stl
sed -i".org" -e "s/solid/solid name02/g" name02.stl
cat name01.stl name02.stl > newName.stl
元のstlファイルだけだと,エッジがつぶれることがある。
特徴線を含んだ形に変更するためには,下記のコマンドを実行する。(引数は入力ファイル名と出力ファイル名)
surfaceFeatureEdges newName.stl newNameWithFeature.stl
このsurfaceFeatureEdgesでは,出力ファイルの拡張子をfmsにすることで,cfMeshのファイル形式で出力される。
surfaceFeatureEdges newName.stl newNameWithFeature.fms
cfMesh と symmetryPlane
OpenFOAM で symmetryPlane 境界条件を使うとき,面からのズレが厳しくチェックされる。
cfMeshでメッシュを生成したとき,メッシュの生成は完了するが,paraFoam や 計算実行時に,これが原因で下記のエラーが発生することがある。
--> FOAM FATAL ERROR:
Symmetry plane 'xMin' is not planar.
symmetryPlaneが曲面と接するところで,このエラーが発生しやすい。エラー発生箇所近傍でのメッシュ解像度を向上させると,エラーがなくなることがある。
cfMeshの最新版(v.1.0.1)では,上記問題へ対応するためのユーティリティー improveSymmetryPlanes が追加された。cartesianMeshなどでメッシュを生成した後,このユーティリティーを実行することで,symmetryPlane での節点を揃えてくれる。
実行方法は,単純にユーティリティーを実行するだけ。設定ファイルは不要である。constant/polyMesh/boundary ファイルから symmetryPlane を探しだし,修正してくれる。ソースを見ると,3つ以上の対称面があるとダメらしい。
標準チュートリアル の修正について
cartesianMesh/sBendOctree
パイプの左右対称性を利用して,対象境界 symmetryPlane を使う例題です。
標準の設定のままでは,symmetryPlane が平面でないというエラーが発生します。
system/meshDict 内で,maxCellSize を 0.08 に小さくすると,解決しました。
セルサイズが局所的な特徴に対して大きすぎるとき,このようなエラーが発生することがあります。
cartesianMesh/sawOctree
並列処理後のセル統合でエラーが発生します。
./Allrun の reconstructParMesh のオプションを下記の様に修正します。
runApplication reconstructParMesh -constant -fullMatch
お知らせ
2015年11月27日(金)富山国際会議場で開催するオープンCAEシンポジウム2015@富山 トレーニングの一環です。
(入門講習会)
FreeCADで3Dモデルを作成し,cfMeshで計算用セルを生成,OpenFOAMで流体計算を実施するという,一連の流れを体験できます。
(中上級者向け講習会)
ソースコードの読み方,コンパイルの方法,境界条件の種類・実装方法,新しい境界条件の作成など,豊富な内容です。
ぜひ,ご参加ください。詳細は,下記サイトをご覧ください。
http://www.opencae.or.jp/wiki/オープンCAEシンポジウム2015
9
1
8
8
2
4
6
アクセス
富山県立大学へのアクセス方法は,下記サイトをご覧ください。
富山県立大学へのアクセス
最寄り駅は,JR 小杉駅 です。
JR小杉駅南口から徒歩約20分(約2Km),または,
射水市コミュニティバス 「14.小杉駅・太閤山線」に乗車約5分です。
外部リンク:射水市コミュニティバス「14.小杉駅・太閤山線」
<お車>
無料駐車場がご利用いただけます。下記学内マップをご参照ください。
富山県立大学学内マップ
プライバシーポリシー
本サイトでは,Googleによるアクセス解析ツール「Googleアナリティクス」を使用しています。Googleアナリティクスはデータの収集のためにCookieを使用します。データは匿名で収集されており,個人を特定するものではありません。
なお,Cookieを無効にすることで収集を拒否することが出来ます。お使いのブラウザの設定をご確認ください。この規約の詳細は Googleアナリティクスサービス利用規約 や Googleポリシーと規約 をご覧ください。