DEXCS2018 for OpenFOAM(R) 不具合、更新情報

FreeCADマクロについて

(2019/2/16)reloadボタンで既存のmeshDictファイルを読み込んだ際の挙動が少々おかしのはバグです。⇒(近日中に修正予定)

FreeCADの設定について

デフォルトでは、数ミリメートルサイズの部品を設計する事を想定したパラメタ設定になっています。この為、メートルを超えるようなサイズでモデル作成し、これが曲面を含んでいるとすると、STLエクスポートに長大な時間を要してしまいます。

これを回避するには、STLの出力オプションを変更すれば良く、DEXCS2017までは、下図に示す方法で対処できていたのですが・・・

DEXCS2018(FreeCAD-0.17)では、上図5の「メッシュ形式」メニューが表示されません。

ポイントは「1」のCompleteワークベンチでなく、MeshDesignワークベンチを使いなさいということでした(これを探し当てるのには散々の苦労でした)。

蛇足ながら、一度これで「メッシュ形式」メニューを出しておくと、以降はどのワークベンチを使っても、ちゃんと表示されるようになるようです。但し、FreeCADを終了して再立ち上げした場合、設定は残っていますが、これを変更するには、再度MeshDesignワークベンチから・・・となります。まぁ、タダで使える開発中のソフトだということで我慢して使いましょう!

JGP(Java Gnuplot GUI)

JGPとは何ぞや?と思われる方はこちらをご覧ください。

メニューボタンからプログラムはちゃんと起動出来るんですが、いざグラフを描こうとすると、何も表示してくれません。エラーメッセージもありません。

⇒ コマンドラインでプログラムを起動して、原因がわかりました。

(許可がありません)⇒アクセス権限の問題でした。念の為、確認。

⇒/opt/jgp はrootさんでした。

対処方法は以下の通りでOK

$ sudo chown -R dexcs.dexcs /opt/jgp

上記、dexcsの部分は自身でお使いのユーザー名で読み替えて下さい。

または、

$ sudo chmod -R 777 /opt/jgp

でもOKです。

OpenFOAM全チュートリアルのAllrunやってみた第17弾 v1806

 



アニメーションGIFを以下に掲載しておきます。

combustion/coldEngineFoam/freePiston

combustion/reactingFoam/chockedNozzle

combustion/reactingFoam/membrane

heatTransfer/chtMultiRegionFoam/reverseBurner

mesh/moveDynamicMesh/twistingColumn

multiphase/icoReactingMultiphaseInterFoam/solidMelting2D

multiphase/icoReactingMultiphaseInterFoam/evaporationMultiCompornent

multiphase/icoReactingMultiphaseInterFoam/interMultiphaseMultiComponent

multiphase/interFoam/laminar/waveMangroveInteraction

multiphase/interIsoFoam/damBrakeWithObstacle

multiphase/interIsoFoam/discInConstantFlowCyclicBCs

multiphase/interIsoFoam/sloshingTank2D

 

multiphase/overInterDyMFoam/boatAndPropeller

multiphase/overPimpleDyMFoam/twoSimpleRotors

DEXCS2018 for OpenFOAM(R) リリースノート

ダウンロードはこちら(2018/10/2〜)


DEXCS for OpenFOAM(R) は、OpenFOAMと、これをより簡単・高度に活用できるようにする為の様々なツールをすべてインストール済のオール・イン・ワンパッケージで、誰でも(と言ってもCAEに無縁の人は対象外ですが・・・)簡単・即使えるようにしたマシンイメージ(isoファイル)です。

詳しくはこちら

DEXCSランチャーのヘルプメニューからも参照できます

DEXCS2018では、

  • ベースOSはUbuntu-18.04 (LTS)
    • DEXCS2017まではMintを採用していましたが、再々度、Ubuntuに復帰しました(GNOMEデスクトップに戻った為)。
  • OpenFOAMやその他の組み込みツールのヴァージョンアップに対応
    • OpenFOAM-v1806
    • cfMesh v1.1.2

(cfMeshはOpenFOAM-v1712以降、modules としてOpenFOAM本体に組み込まれています)

    • pyFoam は、OpenFOAM-v1806への対応はアナウンスされておりません。DEXCSランチャーやTreeFoamで使っている機能(pyFoamPlotWatcher.pyやFoamCleaCase.pyなど)についてのみ動作確認しており、その他の機能については動作未確認です。
  • FreeCADマクロ(cfMesh用簡単設定ツール)は、これまでGUIコンポーネントをwxで作成していましたが、FreeCAD本体で使用しているQt4(pySyde)に変更しました。これにより、マクロ終了時のFreeCAD本体異常終了現象が解消されました。
  • DAKOTA(最適化ツール)の搭載は見送りました。
    • DAKOTAは、先の記事に示した通り同梱も可能でしたが、isoイメージに収納できる容量の問題と、GUIの使い方に十分な知識が必要になるので、不特定多数への配布は困難と考えました。DAKOTA有識者は、先の記事を参考に自身でインストールして使ってみて下さい。
  • DEXCSランチャーの「ヘルプ」⇒「ランチャの使い方」から参照できていたwinkチュートリアル(Flashコンテンツ)は廃止しました(セキュリティ上の問題でFirefoxで閲覧できなくなりました)。

