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

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

スポンサーサイト

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

blueCFD-Coreを使ってみる

さて、久々に再開します。
久々ついでに、blueCFD-Coreを使ってみようと思います。

blueCFD-Coreとは何か。
OpenFoamのソースを元にblueCAPEという会社(ポルトガルの会社らしい)が独自にWindows上で動作するようにコンパイルしたものらしいです。
ソース、コンパイルしたものも無料で使えるようですが、サポートをその会社にお願いすると有料になるようです。
windows版の作成に関しては、MinGWというWINDOWSでgLinuxで使えるGNUツールを使えるようにしたツールらしいが、詳細はググってください

Openfoamの公式ページは
www.openfoam.com
www.openfoam.org
の2つあり、どっちも本物らしいが、なぜ2つあるのかは、歴史的政治的経緯があるようだが本当のところはよほどの事情通でないとわからないようだ。
comの方からは今まで紹介したvirtual box等を介して動くwin版OpenFOAM
orgの方はblueCFD-Coreも含めていくつかwindowsでOpenFOAMを動かす方法
が紹介されています。

blueCFD-Coreはサードパティーのベンダーが開発したものではあるが、個人で使う分には無料のようだし(商用利用は規約見てください)、パッケージで必要なものまとめてインストールできるので、導入はしやすい。
また、ESI版ではユーザーディレクトリ以下しかWindowsのエクスプローラーで見ることが出来なかったが、blueCFD-Coreはソースやチュートリアルなどエクスプローラーで見ることが出来るため、楽である。







































































スポンサーサイト
  1. 2017/03/12(日) 11:07:30|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

blueCFD-coreで例題をやってみる


では手始めに例題をやって見ましょう。
やってみるのは、前回と同じcavityの問題です。
tutrialですが、どこにあるかわかりにくいのですが、windowsエクスプローラで探してやると、
(インストールディレクトリ)\blueCFD-Core-2016\OpenFOAM-4.x\tutorials\incompressible\icoFoam
41_tutrial_folder1-1.png

にあるようですので、cavityのフォルダをフォルダごと作業フォルダ
(インストールディレクトリ)\blueCFD-Core-2016\msys64\home\ofuser
にコピーします。
するとcavityのディレクトリがLinuxのターミナル上にも表示されます。
42_tutrial_folder2.png
ターミナル上からcpコマンドでコピーする方法もありますが、windowsのGUIが使えますので、windowsを使い慣れてる人は
エクスプローラからコピーした方がわかりやしかもしれません。
  1. 2017/03/15(水) 16:22:42|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

blueCFD-coreで例題をやってみる2

それでは早速OpenFoamでtutrialのcavity例題を実行してみましょう。
実行する例題は以前紹介したものと同じです。
実際は
形状作成→境界条件作成→メッシュ作成→計算実行
というプロセスを行うのですが、便利なことに
Allrun
というこれらをまとめてやってくれる便利なスクリプトがあるので、まずはこれを使ってみます。
まず、windowsスタートボタンからすべとのプログラム→blueCFD-coreのフォルダを選びblueCFD-core terminalを選択します
46_terminal_start
するとターミナル(MS-DOSみたいもの)が立ち上がります。そこで現在地のフォルダ、ファイルのリストを
ls
というコマンドを入力して確認してみます。
すると
(インストールディレクトリ)\blueCFD-Core-2016\msys64\home\ofuser
に在るファイル、フォルダと同じものが表示されます。
最初にコピーしたcavityというフォルダに移動します。
cd cavity
と打てば移動できます。
そこで
./.Allrun
と入力します。
Allrun_exe
Allrunに書かれているスクリプトにしたがって、
形状作成→境界条件作成→メッシュ作成→計算、と順に実行されます
48_after_Allrun_exe
これで実行完了です。
(インストールディレクトリ)\blueCFD-Core-2016\msys64\home\ofuser\cavity\cavity
に0.1から0.5までの名前がついたフォルダが出来ていると思います。
この中に各時間の結果が入っています。
49_after_Allrun_exe2
ここと同じフォルダに
「result.foam」
など、拡張子がfoamとなる、空のテキストファイルを作成します。
50_result_foam


  1. 2017/03/18(土) 11:13:13|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

