返回市场
开源泡沫-MCP服务器

开源泡沫-MCP服务器

作者:webworn58 星标更新:2025-09-16

项目介绍

OpenFOAM MCP Server

🚀 革命性的智能CFD教育与问题解决系统 - 世界上第一个具有先进人工智能能力的OpenFOAM模型上下文协议服务器,包括苏格拉底式提问、上下文工程和专家级错误解决。

OpenFOAM C++ MCP License

🎯 为什么选择这个MCP?CFD-AI教育革命

问题:CFD专业知识障碍

  • 复杂设置:OpenFOAM需要深入的网格生成、边界条件和求解器选择的专业知识。
  • 物理知识:CFD分析需要理解流体力学、热传递和数值方法。
  • 耗时:手动设置和分析可能需要数小时到数天的时间来处理复杂的案例。
  • 易出错:不正确的边界条件或求解器设置会导致非物理结果。
  • 学习曲线:传统的CFD工具缺乏教育指导和支持渐进式学习。

解决方案:智能CFD教育系统

这个革命性的MCP通过以下方式改变CFD学习和问题解决:

  • 上下文工程:高级用户建模,跟踪CFD概念的理解并适应复杂性。
  • 苏格拉底式提问:具有4种已验证模式(澄清、探索、确认、应用)的战略提问引擎。
  • 智能参数提取:自然语言到CFD参数的转换,并带有置信评分。
  • 高级错误解决:采用5个为什么的方法,结合研究支持的解决方案和学术参考。
  • CFD知识图谱:概念关系映射,用于引导学习路径。
  • 双终端架构:无缝的OpenFOAM执行与智能对话流程。

市场影响

  • 变革CFD教育:首个通过引导发现教学CFD的人工智能驱动系统。
  • 普及CFD:通过自然语言使专业流体动力学分析变得易于访问。
  • 加速学习:基于用户理解水平进行渐进复杂度调整。
  • 增强问题解决:采用5个为什么的方法进行研究支持的错误解决。
  • 专业整合:保持完整的OpenFOAM兼容性,并覆盖智能指导层。

🛠️ 智能CFD功能

🧠 高级AI特性

上下文工程系统

  • 增强用户建模:跟踪CFD概念理解、经验水平和学习进度。
  • 置信评分:监控用户在流体力学、热传递和数值方法方面的理解。
  • 自适应复杂度:根据用户专业知识自动调整解释和指导。
  • 学习路径优化:建议最佳的概念进展以有效掌握CFD。

苏格拉底式提问引擎

  • 战略提问模式:四种已验证的教育策略,促进渐进式学习。
    • 🔍 澄清:"在这个上下文中,您具体指的是什么湍流流动?"
    • 🌊 探索:"如果我们将雷诺数增加到500,000会发生什么?"
    • 确认:"所以您认为压力降随速度平方增加?"
    • 🎯 应用:"您如何使用莫迪图表解决这个问题中的管道流动问题?"
  • 上下文感知问题:基于用户的当前理解和对话历史生成。
  • 渐进难度:问题适应复杂度以系统地建立理解。

智能参数提取

  • 自然语言处理:将对话描述转换为精确的CFD参数。
  • 物理验证:确保提取的参数在物理上合理且一致。
  • 置信评分:提供参数提取准确性的确定级别。
  • 交互式澄清:当参数模糊时提出智能后续问题。

高级错误解决

  • 5个为什么方法论:CFD模拟失败的系统根本原因分析。
  • 研究集成:具有证据支持解决方案的学术论文数据库。
  • 诊断指导:逐步故障排除,附带教育解释。
  • 预防策略:通过理解避免类似问题。

CFD知识图谱

  • 概念关系:绘制流体力学、热传递和数值方法之间的连接。
  • 学习依赖:识别高级主题的先决概念。
  • 技能评估:评估用户的知识差距并建议集中学习领域。
  • 学术参考:将概念链接到权威来源和研究论文。

核心分析工具

1. 🔬 管道流动分析 (run_pipe_flow)

物理:圆管内部流动,检测层流/湍流状态。

  • 计算:雷诺数、摩擦因子、压力降、壁面剪切应力。
  • 应用:液压系统、管道设计、HVAC分析。
  • 求解器simpleFoampimpleFoam,自动选择湍流模型。
  • 特征:入口效应、表面粗糙度、流动状态过渡。

2. ✈️ 外部流动分析 (analyze_external_flow)

物理:车辆、飞机和建筑物周围的空气动力学。

  • 计算:阻力系数(Cd),升力系数(Cl),空气动力学力。
  • 应用
    • 汽车:汽车空气动力学,燃油效率优化。
    • 航空航天:飞机设计,机翼分析,无人机性能。
    • 土木:建筑风载,城市流动模式。
  • 求解器simpleFoamSRFSimpleFoam,k-ω SST湍流。
  • 特征:雷诺数缩放,边界层分析,流动分离检测。

3. 🌡️ 热传递分析 (analyze_heat_transfer)