インストールと利用法

詳しくはこちら(日本語と英語の切り替え方法も含む)


マシンイメージなので、DVDにイメージ書き込みすれば、DVDから起動してそのまま利用することができます。 (DEXCS初体験の人はこのライブDVDとして「まずは使ってみる」方法をお薦めします。)

  • 継続利用では起動後にインストール機能により、HDD等に直接インストールできる上、使用するユーザー名等を選択することができます。
  • VMWare Playerや、VirtualBox等の仮想環境で起動して、仮想環境を作成することも簡単です。
  • VirtualBoxにインストールする方法は、書籍「OpenFOAMによる熱移動と流れの数値解析」の付録AにDEXCS2015について詳しく記されていますが、基本は同じです。また、DEXCS2011までは、”Guest Additions”が入っておりませんでしたが、DEXCS2016では導入済みなので、共有ファイルの設定など(インストール方法メモの24〜26ページ)も同様に実施可能です。
  • 国際化対応のレベルはDEXCS2015に同じ(英語版のみに対応)ですが、日本語⇆英語のベース環境切り替え方法が、DEXCS2015に比べやや煩雑になっています。(インストール方法メモの8〜13ページ)
  • 一部動作に不具合が確認されています(インストール方法メモの14〜18ページ)。解決方法が見出だせませんでした。お判りの方、またこれ以外の不具合に気づかれた方はご連絡下さい。

同梱プログラム

