有限要素法のフリーのソフトウエア を試す

CAEで使われるフリーの有限要素法(FEM)ソフトウエアであるCalculixやOpenfoamを使ってみようとチャレンジしてたその足跡を残す。。。ついでに他のフリーソフトや商用ソフトの無償版にも手を出してみる。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

OpenfoamのsnappyHexmsh

あけましておめでとうございます。
年も変わり、今日からsnappyHexmeshをみていきたいと思いますが、
この設定ファイル
snappyHexMeshDict
を0から作るのは非常に難しい。
理論も簡単ではなさそうだが、(これもググルとたくさんwebページがでてくるのでそちらを参照)
オペレーションが難しいのである。
blockMesh同様テキストファイルに設定を書いていけばよいのだが、
まず長い、入力量が多い、ひとつでも間違えたらだめ、エラーメッセージが場合によってはプログラム言語のものなのでわけわからん場合も多い…
そのへん商用ソフトは優れていると思う。最後どうしようもなくなったらベンダーサポートに問い合わせればたいてい解決する。
また他のwebページや、ユーザーガイドを解読した人はわかるが、snappyHexmeshを使うには、先にblockmeshをきっておくことが必要である。それにはもちろん前回まで示したような
blockMeshDict
も正しく設定することが必要である。
で私みたいいい加減な人は2つもテキストファイル間違わず設定できるか!ということになる(そんなのお前し次第だろ,というツッコミうけそうだが)しかし、ここでは独自のCAD形状をメッシュ作成することを目標にしているのでということで
まず確実に実行できる例題(チュートリアル)をやって、それのCADファイルの部分だけを入れ替えればうまく行くだろう、という作戦をとる。CADファイルの図形の大きさが似てないといけないが。
スポンサーサイト
  1. 2017/01/01(日) 11:43:56|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

内部流れと外部流れ

さて構造物があってそれを流体解析しようとすると、外部流か内部硫化という問題がある。
スライド1
これはOpenfoamの例題や宣伝でよく用いられるバイクのモデルだが、今場合解析対象は主にバイクの周りの風の流れなので、構造の外の流体の変化を解析するので、外部流になる。
車、飛行機の翼、船体、などの解析は基本的に(例外もあるが)外部流である。これに対しパイプや継ぎ手の中の流体の変化を解析する場合は内部流になる。
OpenFoamはどちらの問題も対応できるが、メッシュの作り方が変わってくる。
流体解析の場合、形状でモデルを与えられた場合、それの与えられたモデル形状そのものに流れ場が発生するのか構造の外に流れ場が発生するのか、考えなくてはならない。例えば自動車の場合解析するものが、走っているときの周りの空気の流れなのか車内のエアコンの空気の流れなのかでメッシュのきり方が変わってくると思う。webを見るとこのバイクの例題が多いが、私は仕事上内部流に接することが多いので、内部流のsnappyHexMeshの例題であるフランジ形状を使用したいと思う。
フランジ形状のモデル37_flange_mesh.png
  1. 2017/01/02(月) 10:33:22|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

snappyHexmeshでメッシュを作成する(1)

それではflangeの例題を使ってメッシュを切って見ましょう。
snappyHexMeshは一発でメッシュを切れない。まずブロックメッシュでメッシュを切ることが必要である。
外部流の場合は、作成したそのブロックの中を流体が流れるイメージとなる。
内部流の場合は、ブロックメッシュで作成したメッシュでCAD部分に相当するところをくりぬいた形になる。
内部流と外部流の切り替えはsnappyHexMeshDictで行えるが、それはまたあとで説明すると思う。
まずflangeの例題であるが、設定ファイルは
/opt/OpenFOAM/OpenFOAM-v1606+/tutorials/mesh/snappyHexMesh/flange
にある。形状ファイルは
/opt/OpenFOAM/OpenFOAM-v1606+/tutorials/resources/geometryの
flange.stl.gz
である。/workingの下にコピーして準備しておこう。
  1. 2017/01/03(火) 17:24:31|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