物理:流体和固体区域之间的共轭热传递。

  • 计算:温度分布,热阻,热传递系数。
  • 应用
    • 电子冷却:CPU/GPU热管理,PCB散热。
    • 换热器:壳管式,板式换热器。
    • 建筑热:HVAC设计,热舒适分析。
    • 发动机冷却:燃烧发动机,电动机冷却。
  • 求解器chtMultiRegionFoam,辐射建模。
  • 特征:材料属性数据库,努塞尔数相关性,热违规。

4. 🌊 多相流分析 (analyze_multiphase_flow)

物理:使用体积分数法(VOF)的复杂多相相互作用。

  • 计算:界面追踪,相分布,动量传输系数。
  • 应用
    • 水坝破裂分析:水工结构设计,洪水建模。
    • 自由表面流动:船体设计,海岸工程。
    • 气泡动力学:化学反应器,气液分离。
    • 晃动分析:燃料箱设计,液体货物运输。
  • 求解器interFoam,界面压缩和表面张力。
  • 特征:与水坝破裂解决方案的分析验证,气泡上升动力学。

🎯 智能CFD教育功能

🧮 基于物理的计算与AI指导

  • 无量纲数:雷诺数、普朗特数、努塞尔数、瑞利数、格拉晓夫数及其教育背景。
  • 材料属性:热导率、密度、比热容、粘度及其数据库引用。
  • 验证:与哈根-泊肃叶、布拉斯乌斯和实验相关性的分析比较。
  • 错误检测:非物理结果检测及5个为什么分析和解决指导。

🎓 自适应教育内容

  • 渐进物理解释:复杂度适应用户展示的理解水平。
  • 苏格拉底教学法:战略性提问以构建深刻的概念理解。
  • 工程指导:基于上下文的设计建议,附带学术依据。
  • 行业应用:来自汽车、航空航天、电子和海洋领域的实际例子。
  • 最佳实践:智能网格质量评估,边界条件验证,求解器选择逻辑。

🔍 全面的CFD验证框架

  • 多物理域:跨管道流动、外部流动、热传递和多相系统的验证。
  • 解析解:自动与经典解(泊肃叶、布拉斯乌斯、瑞利-贝纳德)进行比较。
  • 实验验证:实验相关性和基准案例的数据库。
  • 置信指标:统计验证,不确定性量化和误差界限。

📊 智能可视化与结果

  • ParaView Web界面:实时结果可视化,端口8080,带有教育注释。
  • 上下文感知图:根据物理域和用户理解自动生成可视化。
  • 互动学习:引导结果探索,关于流动现象的苏格拉底提问。
  • 流线与迹线:流动可视化,附带粒子追踪的教育解释。
  • 结果导出:VTK格式,用于高级后处理,带有综合元数据。

📥 安装

先决条件

系统需求

  • 操作系统:Ubuntu 20.04+ 或 Debian 11+(推荐)
  • 内存:8GB+ RAM(大型模拟推荐16GB+)
  • 存储:10GB+可用磁盘空间
  • CPU:多核处理器(推荐4+核心)

必需依赖项

# Ubuntu/Debian - 安装所有依赖项
sudo apt-get update
sudo apt-get install -y \
    cmake \
    build-essential \
    git \
    nlohmann-json3-dev \
    libboost-system-dev \
    libboost-thread-dev \
    sqlite3 \
    libsqlite3-dev

OpenFOAM 12安装

# 选项1:Ubuntu/Debian包(最简单)
sudo apt-get install openfoam12

# 选项2:OpenFOAM基金会包(推荐)
# 下载自:https://openfoam.org/download/12-ubuntu/
wget -O - https://dl.openfoam.org/gpg.key | sudo apt-key add -
sudo add-apt-repository http://dl.openfoam.org/ubuntu
sudo apt-get update
sudo apt-get install openfoam12

# 选项3:源码编译(高级用户)
# 跟随:https://openfoam.org/download/1

环境设置

# 添加到 ~/.bashrc 或 ~/.profile
source /opt/openfoam12/etc/bashrc

# 验证安装
which blockMesh
which simpleFoam
foamVersion

构建MCP服务器

  1. 克隆仓库
git clone https://github.com/webworn/openfoam-mcp-server.git
cd openfoam-mcp-server
  1. 使用CMake构建
mkdir build && cd build
cmake ..
make -j$(nproc)
  1. 测试安装
./openfoam-mcp-server --version
# 应输出:OpenFOAM MCP Server v2.0.0-dev

# 测试AI能力
./openfoam-m
c-server --test-context-engine
./openfoam-mcp-server --demo-socratic-questioning

依赖项自动检测

构建系统自动检测:

  • OpenFOAM库/opt/openfoam12/platforms/linux64GccDPInt32Opt/lib
  • nlohmann/json:MCP协议的JSON解析。
  • Boost:系统和线程库。
  • SQLite3:可选的案例数据库存储。

🤖 Claude Code集成

MCP配置

添加到您的Claude Code设置(~/.config/claude-code/mcp_servers.json):

{
  "mcpServers": {
    "openfoam": {
      "command": "/path/to/openfoam-mcp-server/build/openfoam-mcp-server",
      "args": [],
      "env": {
        "FOAM_INST_DIR": "/opt/openfoam12",
        "WM_PROJECT_DIR": "/opt/openfoam12"
      }
    }
  }
}