その他のドキュメントについて

    • DEXCSランチャーのヘルプメニューを参照下さい。
    • Blender⇒SwiftツールをDEXCSランチャーから使用することはなくなりましたが、ツールそのものは使用可能で、メッシュ作成用のテンプレートフォルダもBlenderモデルと併せて同梱してあります(/opt/DEXCS/template/swift_dexcsMesh)。
    • Swiftツール使用法の詳細を知りたい方はDEXCS2013のリリースノートをご覧ください。
    • SLURMというリソースマネージャもインストールしてあり、サブミット用のサンプルスクリプトを含んだケースファイルも同梱してあります(/opt/DEXCS/template/slurm_damBreak)。コア数が4つのマシンであれば、以下のコマンドを、そのまま利用可能(のはず)です。
      • $ sbatch submit.sh  (ジョブサブミット)
      • $ squeue  (ジョブ確認)
      • $ scancel [jobID] (ジョブ停止)
      • コア数が4でないなどの環境で、バッチジョブがペンディング状態のまま実行出来ない場合は、デスクトップ上、DEXCS/launcherOpen/doc/slurm.pdf を参考に設定ファイル(slurm.conf)を変更して使用して下さい。 (設定方法はこちら
      • ジョブサブミット、ジョブ確認は、TreeFoamの十徳ナイフからも起動できます.
      • 上記を含めて、TreeFoamから起動する十徳ナイフのメニューに変更はありません。
    • JAVA gnuplot GUI の使用方法
    • TreeFoamの基本的な使い方はTreeFoamのヘルプメニューから、「使い方」を参照して下さい。
    • TreeFoamに関する情報は、DEXCS公式HPの AboutTreeFoamの記事にまとめてあります。
    • DEXCS2018に搭載のTreeFOAMは、+dexcsSwakとして、上記公式ページに掲載ヴァージョンに対して独自のカスタマイズが加えてあります。

マルチブートUSBを使ってみよう

来週(12/7)実施予定のオープンCAEシンポジウム2017の講習会ではマルチブートUSBを使ってみようと、準備がほぼ完了しました。



Linuxマシンの場合、これまで外部モニタ(プロジェクタ)出力が困難だったんですが、DEXCSも2017(Linux Mint 18 / ubuntu 16.04)になって、出来そうになってきた(少なくとも何年か前に景品で貰ったモバイルプロジェクターでOKな)ので、自分が担当する講習(OpenFOAM中級:OpenFOAMに使用するメッシュ生成法)を、このUSBを使ってやってみようかと考えております。

USBブートは基本的にはライブモード(ユーザー名:custom)で使用することになります。通常のライブモードだと、電源オフとともに、それまでの作業履歴が完全に消滅しますが、このUSBの空き領域は、記憶領域として使用可能なので、ここで作業すれば、万一システムがオーバーロード等にてフリーズしても、リセットしてフリーズ前の状態からの再開も可能になる訳です。以下は、TreeFoamでの作業場所(rootDir)設定手順。但し、この手順はUSBブート専用にカスタマイズ可能かもしれませんが、今の所、起動の都度必要な作業になります。

お客さんの所に行った時に、お客さんのパソコンで動かして、気に入って貰えればそのままお客さんに使って貰っても良いということにもなります。

講習会の当日、また講習を受講できなかった人向けに実費販売あるかもしれませんので、興味のある方はシンポジウム事務局【symposium2017@opencae.or.jp】またはオープンCAE学会事務局【office@opencae.or.jp】 (大文字@を小文字@に置換してください)にお問い合わせ下さい。

ちなみに今回作成したUSBは、16GB容量を使っており、isoイメージが2つ、講習会の全資料とケースファイル等一式が収納され、空き容量としては約8GBあります。

作成方法

約2年前の記事中の、Easy2BOOTで作成しております。現在は当時に比べてヴァージョンが上がっておりますが、基本的な使い方は同じでもあり、インストール不要のもっと簡単な使い方も出来るようになっています。

 

つまり、ダウンロードサイトから(1)入手した実行ファイルを(2)実行して、(3)ドライブと(4)言語を確認(5)ボタンを押すだけ。フォーマット方法や起動画面等オプションを変更したい場合は(5’)ボタン。

 

FreeCAD FEM ワークベンチ、その後

約1年半前の記事では、パンテオン神殿の構造解析問題が、5年半前の記事に比べて随分楽チンに出来るようになったと紹介しました。ただその時までのメッシュは1次テトラ要素だったのが、今回は2次要素でも出来るようになったというレポートです。

フルオートの自動メッシュは随分大胆な粗密配分をしてくれて、メッシュ数が大幅に低減できています。その為、計算時間も数分というオーダーで終わってくれます。また今回は自重解析も可能になっています。

但しここで使用しているFreeCADは正式公開版(v0.16、DEXCS2017 for OpenFOAMに搭載されているもの)でなく、日々更新されているDaily版(0.17-12549)です。

1年半前と比べてFreeCADのヴァージョンが異なっているのは当然として、さらに大きく異なっているのはメッシャーです。従来はNetgenが標準メッシュツールとして採用されていましたが、最近はGmshしか使えないようになっています(Netgenを起動するボタンはありますが、下記ダイヤログにて使用できない)。

しかもGmshのヴァージョンにも依存して挙動が異なるので注意が必要です。

DEXCS2017 for OpenFOAM のベースOSはLinuxMint18(ubuntu16.04相当)なので、Gmshは標準(apt-get とか、synapticパッケージマネージャで)インストール可能ですが、これでインストールされるのは v-2.10.1です。これを使うのであれば、上述の結果となって、ある意味問題はないのですが、、、

FreeCAD⇒Gmshでメッシュ作成する場合、ボタンを押すと、下図のようなダイヤログが現れます。

Applyボタンを押せば、メッシュ作成が始まって、完成したらOKボタンを押すだけという、実用面では何とも簡単で有り難い作りになっています。これで、大抵のものはメッシュが切れてしまえそうです。場合によっては、メッシュの最大・最小サイズを規定すれば、それなりに作ってくれる。

このメッシュは1次要素なのか2次要素なのか?

別途調べた所、確かに2次要素であったので、実用面では問題ないかもしれないが、教育面ではせめて1次要素と2次要素での違いくらいは見れるようにしておきたい。 しかし、それだけの事が出来ないのを何としたものか。

Gmshを単独で使用してメッシュ作成すれば、1次・2次要素だけでなく、3次要素も出来る。しかも少し前にツイッターにて紹介したチュートリアル

で見たように、工夫すれば六面体要素も作成できる事が判ったのですが、残念ながらGmsh-2.10.1で作成したメッシュをFreeCADに戻すのに(メッシュ変換ツールを駆使すれば可能性はあるとは思うが)簡単な方法がないことが判明。

Gmshの進化点と問題

件のチュートリアルで使用しているGmshは最新のもの(Gmsh-3.0.5)のようで、こちらを使えばちゃんとunvファイルにエクスポートが出来て、そのままFreeCADにインポートし、解析(Calcuilixでの計算)が出来る事も判った。

Gmsh最新版は、GmshのHPからダウンロードできて、linux版を解凍すれば、DEXCS2017ではそのまま問題なく動いてくれる。

但し、こちらを使うと、今度はこのPanteon神殿の問題でFreeCADから起動した時のデフォルト設定ではメッシュ作成エラーが生じてしまうという新たな問題が発生。

しかしGmsh単独で起動して、メッシュ作成時のオプションを以下のよう(デフォルトでは①にチェックマークが付いているが、これを外すか、②にチェックマークを付ける)に変更すればエラーのないメッシュを作成できる事までは確認できたので、これなら教育的利用面でも使えそうな感触が出てきました。

Gmsh-2.10.1と比べて、メッシュの違いは明白で、応じて計算結果も異なっております。

残された課題

本パンテオンの例では無理としても、二次元メッシュを押し出す方法であれば、件のチュートリアルで判明した方法で六面体メッシュを作成しインポートできるのですが、現時点で最大の問題は、六面体の高次要素(C3D20)の場合、Caliculix用計算データに変換する際に1次要素としてしか変換出来ていない点です。

FEM Callculixのページによれば、そもそもまだ対応出来ていないようにも読み取れるのですが、FEM Mesh のページによれば対応出来ているようにも読み取れる。いずれにせよ、出来ていない原因と対策をFreeCAD FEM のフォーラム記事を読みながら調査中です。ご存知の方あればお知らせ下さい。