snappyHexmeshでメッシュを作成する(2)

構造応力解析でも流体解析でも解析を使う立場では、まずメッシュが切れるかどうかが問題である。
現場レベルでは解析のスキーム云々について考察できる人より、与えられたCAD形状等にすばやくメッシュを切れる人の方が重宝される。
こういっては何だが、開発現場レベルでは(研究所レベルでは知らん)正社員で博士号持っている人より、派遣社員でもメッシュ切る能力が高く、適切なモデル作れる人の方が評価は高い派遣社員だと給与に直接反映させにくいのが残念であるが。
まあ、管理職から見れば、とっととモデル作って結果出してくれた方がありがたいのである。
まあもっとも間違っていたら修正すればよい、的な扱いという場合が多いからというのもあるが。(開発プロセスから見るとCAEの重要度がそれほど高くないのか?)
いいたいことはまだあるが、長くなるのでこれくらいでやめておきたい。

それはともかく、メッシュ作成すればモデル作成つまりシミュレーションの仕事の80%くらい終わったようなものである。(残りは境界条件作成と、結果の解釈)

それ位の割合を占めるものなので、出来れば早く終わらせたいプロセスであるが、openfoamではツールはあるが、メッシュ作成等のプリプロセスにあまり主眼を置いていないようである。(まあ微分方程式を数値的に解くことに主眼をおいているものなのでしょうがないが。
正直流体シュミレーションを工学的に行うためのツールには向かないということである。
どうしても流体シュミレーションを工学的に解きたい、3D-CADのデーターを流用したいのであれば、プリポスト別途導入すべきである。商用となればお金もかかるが、工数とか計算すればソフトを別途導入したりコンサル会社に任せた方が安く済むのがわかると思う。
というのがOPenfoam一通りやってみて私が得た結論だが、社内外の流体解析の資格とるために個人的にやってみたいとか大学での研究上使わなければならない人には悪くないツールである。いといろこだわって寄り道すると時間がいくらあっても本来の目的にたどり着かない可能性もあるので、ある程度使いやすいようにパッケージされたDEXCSなんかをつかうのもてかもしれない。
  1. 2017/01/04(水) 15:32:03|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

snappyHexmeshでメッシュを作成する(3)

それではかいせつはあとまわしにして、
tutrialsにあるflangeの例題にsnappyHexMeshでmesh作成してみましょう。
まず、例題を扱いやすいところにコピーしましょう。

Openfoam立ち上げたDos窓から
cd workingDir/
[ cp -r /opt/OpenFOAM/OpenFOAM-v1606+/tutorials/mes
/snappyHexMesh/flange/ ./
としてworking directoryの下にflangeの例題フォルダごとコピーします。

これには形状データが入っていません。
形状データは他の例題のデータとまとて/opt/OpenFOAM/OpenFOAM-v1606+/tutorials/resources/geometr
y/の中にあります。

これをコピーしたflangeフォルダの中の
/system /trisurface
の中にコピーします。
今workingDir中にいる場合は
cd constant
cd trisurfaceとしてtrisufaceフォルダに移ったあと
[ofuser@default triSurface]$ cp /opt/OpenFOAM//OpenFOAM-v1606+/tutorials/resourc
es/geometry/flange* ./
とflangeのファイルコピーします。
workingのディレクトリとwindowsの
c:(ユーザー)\(ユーザー名)はリンクしているのでそれを利用してうまくコピーしてください
38_flange_dir.png

  1. 2017/01/05(木) 20:32:30|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

snappyHexmeshでメッシュを作成する(4)

暫くかけませんでしたが、Openfoamの先行調査に手間取ってました。
解決したわけではありませんが、とりあえずわかったところまで書くとします。

snappyHexmeshですがこれ単独では使えないようです。
まずブロックメッシュで大枠のメッシュ作成を行い、
39_snappyHexmesh.png
snappyHexmesで実際解析部分抽出します。
外部流の場合は流体の流れない部分はセル(メッシュ)を消します。というわけでまずブロックメッシュが必要です。
内部流の場合は、対象構造物の一回り大きい大きさブロックを作成すればよいと思います。
  1. 2017/01/11(水) 17:34:42|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

snappyHexmeshでメッシュを作成する(5)

というわけで、まずはblockmeshを作る。
設定はsystemの中のblockMeshDictに書いてある。

blockmesh と打つだけでブロックメッシュが出来る。
ここで全体のメッシュの大きさとか調整する。

次にと特徴線と呼ばれるものを抽出する。
これはstlファイルなどから、対象物体の輪郭線を取り出す。
この輪郭線はsnappyHexmeshを行うときの流体と構造の境界面になる。

stlはファセットといわれる小さな三角形が集まって面を構成し立体を表現するが、構成されている隣り合う三角形面の角度により、特徴線(面)を抽出しているのであろう。(筆者もプログラムを分析したわけでないのでよくわからんが)そのときの閾値となる角度などをsystemフォルダの中にあるsurfaceFeatureExtractDictというファイルで設定しているようだ。

抽出は
surfaceFeatureExtract
というコマンドで実行される。

ここまでくればsnappyHexMesh実行できる
  1. 2017/01/12(木) 21:00:33|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

snappyHexmeshでメッシュを作成する(6)

blockMesh
surfaceFeatureExtract
のコマンドを実行した後、
snappyHexMesh を実行する。
snappyHexMesh -overwrite
とoverwriteオプションをつけて実行した方がよさそうだ。

snappyHexMesh はオプションない場合だと、新しく時間ステップを作ってメッシュ情報を書きにいくようだが、それをされるとparaviewで読み込むとき、時間が混乱するので、-overwriteオプションをつけてそれを防ぐ。解析計算やパッチ作成(たぶん後日説明する)をしなければoverwriteオプションをつけておけば常にtime=0に上書きなるはず。
snappyHexMesh を実行すると、収束計算の情報などが出力されるが、それはおいといて結果を見てみると、
40_snappyHexmesh.png

のようにメッシュが切れているはず。
tutrialのデータで動くことが確認されているデータのはずなので、手順通り行えば設定ファイルを一切いじらなくてもメッシュが切れるはずである。
(ただしコマンドはwindowsといえど擬似LINUX上で動いているため、大文字と小文字を区別するので正しく入れること)
  1. 2017/01/13(金) 19:47:41|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

そして

Caluculixのときは趣味で始めたものだけど、Openfoamは自分の仕事に使用のメモなので、かなり説明を省略しています。
ので、調べるためにこのページにやってきた人には申し訳ない。
がOpenfoamはCaluculiX
と違い、すでにネット上にかなりの日本語資料が出ているので、そちらを参照にしてください。
今後は
3D-CADからの読み込み
k-ε乱流(simplwFoam)の取り扱い
もう少し複雑な境界条件の取り扱い
salomeからのデータの取り扱い
商用ソフトからのデータ変換を見ていく予定でいたが、都合によりしばらくお休みにします。
  1. 2017/01/14(土) 11:32:38|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

プロフィール

tsunodako

Author:tsunodako
tsunodakoのプロフィール
無料でCAE環境を構築に挑戦中。
が、現在少し休止中。そのうち復活します。
ご意見ご感想をブログコメント大歓迎です!!!
メールの場合は下のほうにあるフォームに入力していただくか

tsunodako[at]yahoo.co.jpまで([at]=@に変換してください)。
このブログにあるソフトやデータを使用して生じた結果は責任負いませんのであしからず。
静解析CAE技術者のための動解析講座は http://vibrationcae.blog.fc2.com/ に移動いたしましたのでよろしく。

ブログ内検索

カレンダー(月別)

12 ≪│2017/01│≫ 02
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

最近の記事

カテゴリー

tsunodakoへのメールはここからでもOK

名前:
メール:
件名:
本文:

最近のコメント

最近のトラックバック

フリーエリア

にほんブログ村 科学ブログ 技術・工学へ
にほんブログ村

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。