OpenFOAM® -オブジェクト指向型C++流体/連続体クラスライブラリ
OpenFOAM®は英国インペリアルカレッジの学生の個人的な開発から1989年にスタートしました。OpenFOAM®はオープンソースプログラムであり、流体/連続体シミュレーションの研究コード開発のプラットフォームとして、LES乱流モデル、燃焼モデル、自由表面モデル、混相流モデルなどが多数組み込まれています。ヨーロッパを中心とする自動車、化学、重工などの研究所などで爆発的にユーザー数が増え、現在も進化を続けています。ヘンリー・ウェラーを中心とするOpenFOAM FoundationとCFD Direct社、ESI-OpenCFD社によるOpenFOAM +、foam extendグループ、サードベンダーなど様々なグループによる開発、貢献、切磋琢磨が行われています。さらにENGYS社はOpenFOAM®ソルバを改良し、操作性の高いGUIを備えた HELYX®を販売しています。 |
![]() ->>HELYX®の情報はこちら |
オープンソース
商用CFDソフトウェアとの大きな違いがオープンソースで提供されていることです。このメリットを活かし、新しい流体モデルの組込み、専用アプリケーションの開発、プラットフォーム毎のチューニング、制御ソフトウェアなどの他のプログラムとの連携などが容易にできる環境が提供されます。 |
オブジェクト指向型言語 C++
1980年代から、金融、通信などのプログラムでは常識になっているオブジェクト指向型言語でのプログラミングはモジュール構造により、開発効率、デバッグ効率、メンテナンス性などで優れています。しかし、科学技術計算用のコードはFORTRANやC言語ベースのものがつい最近まで主流でした。コンパイラー性能の向上、GUI、グラフィックスプログラムとの連動、プラットフォーム性能の飛躍的向上などの環境も整い、オブジェクト指向型言語C++で開発されたOpenFOAM®のメリットは更に拡大することでしょう。 |
豊富な流体専用ライブラリ
圧縮/非圧縮、乱流モデル、熱伝達、混相流、燃焼などの流体解析ソルバは勿論、離散化処理、並列計算などのクラスライブラリも実装していますので、特別な追加プログラムなしに、実用に必要十分な機能を実現することができます。特にLES乱流モデルや燃焼モデルなどは最先端の研究コードが付属していますので、解析対象に合わせた専用CFDプログラムを構築することができます。 |
信頼性の高いソルバ
オープンソースプログラムなので、計算精度を心配される方もいます。しかし、長年、多数のユーザー使用実績、各研究機関、大学でのテストなどを通して、OpenFOAMの精度は検証されています。また、開発の継続性も開発元である英国OpenCFD社を始めとする開発メンバーにより、毎年バージョンアップを続けています。 |
大規模並列計算環境
OpenFOAM®の各クラスはOpenMPIに対応していますので、OpenFOAM®により構築されたソルバは並列計算が基本になっています。領域分割ツールなども付属していますので、PCクラスターなどの手頃な並列計算環境により、大規模モデル、複雑な解析モデルも高速に並列計算が可能です。FOCUSスパコン(計算科学振興財団)でのOpenFOAM®利用促進支援活動において、弊社では、FOCUSスパコン上のOpenFOAM®の利用、運用を支援致します。
![]() |
実績に基づくサポートシステム
弊社は商用パッケージ「FOAM」の時代から、OpenFOAM®の日本での販売・サポート・受託解析などを実施してきました。オープンソースであることにより、カスタマイズの可能性が広がる反面、導入や活用にはサポートがなければ難しい面もあります。数多くのユーザーに、導入・運用のサポートや、カスタマイズなど、オープンソースでは不足しがちな部分を補うサービスを提供してきた実績は、CAE専業の弊社だからこそだと思います。この豊富な経験と実績が日本のOpenFOAM®ユーザーのテイクオフを実現してきました。 |
コミュニティの構築
OpenFOAM®のコアコンピテンスはオープンソースであるが故のユーザーのネットワークです。全世界で様々な流体/連続体解析ユーザーが広く利用しています。これらのユーザーはCFD OnlineなどのOpenFOAM®ディスカッションフォーラムなどで活発な議論や助け合いを行っているので、解析のヒントを、世界中にいる他のユーザーから得ることも可能です。また、OpenFOAM® Wikiおよびその日本語版では、OpenFOAM®の基本情報が広く公開されています。コミュニティの活発な活動は、他のハイエンドCFDソフトウェアには見られない特長となっています。弊社では、これらの活動を積極的に支援して参ります。![]() |