Innovation in CFD Automation

A beginner-friendly 3D fluid simulation system using OpenFOAM

OpenFOAM13を利用したcooyou.orgオリジナル開発 XML駆動型 物理イベント連鎖解析 3次元流体解析プラットフォーム ”CrazyEasyFluidAnalysisSystem”

標準的なOpenFOAM運用との決定的な違い

標準的なOpenFOAM運用に対し、本システムは「ワークフロー」において以下の優位性のある初心者に優しいシステムです。

比較項目 標準的なOpenFOAM運用 本システム CrazyEasyFluidAnalysisSystem (OpenFOAM13 + cooyou.org独自アプリ)
学習コスト 参考書籍内容そのままでも動かないことも多く、初心者はどうしようもなくなる。一般的にOpenFOAMの学習コストは高いとされる。 XML定義(サンプルを見れば容易に理解できます)と結果の確認方法を習得すればいいだけなので、学習コストはとても低い。
Linuxでの操作 OpenFOAMはLinux上で動作するため、さまざまな作業をLinux上で行う必要があり、Linux初心者は慣れないOSの操作だけで四苦八苦。 OpenFOAMを利用したLinux上での操作は最小限のコマンド実行だけでいい。他のほとんどの作業はWindows上で可能(Linux上でも可能)。(Linux自体もWindows内で動作可能なのでLinux機は別途必要なし。ParaViewはWindows版もあります)
操作体系 複雑な手動操作。モデリング、設定ファイル作成、複数の実行ステップが必要 シンプルなXML定義だけであとは一連作業の自動実行
形状作成 外部CADソフトやモデリングソフトでのでの精密な作図が必須。手動での品質調整に膨大な工数 XML定義で6面体(開始面、終了面定義だけ)の組み合わせでの形状生成。形状作成はWebアプリで完結。
部分的動的破壊 解析開始時に固定が基本。動的破壊は実装が難しい。指定時刻での破壊も難しい。 差圧が耐圧を超えたらドアを破壊する物理イベント連鎖を容易に実現。指定時間範囲になったら破壊判定する設定もXML定義で可能。
メッシュ生成 手動での品質調整に膨大な工数 XMLからSTLファイル作成はブーリアン演算もされて自動生成。メッシュも自動生成。部分的細分化レベルも自動。
設定ファイル作成 多種の設定ファイルを記述するのは初心者ではほぼ不可能。2系統のOpenFOAMがあり、さらにバージョンによっても記述フォーマットが異なるので正解に辿りつけない。 XML定義に従って自動で生成
計算時間間隔 固定、または自動調整の2択。自動調整でもエラーで落ちることがしばしばあるのが実情。 複数の時間範囲において時間間隔をスケジューリング可能、計算がエラーになる場合はトレースバックで時間間隔が自動で調整されて自動リトライ。この機能だけでも導入する価値があります。
結果の確認 標準的に利用されているParaViewアプリでの確認。AVI動画出力は秒間フレーム数を指定して、フレーム画像を繋げた単純なもの。※ParaView ver5.10.0-RC1で確認 OpenFoam準拠の結果も得られるためParaViewアプリでの結果確認も可能。独自機能としては、CSVファイル出力を標準実装、任意の複数の部屋、ドア、CSV列を選択して気温、気圧、風速等をグラフ表示できるアプリを完備。ParaView出力jpeg連番ファイルから時刻表示を付加して可変時間間隔に対応したMP4動画を生成。動画速度も任意に設定可能。

コア・テクノロジー

OpenFOAM13 (Foundation版)を採用

圧縮性流体におけるrhoPimpleFoamの高度な計算を行えます。(現時点でのソルバーは空気流でのrhoPimpleFoamのみ)

ManifoldライブラリでのSTL生成の自動化

計算エラーによるメッシュの破綻」が少ない、トポロジー的に堅牢 数学的に厳密な形状のブーリアン演算を組み込みことにより、部屋と部屋のドア接続が実現できてます。snappyHexMesh等のメッシュ生成失敗を最小限にします。

babylon.jsライブラリでのWebアプリ

XMLから3次元形状を編集できるWebアプリを実現。面の向きが確認しやすい親切設計。STLエクスポート機能もあるため、汎用的なモデリングソフトとしても使えるものです。また、汎用的なSTLビューアも独自に開発。

付属アプリケーション

pythonスクリプトで実行できるグラフ作成やMP4動画作成、動画、音声解析

実行環境(Ubuntu Linux)

Windows,Linux,macOS上のdockerで動作するdockerイメージのアーカイブを公開