paraviewで結果を見てみる


さて計算が終わったので結果を見てみよう。
結果もParaviewで見てみることにする。
Paraviewであるが最新版がblueCFD-coreと一緒にインストールされるが、
私が最新版を使うと良く落ちるので、32ビット版の少し古いバージョン4.4を使用する。
古いバージョンも今日現在はParaviewのホームページhttp://www.paraview.orgから入手できる。
結果は普通にウインドウズエクスプローラ等で見ることが出来るので、Paraviewも普通にwindows版をインストールすればよい。

インストールがうまくいったら、立ち上げて、前回作ったxxx.foamを読み込みます。
51_open.png
ここからは前回同様に結果を見ることが出来ます。
52_result.png

  1. 2017/03/21(火) 12:55:21|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

境界条件にpatchを使う方法1


さて、今回の目標だが、形状単純でも良いので

CAD形状を読み込み流体計算する

ことをとりあえず目標にする。

メッシュ作成は、 snappyHexmeshを使えば複雑でなければ出来そうです。

さて、次に境界条件設定ですが、商用ソフトウエアであれば要素の面をクリックすれば指定出来そうですが、

あいにくOpenFOAMにはそのような直接境界条件を指定できるGUIはありません。

そこでCUIのツールで指定してparaviewで確認するという手順になります。

最終的には要素番号と要素の面番号とそこの条件を指定して入力することにはなるのですが、

境界条件は形状の面ごとある場合が多いので、形状の面ごと指定するのが便利です。


blockMeshのみでメッシュを作成する場合、形状とメッシュを同時に作るので、形状を指定するため形状の面が認識でき、

blockMeshのboundary命令で境界条件が指定できるのですが、STL等で読み込む場合、形状の面の境界の情報は入っていないので、形状の面を認識できません。

要素と隣の要素のつながっている角度は計算できるので、それを利用して要素が作成された後改めて面分割します。

その分割された面をパッチ(patch)と呼びます。(patchの定義はソフトにより違うこともあるので、ソフトごとに要確認)

下の図では6面体を4x4x4にメッシュを作成し、隣り合う要素が90度であれば違うパッチと定義した場合です。

見える3面(オレンジ、青、灰の面)と見えない3面、計6面に応じた6つのパッチが作成されます。
53-1_patch.jpg

openFOAMにはこのようなパッチを作ったりするツールが含まれています。


  1. 2017/03/24(金) 14:25:58|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

境界条件にpatchを使う方法2


前回、パッチについて説明したが、要するに

1.形状とメッシュ作成、境界条件を一度に設定

する方法と、

2.メッシュを作成してからそのメッシュ図を見ながら境界条件を設定

する2種類の方法があって、2の方法を採用するならパッチ分割をして、境界条件ごとの面に分けなければならない、

ということである。

blockMeshであれば1か2かどちらかで境界条件設定できるがsnappyHexMeshでは基本2しか出来ない。

blockMeshであれば1の方がやりやすいこと多いが、ここではあえて2でやってみよう。

まず、境界条件自体は前回と同じとして、やってみる。

最初に計算前のcavityの例題をコピーするか、./Allcleanで計算結果を消してしまおう。

次に、blockMeshで境界条件を指定している部分を消す。

bぉckMeshの設定をしているのは、systemフォルダにある、blockMeshDictというファイル((コピーしたフォルダ)/cavity/system/blockMeshDict)を開いて、boundaryの記述を削除する。

54_boundary1.png



55_boundary2.png

のようにです。

このときboundary()の命令自体は残しておきます。消すとエラーになるようです。

boundaryはここでは何も無いよ、という設定が必要なようです。

個人的には(こういうような必要が無いけど書いておかなければならない命令が多いのが、openFOAMが難しいところのひとつだと思う)

ここで

blockMesh

と入力してメッシュを作成すれば、境界条件なしのメッシュが切れます。

続いて、パッチを作成します。

  1. 2017/03/25(土) 09:39:56|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

プロフィール

tsunodako

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

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

ブログ内検索

カレンダー(月別)

02 ≪│2017/03│≫ 04
- - - 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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。