智能CFD助手示例

苏格拉底式学习:管道流动分析

🧑‍💻 用户:"分析直径0.1米、速度2米/秒的水流"

🤖 Claude:在运行分析之前,让我更好地了解您的背景。

🔍 澄清:"您对这种管道流动的具体兴趣是什么——是在设计液压系统,学习压力损失,还是优化现有装置?"

🧑‍💻 用户:"我正在学习流体力学课程中的压力损失"

🤖 Claude:太好了!我会一步步引导您完成分析。

*使用run_pipe_flow工具并带有教育背景*

📊 结果与学习:
• 雷诺数:200,000 
  💡 这表明是湍流流动(Re > 4,000)。您认为这对混合意味着什么?
• 摩擦因子:0.0184(布拉斯乌斯相关性)
  🌊 探索:如果我们将速度加倍会怎样?
• 压力降:每米2.4千帕
  ✅ 确认:您看到随着速度的增加,压力降显著增加——您能解释一下为什么吗?

🎯 应用:"现在您理解了这种关系,您将如何重新设计此管道以减少泵送成本50%?"

上下文感知错误解决

🧑‍💻 用户:"我的热传递模拟无法收敛。残差持续振荡。"

🤖 Claude:我将帮助您使用系统分析解决这个问题。

*应用5个为什么方法论*

🔍 为什么#1:"为什么残差会振荡?"
分析:可能是数值不稳定或不适当的松弛因子。

🔍 为什么#2:"为什么松弛因子可能不合适?"
您的设置显示高温度梯度,这需要更保守的因素。

🔍 为什么#3:"为什么温度梯度如此之高?"
边界条件显示薄壁两侧有500K的温差。

📚 研究支持的解决方案:
• 将温度松弛从0.7降低到0.3(Versteeg & Malalasekera, 2007)
• 实现能量方程的欠松弛(Patankar, 1980)
• 考虑瞬态效应的CFL数

🎯 预防策略:
• 在模拟前始终验证物理温度范围
• 使用无量纲温度分析以获得更好的条件
• 对极端条件实施渐进温度提升

自然语言参数提取

🧑‍💻 用户:"我有一个大水箱,底部有一个小孔排水。初始水位约为2米,我想知道完全排空需要多长时间。"

🤖 Claude:我可以帮助您进行水坝破裂/排水分析!让我从您的描述中提取CFD参数。

*使用智能参数提取*

📋 提取参数(置信度:85%):
• 物理域:多相流(自由表面)
• 初始水位:2.0米 ✓
• 几何形状:底部有孔的水箱 ✓
• 流体:水(ρ=1000千克/立方米,μ=1e-3帕斯卡·秒) ✓

❓ 需要澄清:
• 水箱尺寸(长度、宽度)?
• 孔径?
• 我们是否考虑湍流效应?

🔍 探索:"根据托里拆利定律,您预期随着水箱排空,流量会发生什么变化?"

*澄清后,运行多相流分析*

📊 结果与物理洞察:
• 分析(托里拆利):约89秒完全排空
• CFD模拟:约94秒(包括粘性效应)
• 流动状态:最初湍流(Re~50,000),过渡到层流
• 孔附近涡旋影响排水速率约5%

智能工作流程集成

AI增强的工程设计过程

  1. 概念设计:基于上下文的初始尺寸,带有智能参数提取。
  2. 物理验证:苏格拉底式提问以确保对假设的理解。
  3. 详细分析:导出OpenFOAM案例,带有AI生成的文档。
  4. 错误解决:5个为什么方法论进行系统故障排除。
  5. 优化:AI引导的设计改进,带有学术依据。
  6. 验证:自动与解析解和实验数据进行比较。

渐进式CFD教育

  1. 自适应学习:复杂度自动调整以适应用户展示的理解水平。
  2. 概念映射:CFD知识图谱指导学习路径优化。
  3. 苏格拉底式发现:战略性提问构建深刻的概念理解。
  4. 研究集成:学术论文和验证解决方案支持学习。
  5. 行业背景:理论与实践的实际应用连接。
  6. 错误预防:通过系统根本原因分析从错误中学习。

🤝 贡献

开发环境

GitHub Codespaces(推荐):

  1. 分叉仓库。
  2. 在Codespaces中打开(自动配置OpenFOAM 12)。
  3. 与VS Code桌面集成,带有完整的IntelliSense。
  4. 云开发,配备4-32核心机器。

本地开发

# 安装依赖项
sudo apt-get install cmake build-essential openfoam12 nlohmann-json3-dev

# 克隆并构建
git clone https://github.com/webworn/openfoam-mcp-server.git
cd openfoam-mcp-server
mkdir build && cd build
cmake .. && make -j$(nproc)

新分析工具的添加

1. 创建分析器类

// src/openfoam/your_analysis.hpp
class YourAnalyzer {
public:
    struct Input { /* 物理参数 */ };
    struct Results { /* 计算输出 */ };
    
    Results analyze(const Input& input);
    bool validateInput(const Input&