Skip to main content
Glama

OpenFOAM MCP by iLab — あらゆる MCP クライアントのための CFD コパイロット

openfoam-mcp は、AI アシスタント(Claude Desktop やその他の MCP クライアント)を OpenFOAM のセットアップとデバッグのコパイロットに変える Model Context Protocol サーバーです。実行可能なケースの枠組みを作成し、辞書ファイルを安全に編集し、壁近傍のメッシュサイズを計算し、入口乱流値を算出し、ソルバーログを読み取って計算が収束したのか発散したのかを教えてくれます — チャットから離れることなくすべてを実現します。

ほとんどのツールは 純粋な Python で、OpenFOAM のインストールは不要 なため、どこでも動作します。OpenFOAM ユーティリティ(例: blockMeshcheckMesh)を呼び出す数少ないツールは、環境を検出し、それが存在しない場合はグレースフルに動作します。

実機の OpenFOAM (ESI v1912) でエンドツーエンドに検証済みです。 生成されたケースは blockMesh とソルバーで実行され、simpleFoam は収束し、4 つのメッシュプリセットはすべて有効なメッシュを生成し、実際のログは残差・メッシュ品質パーサーで正しく読み戻されます。VALIDATION.md を参照してください。

OpenFOAM バージョンサポート

scaffold_caseopenfoam_flavor パラメータを受け取ります:

  • classic (デフォルト) — application <solver>;transportProperties を使用します。ESI v1912 で検証済み。ESI v2006 以降と Foundation v8–v10 で動作します。

  • foundation-v12application foamRun; + solver incompressibleFluid;physicalProperties を使用します。OpenFOAM Foundation v11/v12 向けです。ソルバー名の代わりに foamRun を実行してください。

有用な理由

CFD ケースのセットアップは細かい管理業務です。正しい y+、メッシュとすべての 0/ フィールドの境界パッチの対応付け、選択した乱流モデルと整合する乱流フィールド、安定した Courant 数、そして収束したかどうかを確認するための残差出力の読み取りです。このサーバーは、それらの管理業務を自然言語で実行します。

難しい部分を簡単にする

面倒だと感じる作業を担うのは次の2つのツールです:

  • recommend_setup — 目標を簡単な言葉で伝えると(「パイプ内の流れ」「車の抵抗」)、ソルバー、乱流モデル、目標のネック y+、メッシュプリセット、パッチごとの境界条件と番号付きプランを返します。入力が必要な数字だけを質問してきます。

  • generate_blockmesh — ジオメトリプリセットから、境界層をグレーディングした有効な blockMeshDict を自動生成します。目標の第一セル高さを指定すると、壁面グレーディングを計算します。頂点やブロックを手書きする必要はありません。

ツール(20)補足

ツール

内容

recommend_setup

まずはここから。 目標からソルバー、モデル、メッシュプリセット、境界条件、計画を提案(不足入力を尋ねる)。

generate_blockmesh

自動 blockMesh. y+ に対して壁近傍グレーディングを自動設定(プリセット: channel, flatplate, step, box)。

list_mesh_presets

blockMesh ジオメトリプレセットの一覧。

list_solvers

scaffolding 可能なソルバーテンプレート(simpleFoam、pimpleFoam、icoFAnchor)の一覧。

flow_regime

レイノルズ数、層流/乱流の判定、乱流モデルの推奨。

first_cell_height

目標 y+ のための第一セル高さ(平板相関式)。

y_plus_from_height

逆計算: セル高さから予測される y+(流れ領域の警告付き)。

inlet_turbulence

乱流強度と長さスケールから入り口の kepsilonomeganut を算出。

time_step_from_cfl

目標 Courant 数から非定常の時間刻みを算出。

pipe_pressure_drop

Darcy-Weisbach 圧力損失式と Colebrook–White の摩擦係数から圧力損失・ヘッドロスなく計算。

heat_transfer_pipe

管内流の対流熱伝達率 h(Dittus-Boelter ヌッセルト数)。

scaffold_case

ソルバー用の実行可能なケースツリー(system/constant/0/)を作成。

read_dict

辞書ファイルまたは単一のエントリを読み取ります(foamDictionary 経由)。

set_dict_entry

辞書のキーワードを設定(foamDictionary *(入れ子経由; テキストフォールバック)。

set_boundary_condition

0/ フィールド内のパッチの boundaryField エントリを設定 / 挿入。

analyze_stl

STLのウォータータイト / マニフォールドチェック、境界ボックス、面積、体積、snappyHexMesh の準備。

mesh_quality_report

checkMesh ログを解析し、非直交性 / スキューネス / アスペクト比の判定 + スキーム提案。

check_case

ケースを検証: ファイルが存在、乱流フィールドの一貫性、パッチとメッシュの対応。

analyaze_residuals

ソルバーログをフィールドごとの残差低下と収束判定に分解。

run_openfoam_command

許可された OpenFOAM ユーティリティをケース内で実行(インストールされている場合)。

インストール & 実行

サーバーはコンソールエントリポイント付きの PyPI パッケージとして配布されているため、通常は uvx を使ったゼロインストールで実行できます。

uvx openfoam-mcp

もしくは環境にインストール:

pip install openfoam-mcp
openfoam-mcp

Claude Desktop 設定

claude_desktop_config.json に追加してください (macOS: ~/Library/Application Support/Claude/、 Windows: %APPDATA%\Claude\):

{
  "mcpServers": {
    "openfoam": {
      "command": "uvx",
      "args": ["openfoam-mcp"]
    }
  }
}

Claude Desktop を再起動すると、OpenFOAM ツールがツールメニューの下に表示されます。

プロンプト例

  • "0.5 m の翼弦に空気が 30 m/s で流れています。これはレイノルズ数がいくらで、y+ = 1 にするにはどのくらいの第一セル高さが必要ですか?"

  • "./duct に 12 m/s で定常 simpleFoam ケースを作成して確認してください。"

  • "./duct/system/controlDict の endTime を 3000 に設定してください。"

  • "./duct/log.simpleLater を読んで、収束したか教えてください。"

ソルバーテンプレート

テンプレート

物理

典型的な用途

simpleFoam

定常非圧縮 RANS (k-ω SST)

ダクト、外部流れ、一般的な定常流

pimpleFoam

非定常非圧縮 RANS (k-ω SST)

渦放出、非定常流

icoFoam

非定常非圧縮層流(層流)

低レイノルズ数教育用ケース (買い物、低 Re ダクトなど)。

テンプレートは OpenFOAM Foundation v9–v12 / ESI v2306+ のチュートリアルスタイル(transportProperties + momentumTransport)に従います。生成されるボックスメッシュには inletoutletwallsfrontAndBack というパッチがあります。

開発

pip install -e ".[dev]"
pytest

ライセンス

MIT © 2026 iLab (Tanawat Manokieng)

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kimlnw/openfoam-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server