ホストOS上のフォルダに結果が書き出されるため、確認はホストOSで行えます。
最低限の定型的なコマンド実行のみをUbuntu Linuxで行いますのでLinux初心者でも問題なく使えます。

適切なソルバーの選定:rhoPimpleFoam の位置付け

OpenFOAMには用途に応じて多数のソルバーが存在しますが、本システムのメインターゲットとなる「急激な減圧」「音速に近い噴流」「断熱変化による温度低下」を同時に扱う場合は、rhoPimpleFoam が最適解となります。rhoPimpleFoamを実行するための設定は本システムでは自動作成されます。

ソルバー名 物理特性 圧縮性 時間特性 本件への適応性
simpleFoam 定常・非圧縮 × 定常 不可。爆発的な変化を追えません。
pimpleFoam 非定常・非圧縮 × 非定常 不十分。空気の密度変化を無視してしまいます。
rhoSimpleFoam 定常・圧縮性 定常 不可。時系列変化を再現できません。
rhoPimpleFoam 非定常・圧縮性 非定常 最適。圧力波と密度変化を動的に計算可能。
sonicFoam 超音速・衝撃波 非定常 過剰。計算負荷が非常に高く不向き。

圧倒的なコストパフォーマンス

従来の流体解析では専門業者に依頼した場合、必要な解析結果を得るまでに数百万円を超えるコストになることもありえます。本システムはその常識は打ち破ります。安価なシステムで自分で解析が出来るのです。

WindowsのノートPCで1台で完結

OpenFOAMはLinux上で動作するものですが、WindowsのdockerのUbuntu Linux上でも動作します。つまりWindowsノートPC1台で全て動作します。外出先やプレゼン会場でその場で解析をお披露目することもできます。

実行環境がインストール済のdockerイメージのアーカイブをこちら で公開しておりますので、すぐに使うことが出来ます。

PCのシステム要件と推奨スペック

項目推奨構成理由
メモリ16GB以上複数のプロジェクトを同時に実行する場合はメモリは多いほうがいいですが、16GBあればまずは実用的です。
ストレージSSD 1TB以上解析結果は例えば0.001秒毎の結果書き出しの場合は10秒間でもかなりのファイルサイズになりますから、1TBはあったほうがいいでしょう。
OSWindows ProHomeエディションの場合はWindowsアップデートが自動的に実行される場合がありますから長時間連続運用には適しません。
CPU上記を満たすPCに搭載CPUでいいです。CPUは高性能なものに越したことはありませんが、メモリ、ストレージ、OSの要件を満たしているPCを選択すれば実用的なCPU搭載PCだと思います。
グラボ特に必要なし演算は主にCPUで行いますので、グラボは必須ではありません。結果の3次元表示を高速化したい場合は性能が高いほうがいいです。

3次元流体解析の民主化

これまで、流体解析(CFD)は「専門知識を持つ外部機関へ多額の費用を支払って依頼するもの」でした。しかし、それは現代のスピード感に合わない致命的なデメリットが存在します。

比較項目 外部専門機関へ依頼する場合 本システムを自前で運用する場合
コスト 1回数十万円 〜 数百万円。1回の計算で完結することは難しい。回数による追加費用がかかる。 自分で動かすシステムであれば何回やっても追加費用は基本ゼロ。ライセンス費用や月額費もゼロ。
リードタイム 見積・発注から報告書まで数週間〜数ヶ月 その場で即実行。数時間〜数日で結果を確認。
トライ&エラー 条件変更ごとに追加費用と再見積が必要 XMLを書き換えるだけで、無制限に試行可能。
ノウハウの蓄積 得られるのは見積もり時に指定された結果のみ 解析過程そのものが知見として蓄積。解析データはすべて自分の所有物。自分の研究成果として使える。必要なデータを適時切り出して資料として使える。

外注のデメリット:思考の断絶

外部依頼では、「もしここが壊れたら?」というふとした疑問を検証するのに、再び多額の費用と時間がかかります。このタイムラグが、革新的な発見や原因調査の迅速な究明を阻害します。

本システムのメリット:即応性と創造性

cooyou.org オリジナルの XML駆動型アーキテクチャ により、専門のCFDエンジニアでなくても解析が可能。

cooyou.org の哲学

解析を「一部の専門家だけの特権」から「現場の意思決定者のためのツール」へ解放します。OpenFOAMの実績のある精密計算と、初心者でも使えるcooyou.orgアプリとの統合により、これまであきらめていたことが、実現できます。

チュートリアル

実際の操作方法を例を出しながら以下のリンクページで説明します。

チュートリアル

ニュースリリース