OpenFOAM MCP服务器
🚀 智能CFD教育与问题解决系统 -OpenFOAM模型上下文协议服务器,具有人工智能驱动的教育功能,包括苏格拉底式提问、上下文工程和系统性错误解决。
   
📊 当前状态
| 组件 | 状态 | 详细信息 |
|---|---|---|
| MCP服务器 | ✅ 工作 | JSON-RPC 2.0,12个注册工具,克劳德代码集成 |
| OpenFOAM集成 | ⚠️ 部分的 | OF12需要基本连接和求解器迁移 |
| 教育AI | ✅ 工作 | 语境引擎、苏格拉底式提问、适应性学习 |
| 网格和几何工具 | ✅ 完成 | 网格质量评估,在snappyHexMesh指导下进行STL分析 |
| RDE分析套件 | ✅ 完成 | 2D/3D波浪分析、几何生成、性能计算 |
| 管道流量分析 | ✅ 完成 | 完全实现网格生成和验证 |
| 高等物理 | ⚠️ 开发中 | 传热、多相框架存在,需要实施 |
整体系统状态:75%功能正常 -核心教育、网格质量和RDE分析功能正在发挥作用。
🎯 为什么选择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
苏格拉底式提问引擎
- 战略性问题模式:4种经过验证的渐进式学习教育策略
- 🔍 阐明:“在这种情况下,湍流的具体含义是什么?” - 🌊 探索:“如果我们把雷诺数增加到500000,会发生什么?” - ✅ 确认“所以你是说压降随速度呈二次方增加?” - 🎯 应用:“你会如何使用穆迪图来解决这个管道流量问题?”
- 情境感知问题:基于用户当前的理解和对话历史生成
- 渐进式难度:问题适应复杂性,系统地建立理解
智能参数提取
- 自然语言处理:将对话式描述转换为精确的CFD参数
- 物理验证:确保提取的参数在物理上合理且一致
- 信心评分:为参数提取精度提供确定性级别
- 交互式澄清:当参数不明确时,提出明智的后续问题
高级错误解决
- 5个为什么的方法论:CFD模拟失败的系统根本原因分析
- 研究整合:具有循证解决方案的学术论文数据库
- 诊断指导:通过教育性解释逐步排除故障
- 预防策略:教导用户通过理解来避免类似的问题
CFD知识图谱
- 概念关系:绘制流体力学、传热和数值方法之间的联系图
- 学习依赖性:确定高级主题的先决条件概念
- 技能评估:评估用户知识差距,并建议重点学习领域
- 学术参考文献:将概念链接到权威来源和研究论文
📋 可用的MCP工具
服务器提供 12个注册工具 在不同的CFD领域:
| 工具 | 描述 | 状态 |
|---|---|---|
start_cfd_assistance | 通过上下文工程启动智能CFD对话 | ✅ 工作 |
continue_cfd_conversation | 用适应性苏格拉底式提问继续CFD讨论 | ✅ 工作 |
execute_openfoam_operation | 执行OpenFOAM操作(网格、求解、后处理) | ✅ 工作 |
analyze_cfd_results | 用教育解释分析CFD结果 | ✅ 工作 |
get_cfd_learning_guidance | 获取个性化的CFD学习建议 | ✅ 工作 |
assess_mesh_quality | 网格质量分析与求解器兼容性评估 | ✅ 工作 |
analyze_stl_geometry | STL预处理和snappyHexMesh就绪性分析 | ✅ 工作 |
analyze_turbulent_flow | 综合湍流分析及模型建议 | ✅ 工作 |
analyze_rde_waves_2d | 二维RDE波检测和性能指标 | ✅ 工作 |
generate_rde_3d_geometry | 使用blockMesh生成3D RDE环形几何体 | ✅ 工作 |
analyze_rde_waves_3d | 三维RDE波传播和相互作用分析 | ✅ 工作 |
calculate_rde_3d_performance | 3D RDE推力、Isp和效率计算 | ✅ 工作 |
岩心分析工具
1. 🔬 管道流量分析 (run_pipe_flow)
物理学:采用层流分析的圆形管道内部流动
- 计算雷诺数、摩擦系数、压降、壁面剪应力
- 应用程序:液压系统、管道设计、暖通空调分析
- 求解器:
icoFoam(层状),foamRun -solver incompressibleFluid(开发中) - 状态: ✅ 工作 -完全实现网格生成
- 当前限制:对于高级湍流分析,请使用
analyze_turbulent_flow
1b。 🌀 湍流分析 (analyze_turbulent_flow)
物理学:管道、通道和外部流的综合湍流分析
- 湍流模型:在k-epsilon和k-omega SST之间自动选择,并进行调整
- 摩擦系数:光滑的管道(Blasius)和粗糙的管道(Colebrook White/Swamee Jain)
- 管道粗糙度:内置数据库,包含13种标准材料(钢、铸铁、PVC等)
- 计算:
- 雷诺数和流态分类 - 摩擦系数(光滑和粗糙的管道) - 压降和水头损失(Darcy Weisbach) - 墙体剪应力和摩擦速度 - y+估计和第一单元高度建议 - 湍流入口条件(k、ε、ω、νt)
- 网格引导:y+墙功能验证,第一个单元格高度计算器
- 教育内容:苏格拉底式问题、物理解释、模型比较
- 状态: ✅ 工作 -完成实施并验证
2. ✈️ 外部流量分析 (analyze_external_flow)
物理学:基本空气动力学分析(简化实施)
- 计算:基本流型和压力分布
- 应用程序:初步空气动力学评估
- 求解器:
foamRun -solver incompressibleFluid(基本配置) - 状态: ⚠️ 部分的 -框架存在,需要求解器集成修复
- 当前限制:先进湍流模型未完全集成
3. 🌡️ 传热分析 (analyze_heat_transfer)
物理学:基本传热分析(有限实施)
- 计算:温度分布(简化情况)
- 应用程序:基本热分析
- 求解器:传热求解器集成正在进行中
- 状态: ⚠️ 开发中 -基本框架,需要求解器集成
- 当前限制:共轭传热尚未实施
4. 🌊 多相流分析 (analyze_multiphase_flow)
物理学:多相流框架(早期开发)
- 应用程序:基本自由表面流动分析
- 求解器:计划集成多相求解器
- 状态: ⚠️ 仅限框架 -工具结构存在,需要求解器集成
- 当前限制:未实施VOF方法和先进的多相物理
网格和几何工具
5. 📐 网格质量评估 (assess_mesh_quality)
目的:OpenFOAM案例的全面网格质量分析
- 指标:非正交性、偏斜度、纵横比、单元体积分布
- 特性:求解器兼容性评估、质量分级(A-F)、改进建议
- 教育的:解释网格质量对求解器收敛和精度的影响
- 状态: ✅ 工作 -完整实施教育内容
6. 🔺 STL几何分析器 (analyze_stl_geometry)
目的:用于snappyHexMesh预处理的STL文件质量分析
- 检查:水密性、歧管边缘、正常稠度、三角形质量
- 特性:特征边缘提取、细化区域建议、复杂性评估
- 专家洞察力:“90%的snappyHexMesh失败都源于糟糕的几何形状”
- 状态: ✅ 工作 -在维修指导下完成实施
RDE(旋转爆震发动机)分析套件
7. 🔥 二维RDE波分析 (analyze_rde_waves_2d)
物理学:二维旋转爆震波检测与性能分析
- 发现:波前、多波相互作用、碰撞事件
- 计算:推力(验证值:11519 N)、Isp(1629 s)、燃烧效率(85%)
- 特性:波浪跟踪、碰撞分析、稳定性评估
- 状态: ✅ 工作 -根据分析解决方案进行验证
8. 🏗️ 3D RDE几何生成器 (generate_rde_3d_geometry)
目的:为OpenFOAM生成完整的3D环形RDE几何图形
- 组件:入口段、环形燃烧室、带膨胀的喷嘴
- 输出:blockMeshDict、边界补丁、注射口位置
- 特性:网格质量预测、计算需求估算
- 状态: ✅ 工作 -带验证的完整几何图形生成
9. 🌀 三维RDE波分析 (analyze_rde_waves_3d)
物理学:三维爆震波传播和相互作用分析
- 轨迹:三维波阵面、轴向传播、波-波相互作用
- 计算:3D推力组件、径向损耗、波浪碰撞增强
- 教育的:解释3D与2D波物理差异
- 状态: ✅ 工作 -从验证的2D基线增强
10. 📊 3D RDE性能计算器 (calculate_rde_3d_performance)
目的:全面的3D RDE性能指标计算
- 推力分析:燃烧器+喷嘴故障,轴向/径向部件
- 效率:燃烧效率、喷嘴性能、混合分析
- 验证:与二维基线相比(11519 N,1629 s,85%)
- 状态: ✅ 工作 -配有优化指导
🎯 智能CFD教育功能
🧮 基于人工智能指导的物理计算
- 无因次数:Reynolds、Prandtl、Nusselt、Rayleigh、Grashof与教育背景
- 材料特性:热导率、密度、比热、粘度,带数据库参考
- 验证:与Hagen Poiseuille、Blasius和实验相关性的分析比较
- 错误检测:通过5个为什么分析和分辨率指导进行非物理结果检测
🎓 适应性教育内容
- 渐进物理学解释:复杂性适应用户所展示的理解水平
- 苏格拉底式教学法:战略性提问,以建立深刻的概念理解
- 工程指导:具有学术依据的情境感知设计建议
- 行业应用:来自汽车、航空航天、电子和海洋领域的真实案例
- 最佳实践:智能网格质量评估、边界条件验证、求解器选择逻辑
🔍 全面的CFD验证框架
- 多物理领域:跨管道流、外部流、传热和多相系统的验证
- 解析解:与经典解的自动比较(Poiseuille、Blasius、Rayleigh-Bénard)
- 实验验证:实验相关性和基准案例数据库
- 信心指标:具有不确定性量化和误差界的统计验证
📊 智能可视化和结果
- ParaView Web界面:端口8080上的实时结果可视化,带有教育注释
- 上下文感知图:基于物理领域和用户理解自动生成可视化
- 互动学习:用苏格拉底式关于流动现象的提问引导对结果的探索
- 流线和路径:流动可视化,对粒子追踪进行教育性解释
- 结果导出:VTK格式,用于高级后处理,具有全面的元数据
📥 安装
先决条件
系统要求
- 操作系统:Ubuntu 20.04+或Debian 11+(推荐)
- 记忆:8GB+RAM(建议用于大型模拟)
- 存储:10GB+可用磁盘空间
- 中央处理器:多核处理器(建议使用4+核)
所需依赖关系
# Ubuntu/Debian - Install all dependencies
sudo apt-get update
sudo apt-get install -y \
cmake \
build-essential \
git \
nlohmann-json3-dev \
libboost-system-dev \
libboost-thread-dev \
sqlite3 \
libsqlite3-devOpenFOAM 12安装
# Ubuntu/Debian packages (recommended)
sudo apt-get update
sudo apt-get install openfoam12
# Alternative: OpenFOAM Foundation packages
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环境设置和验证
# Verify installation
export LD_LIBRARY_PATH=/opt/openfoam12/platforms/linux64GccDPInt32Opt/lib/dummy:/opt/openfoam12/platforms/linux64GccDPInt32Opt/lib:$LD_LIBRARY_PATH
export PATH=/opt/openfoam12/platforms/linux64GccDPInt32Opt/bin:$PATH
export WM_PROJECT_DIR=/opt/openfoam12
# Test core utilities
which blockMesh # ✅ Mesh generation
which foamRun # ✅ Modern solver framework
which icoFoam # ✅ Laminar flow solver
# Note: OpenFOAM 12 uses foamRun instead of individual solver executables构建MCP服务器
- 克隆存储库
git clone https://github.com/webworn/openfoam-mcp-server.git
cd openfoam-mcp-server- 使用CMake构建
mkdir build && cd build
cmake ..
make -j$(nproc)- 试验装置
# Test server builds successfully
./openfoam-mcp-server-test # Minimal test version
./openfoam-mcp-server # Full version (requires complete OpenFOAM setup)
# Verify MCP connectivity
python3 comprehensive_system_test.py相关性自动检测
构建系统会自动检测:
- ✅ OpenFOAM库:
/opt/openfoam12/platforms/linux64GccDPInt32Opt/lib - ✅ nlohmann/json:MCP协议的JSON解析
- ✅ 推进:系统和线程库
- ✅ SQLite3:可选案例数据库存储
🤖 Claude代码集成
MCP配置
使用CLI将服务器添加到Claude Code:
# Add OpenFOAM MCP server
claude mcp add-json openfoam-mcp-server '{
"command": "/workspaces/openfoam-mcp-server/build/openfoam-mcp-server-test",
"args": [],
"env": {
"LD_LIBRARY_PATH": "/opt/openfoam12/platforms/linux64GccDPInt32Opt/lib/dummy:/opt/openfoam12/platforms/linux64GccDPInt32Opt/lib",
"FOAM_INST_DIR": "/opt/openfoam12",
"WM_PROJECT_DIR": "/opt/openfoam12",
"FOAM_LIBBIN": "/opt/openfoam12/platforms/linux64GccDPInt32Opt/lib",
"FOAM_APPBIN": "/opt/openfoam12/platforms/linux64GccDPInt32Opt/bin",
"FOAM_ETC": "/opt/openfoam12/etc",
"PATH": "/opt/openfoam12/platforms/linux64GccDPInt32Opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
}
}'
# Verify server connection
claude mcp list
# Should show: openfoam-mcp-server - ✓ Connected智能CFD助手示例
苏格拉底式学习:管道流分析
🧑💻 User: "Analyze water flow in a 0.1m diameter pipe at 2 m/s"
🤖 Claude: Before I run the analysis, let me understand your background better.
🔍 CLARIFY: "What specifically interests you about this pipe flow - are you designing a hydraulic system, learning about pressure losses, or optimizing an existing installation?"
🧑💻 User: "I'm learning about pressure losses for my fluid mechanics course"
🤖 Claude: Perfect! I'll guide you through the analysis step by step.
*Uses run_pipe_flow tool with educational context*
📊 Results with Learning:
• Reynolds Number: 200,000
💡 This indicates turbulent flow (Re > 4,000). What do you think this means for mixing?
• Friction Factor: 0.0184 (Blasius correlation)
🌊 EXPLORE: How would this change if we doubled the velocity?
• Pressure Drop: 2.4 kPa per meter
✅ CONFIRM: So you're seeing that pressure drop increases significantly with velocity - can you explain why?
🎯 APPLY: "Now that you understand the relationship, how would you redesign this pipe to reduce pumping costs by 50%?"上下文感知错误解决
🧑💻 User: "My heat transfer simulation isn't converging. The residuals keep oscillating."
🤖 Claude: I'll help you resolve this using systematic analysis.
*Applies 5 Whys methodology*
🔍 Why #1: "Why are the residuals oscillating?"
Analysis: Likely numerical instability or inappropriate relaxation factors.
🔍 Why #2: "Why might the relaxation factors be inappropriate?"
Your setup shows high temperature gradients that require more conservative factors.
🔍 Why #3: "Why are the temperature gradients so high?"
The boundary conditions show a 500K temperature difference across a thin wall.
📚 Research-Backed Solution:
• Reduce temperature relaxation from 0.7 to 0.3 (Versteeg & Malalasekera, 2007)
• Implement under-relaxation for energy equation (Patankar, 1980)
• Consider CFL number for transient effects
🎯 Prevention Strategy:
• Always validate physical temperature ranges before simulation
• Use dimensionless temperature analysis for better conditioning
• Implement gradual temperature ramping for extreme conditions从自然语言中提取参数
🧑💻 User: "I have a large tank with water draining through a small hole at the bottom. The water level starts at about 2 meters and I want to know how long it takes to empty."
🤖 Claude: I can help with this dam break/draining analysis! Let me extract the CFD parameters from your description.
*Uses intelligent parameter extraction*
📋 Extracted Parameters (Confidence: 85%):
• Physics Domain: Multiphase flow (free surface)
• Initial water height: 2.0 m ✓
• Geometry: Tank with bottom orifice ✓
• Fluid: Water (ρ=1000 kg/m³, μ=1e-3 Pa·s) ✓
❓ Clarification Needed:
• Tank dimensions (length, width)?
• Orifice diameter?
• Are we modeling turbulence effects?
🔍 EXPLORE: "Based on Torricelli's law, what do you expect happens to the flow rate as the tank empties?"
*After clarification, runs multiphase flow analysis*
📊 Results with Physics Insight:
• Analytical (Torricelli): ~89 seconds for complete drainage
• CFD Simulation: ~94 seconds (includes viscous effects)
• Flow regime: Initially turbulent (Re~50,000), transitions to laminar
• Vortex formation near orifice affects drainage rate by ~5%智能工作流集成
人工智能增强工程设计过程
- 概念设计:具有智能参数提取的上下文感知初始大小
- 物理验证:苏格拉底式提问,确保理解假设
- 详细分析:使用AI生成的文档导出OpenFOAM案例
- 错误解决:系统故障排除的5个为什么方法
- 优化:人工智能引导的设计改进,具有学术依据
- 验证:自动与分析解和实验数据进行比较
渐进式CFD教育
- 自适应学习复杂性会自动根据用户的理解程度进行调整
- 概念图:CFD知识图指导学习路径优化
- 苏格拉底式发现:战略性提问建立了深刻的概念理解
- 研究整合:学术论文和经过验证的解决方案支持学习
- 行业背景:现实世界的应用程序将理论与实践联系起来
- 错误预防:通过系统的根本原因分析从错误中吸取教训
🤝 贡献
开发环境
GitHub代码空间 (推荐):
- 分叉存储库
- 在代码空间中打开(自动配置OpenFOAM 12)
- VS Code Desktop与完整IntelliSense集成
- 使用4-32台核心机器进行云开发
本地开发:
# Install dependencies
sudo apt-get install cmake build-essential openfoam12 nlohmann-json3-dev
# Clone and build
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 { /* physics parameters */ };
struct Results { /* calculated outputs */ };
Results analyze(const Input& input);
bool validateInput(const Input& input);
json toJson(const Results& results);
};2.创建MCP工具包装器
// src/tools/your_analysis_tool.hpp
class YourAnalysisTool {
public:
static std::string getName() { return "your_analysis"; }
static std::string getDescription() { return "Physics description"; }
static json getInputSchema();
ToolResult execute(const json& arguments);
};3.注册工具
// src/main.cpp
#include "tools/your_analysis_tool.hpp"
int main() {
McpServer server;
registerYourAnalysisTool(server); // Add this line
server.start();
}物理实施指南
OpenFOAM集成
- 案例模板:使用
src/openfoam/case_templates/用于求解器设置 - 边界条件:实施适合物理的BC选择
- 网格生成:添加自动啮合和质量检查
- 求解器选择:为物理选择合适的OpenFOAM求解器
验证要求
- 分析比较:与已知的解决方案(Poiseuille、Blasius等)进行比较
- 实验数据:根据已发布的相关性进行验证
- 趋同研究:确保网格独立的结果
- 物理边界:检查非物理结果
教育内容
- 物理学解释:描述控制方程和假设
- 无因次数:计算并解释重要性
- 工程背景:提供行业相关指导
- 设计建议:建议优化策略
代码规范
C++最佳实践
- C++20标准:适当使用现代C++特性
- OpenFOAM风格:遵循OpenFOAM编码惯例
- 内存管理:使用智能指针、RAII原则
- 错误处理:全面的异常处理
MCP协议合规性
- JSON-RPC 2.0:严格遵守协议
- 模式验证:完成输入参数验证
- 错误信息:用户友好的错误报告
- 资源管理:适当的清理和案件管理
🏗️ 技术架构
系统概述
┌─────────────────┐ JSON-RPC 2.0 ┌──────────────────┐
│ Claude Code │ ◄──────────────── │ MCP Server │
│ AI Assistant │ │ (12 Tools) │
└─────────────────┘ └──────────────────┘
│
▼
┌──────────────────┐
│ Tool Router │
│ (Registration) │
└──────────────────┘
│
┌──────────────┬──────────────┬───────┴───────┬──────────────┬──────────────┐
▼ ▼ ▼ ▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│CFD Assistant│ │ Mesh Quality│ │STL Analyzer │ │ RDE 2D Wave │ │RDE 3D Tools │ │ Pipe Flow │
│ (5 tools) │ │ Tool │ │ Tool │ │ Tool │ │ (3 tools) │ │ Tool │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Context │ │MeshQuality │ │ STLAnalyzer │ │RDE2DWave │ │RDE3DGeometry│ │ PipeFlow │
│ Engine │ │ Analyzer │ │ Class │ │ Analyzer │ │/Wave/Perf │ │ Analyzer │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │ │ │ │ │
└──────────────┴──────────────┴───────┬───────┴──────────────┴──────────────┘
▼
┌──────────────────┐
│ Case Manager │
│ (OpenFOAM) │
└──────────────────┘
│
▼
┌──────────────────┐
│ OpenFOAM │
│ Solvers │
│ (Native C++) │
└──────────────────┘数据流
- 用户请求:对Claude Code的自然语言查询
- 人工智能处理:Claude解释请求并调用适当的MCP工具
- 参数验证:输入模式验证和物理边界检查
- OpenFOAM设置:使用边界条件自动创建案例
- CFD仿真:原生OpenFOAM求解器执行
- 结果处理:物理计算和教育内容生成
- 回应:附有解释和建议的格式化结果
性能特点
- 并行执行:多线程OpenFOAM求解器
- 案例缓存:类似模拟的智能重用
- 网格模板:针对常见几何形状的预验证网格
- 异步处理:无阻塞模拟执行(计划)
📚 参考文献
- OpenFOAM基金会: https://openfoam.org/
- 模型上下文协议: https://modelcontextprotocol.io/
- CFD理论:Versteeg和Malalasekera的《计算流体动力学导论》
- 传热:Cengel&Ghajar的《热传递》
- 流体力学:怀特的《流体力学》
📄 许可证
Apache许可证2.0-请参阅 许可证 了解详情。
🙏 致谢
- OpenFOAM基金会 世界级CFD工具包
- Anthropic 用于Claude Code和MCP协议
- CFD社区 用于验证数据和最佳实践
🚧 发展现状及路线图
*加入我们,共同打造智能CFD-AI集成平台!*
✅ 已完成的功能
核心基础设施
- ✅ MCP服务器框架:JSON-RPC 2.0协议实现
- ✅ OpenFOAM 12集成:与虚拟Pstream的基本求解器连接
- ✅ 网格生成:用于结构化网格的工作blockMesh集成
- ✅ 教育AI:上下文引擎、苏格拉底式提问、参数提取
- ✅ 管道流量分析:通过湍流模型设置完成实施
🔧 积极发展
OpenFOAM 12兼容性 (优先级:高)
- 🔄 求解器迁移:从旧求解器名称更新为
foamRun框架 - 🔄 配置更新:现代OpenFOAM 12求解器词典
- ✅ 湍流模型:k-ε和k-ωSST积分,包括
analyze_turbulent_flow工具 - 🔄 JSON响应修复:解决2/5工具输出格式问题
增强物理领域 (优先级:中等)
- 🔄 外流:带有湍流模型的完整空气动力学工具
- 🔄 传热:基本共轭传热实施
- 🔄 多相流:自由表面流的VOF方法集成
📋 计划中的行业应用 (未来发展)
第二阶段开发 (6-12个月)
- 🚗 汽车:车辆空气动力学、引擎盖下冷却、暖通空调系统
- ✈️ 航空航天:翼型分析、推进系统、高超音速气流
- ⚡ 能量:风力涡轮机、太阳能集热器、燃气轮机
- 🏥 生物医学:血流模拟、药物输送、医疗器械
- 🌊 海军陆战队:船舶阻力、海上平台、螺旋桨分析
*注:这些是计划中的扩展,需要额外的求解器集成和验证*
🧠 AI增强功能 (开发中)
当前AI功能 (✅ 已实施)
- ✅ 语境工程:用户建模和自适应解释
- ✅ 苏格拉底式提问:4种战略教育模式(澄清、探索、确认、应用)
- ✅ 智能参数提取:自然语言到CFD参数转换
- ✅ 5个为什么的错误解决方案:系统故障排除方法
计划中的人工智能增强 (🔄 未来)
- 🔄 自动网格生成:基于物理的AI驱动网格自适应
- 🔄 收敛预测:基于ML的收敛行为预测
- 🔄 多目标优化:帕累托最优设计探索
- 🔄 性能预测:在CFD数据库上训练的AI模型
🔧 技术架构 (当前实施)
工作部件
- ✅ MCP协议:JSON-RPC 2.0,带工具注册
- ✅ OpenFOAM集成:基本求解器连接
- ✅ 网格生成:带有质量评估的blockMesh
- ✅ 教育框架:情境感知学习系统
发展重点
- 🔄 解决方案现代化:更新OpenFOAM 12 foamRun框架
- 🔄 JSON响应修复:解决工具输出格式问题
- 🔄 验证框架:针对分析解决方案的自动化测试
- 🔄 案件管理:改进了工作流程自动化
📊 当前工具和求解器状态矩阵
| 领域 | 状态 | 实施 | 备注 |
|---|---|---|---|
| 网格质量 | ✅ 工作 | assess_mesh_quality 工具 | 非正交性、偏斜度、求解器兼容性 |
| STL分析 | ✅ 工作 | analyze_stl_geometry 工具 | 水密性检查、特征提取、snappyHexMesh准备 |
| RDE二维波 | ✅ 工作 | analyze_rde_waves_2d 工具 | 波浪检测、碰撞分析、性能指标 |
| RDE 3D套件 | ✅ 工作 | 3个工具(几何、波浪、性能) | 完整的3D RDE分析工作流程 |
| 层流 | ✅ 工作 | icoFoam 集成 | 管道流量分析完成 |
| 湍流 | ✅ 工作 | analyze_turbulent_flow 工具 | k-ε,k-ωSST,Colebrook-White,y+计算 |
| 外流 | ⚠️ 框架 | 基本结构 | 正在进行求解器集成 |
| 传热 | ⚠️ 框架 | 工具骨架 | 需要求解器实现 |
| 多相 | ⚠️ 框架 | 基本结构 | VOF集成计划 |
| 可压缩的 | 📋 计划的 | 未开始 | 未来发展 |
| 燃烧 | 📋 计划的 | 未开始 | 研究阶段 |
🤝 如何做出贡献
我们欢迎所有领域的贡献!以下是您可以提供帮助的方式:
🔬 物理领域专家
- 验证物理模型:确保控制方程的准确实施
- 开发测试用例:根据分析/实验数据创建验证案例
- 撰写教育内容:解释教育工具的物理概念
💻 软件开发人员
- 实施新工具:遵循我们的架构模式以获得新的分析工具
- 优化性能:提高计算效率和内存使用率
- 增强用户界面/用户体验:开发更好的用户界面和可视化工具
🏭 行业专业人士
- 定义用例:指定实际工程问题和要求
- 提供测试数据:分享(匿名)验证案例和基准
- 评审结果:根据工业标准验证工具输出
📚 教育工作者和学生
- 创建教程开发教育内容和学习材料
- 测试工具:识别可用性问题并提出改进建议
- 文档:改进文档、示例和指南
🎯 贡献路线图
当前优先事项 (未来三个月)
- OpenFOAM 12兼容性:修复求解器集成和配置问题
- JSON响应修复:解决2/5个工具输出格式问题
- 验证框架:针对分析解决方案实施自动化测试
- 文档更新:使文件与实际执行情况保持一致
中期发展 (6-12个月)
- 高等物理:完整的传热和多相流实施
- ~~湍流模型~~: ✅ 完成-k-ε和k-ωSST
analyze_turbulent_flow工具 - 网格质量:实施智能网格自适应和质量评估
- 行业应用:基本的汽车和航空航天分析工具
长远愿景 (1-2年)
- 全面的解决方案覆盖范围:集成主要的OpenFOAM求解器系列
- 高级AI功能:用于优化和预测的机器学习
- 真实世界验证:根据实验数据进行广泛验证
- 生产部署:用于工程工作流程的稳定、可扩展的系统
📬 参与其中
准备好贡献了吗?以下是如何开始:
- 加入我们的社区:标记存储库并加入讨论
- 选择一个问题:查看我们的 适合初学者的任务
- 分叉与开发:使用GitHub Codespace进行即时开发环境
- 提交PR:遵循我们的贡献指南并提交您的改进
我们正在共同构建基于人工智能的CFD分析的未来! 🌊🤖⚡
______________________________________________________________________
*通过AI驱动的CFD分析改变您的工程工作流程。今天就开始吧!*
