🚀 Revolutionary intelligent CFD education and problem-solving system - The world's first OpenFOAM Model Context Protocol server with advanced AI capabilities including Socratic questioning, context engineering, and expert-level error resolution.
- Complex Setup: OpenFOAM requires deep expertise in mesh generation, boundary conditions, and solver selection
- Physics Knowledge: CFD analysis demands understanding of fluid dynamics, heat transfer, and numerical methods
- Time-Intensive: Manual setup and analysis can take hours to days for complex cases
- Error-Prone: Incorrect boundary conditions or solver settings lead to non-physical results
- Learning Curve: Traditional CFD tools lack educational guidance and progressive learning support
This revolutionary MCP transforms CFD learning and problem-solving through:
- Context Engineering: Advanced user modeling that tracks CFD concept understanding and adapts complexity
- Socratic Questioning: Strategic questioning engine with 4 proven patterns (Clarify, Explore, Confirm, Apply)
- Intelligent Parameter Extraction: Natural language to CFD parameter translation with confidence scoring
- Advanced Error Resolution: 5 Whys methodology with research-backed solutions and academic references
- CFD Knowledge Graph: Concept relationship mapping for guided learning paths
- Dual-Terminal Architecture: Seamless OpenFOAM execution with intelligent conversation flow
- Revolutionizes CFD Education: First AI-driven system that teaches CFD through guided discovery
- Democratizes CFD: Makes professional fluid dynamics analysis accessible through natural language
- Accelerates Learning: Progressive complexity adaptation based on user understanding level
- Enhances Problem-Solving: 5 Whys error resolution with research-backed solutions
- Professional Integration: Maintains full OpenFOAM compatibility with intelligent guidance overlay
- Enhanced User Modeling: Tracks CFD concept understanding, experience level, and learning progress
- Confidence Scoring: Monitors user comprehension across fluid dynamics, heat transfer, and numerical methods
- Adaptive Complexity: Automatically adjusts explanations and guidance based on user expertise
- Learning Path Optimization: Suggests optimal concept progression for effective CFD mastery
- Strategic Question Patterns: 4 proven educational strategies for progressive learning
- 🔍 CLARIFY: "What specifically do you mean by turbulent flow in this context?"
- 🌊 EXPLORE: "What would happen if we increased the Reynolds number to 500,000?"
- ✅ CONFIRM: "So you're saying that pressure drop increases quadratically with velocity?"
- 🎯 APPLY: "How would you use the Moody diagram for this pipe flow problem?"
- Context-Aware Questions: Generated based on user's current understanding and conversation history
- Progressive Difficulty: Questions adapt complexity to build understanding systematically
- Natural Language Processing: Converts conversational descriptions to precise CFD parameters
- Physics Validation: Ensures extracted parameters are physically reasonable and consistent
- Confidence Scoring: Provides certainty levels for parameter extraction accuracy
- Interactive Clarification: Asks intelligent follow-up questions when parameters are ambiguous
- 5 Whys Methodology: Systematic root cause analysis for CFD simulation failures
- Research Integration: Academic paper database with evidence-based solutions
- Diagnostic Guidance: Step-by-step troubleshooting with educational explanations
- Prevention Strategies: Teaches users to avoid similar issues through understanding
- Concept Relationships: Maps connections between fluid mechanics, heat transfer, and numerical methods
- Learning Dependencies: Identifies prerequisite concepts for advanced topics
- Skill Assessment: Evaluates user knowledge gaps and suggests focused learning areas
- Academic References: Links concepts to authoritative sources and research papers
Physics: Internal flow in circular pipes with laminar/turbulent regime detection
- Calculates: Reynolds number, friction factor, pressure drop, wall shear stress
- Applications: Hydraulic systems, pipeline design, HVAC analysis
- Solvers:
simpleFoam
,pimpleFoam
with automated turbulence model selection - Features: Entrance effects, surface roughness, flow regime transitions
Physics: Aerodynamics around vehicles, aircraft, and buildings
- Calculates: Drag coefficient (Cd), lift coefficient (Cl), aerodynamic forces
- Applications:
- Automotive: Car aerodynamics, fuel efficiency optimization
- Aerospace: Aircraft design, wing analysis, UAV performance
- Civil: Building wind loads, urban flow patterns
- Solvers:
simpleFoam
,SRFSimpleFoam
with k-ω SST turbulence - Features: Reynolds number scaling, boundary layer analysis, flow separation detection
Physics: Conjugate heat transfer between fluid and solid regions
- Calculates: Temperature distributions, thermal resistance, heat transfer coefficients
- Applications:
- Electronics Cooling: CPU/GPU thermal management, PCB heat spreading
- Heat Exchangers: Shell-and-tube, plate heat exchangers
- Building Thermal: HVAC design, thermal comfort analysis
- Engine Cooling: Combustion engines, electric motor cooling
- Solvers:
chtMultiRegionFoam
with radiation modeling - Features: Material property database, Nusselt number correlations, thermal violations
Physics: Complex multiphase interactions using Volume of Fluid (VOF) method
- Calculates: Interface tracking, phase distribution, momentum transfer coefficients
- Applications:
- Dam Break Analysis: Hydraulic structure design, flood modeling
- Free Surface Flows: Ship hull design, coastal engineering
- Bubble Dynamics: Chemical reactors, gas-liquid separations
- Sloshing Analysis: Fuel tank design, liquid cargo transport
- Solvers:
interFoam
with interface compression and surface tension - Features: Analytical validation against dam break solutions, bubble rise dynamics
- Dimensionless Numbers: Reynolds, Prandtl, Nusselt, Rayleigh, Grashof with educational context
- Material Properties: Thermal conductivity, density, specific heat, viscosity with database references
- Validation: Analytical comparisons against Hagen-Poiseuille, Blasius, and experimental correlations
- Error Detection: Non-physical results detection with 5 Whys analysis and resolution guidance
- Progressive Physics Explanations: Complexity adapts to user's demonstrated understanding level
- Socratic Teaching Method: Strategic questioning to build deep conceptual understanding
- Engineering Guidance: Context-aware design recommendations with academic justification
- Industry Applications: Real-world examples from automotive, aerospace, electronics, and marine sectors
- Best Practices: Intelligent mesh quality assessment, boundary condition validation, solver selection logic
- Multi-Physics Domains: Validation across pipe flow, external flow, heat transfer, and multiphase systems
- Analytical Solutions: Automatic comparison with classical solutions (Poiseuille, Blasius, Rayleigh-Bénard)
- Experimental Validation: Database of experimental correlations and benchmark cases
- Confidence Metrics: Statistical validation with uncertainty quantification and error bounds
- ParaView Web Interface: Real-time result visualization on port 8080 with educational annotations
- Context-Aware Plots: Automatically generated visualizations based on physics domain and user understanding
- Interactive Learning: Guided exploration of results with Socratic questioning about flow phenomena
- Streamlines & Pathlines: Flow visualization with educational explanations of particle tracking
- Result Export: VTK format for advanced post-processing with comprehensive metadata
- OS: Ubuntu 20.04+ or Debian 11+ (recommended)
- Memory: 8GB+ RAM (16GB+ recommended for large simulations)
- Storage: 10GB+ available disk space
- CPU: Multi-core processor (4+ cores recommended)
# 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-dev
# Option 1: Ubuntu/Debian packages (easiest)
sudo apt-get install openfoam12
# Option 2: OpenFOAM Foundation packages (recommended)
# Download from: 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
# Option 3: Source compilation (advanced users)
# Follow: https://openfoam.org/download/12-source/
# Add to ~/.bashrc or ~/.profile
source /opt/openfoam12/etc/bashrc
# Verify installation
which blockMesh
which simpleFoam
foamVersion
- Clone Repository
git clone https://github.com/webworn/openfoam-mcp-server.git
cd openfoam-mcp-server
- Build with CMake
mkdir build && cd build
cmake ..
make -j$(nproc)
- Test Installation
./openfoam-mcp-server --version
# Should output: OpenFOAM MCP Server v2.0.0-dev
# Test AI capabilities
./openfoam-mcp-server --test-context-engine
./openfoam-mcp-server --demo-socratic-questioning
The build system automatically detects:
- ✅ OpenFOAM Libraries:
/opt/openfoam12/platforms/linux64GccDPInt32Opt/lib
- ✅ nlohmann/json: JSON parsing for MCP protocol
- ✅ Boost: System and threading libraries
- ✅ SQLite3: Optional case database storage
Add to your Claude Code settings (~/.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"
}
}
}
}
🧑💻 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%
- Conceptual Design: Context-aware initial sizing with intelligent parameter extraction
- Physics Validation: Socratic questioning to ensure understanding of assumptions
- Detailed Analysis: Export OpenFOAM cases with AI-generated documentation
- Error Resolution: 5 Whys methodology for systematic troubleshooting
- Optimization: AI-guided design improvements with academic justification
- Validation: Automatic comparison with analytical solutions and experimental data
- Adaptive Learning: Complexity automatically adjusts to demonstrated user understanding
- Concept Mapping: CFD knowledge graph guides learning path optimization
- Socratic Discovery: Strategic questioning builds deep conceptual understanding
- Research Integration: Academic papers and validated solutions support learning
- Industry Context: Real-world applications connect theory to practice
- Error Prevention: Learn from mistakes through systematic root cause analysis
GitHub Codespaces (Recommended):
- Fork the repository
- Open in Codespaces (auto-configures OpenFOAM 12)
- VS Code Desktop integration with full IntelliSense
- Cloud development with 4-32 core machines
Local Development:
# 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)
// 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);
};
// 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);
};
// src/main.cpp
#include "tools/your_analysis_tool.hpp"
int main() {
McpServer server;
registerYourAnalysisTool(server); // Add this line
server.start();
}
- Case Templates: Use
src/openfoam/case_templates/
for solver setup - Boundary Conditions: Implement physics-appropriate BC selection
- Mesh Generation: Add automatic meshing with quality checks
- Solver Selection: Choose appropriate OpenFOAM solver for physics
- Analytical Comparison: Compare with known solutions (Poiseuille, Blasius, etc.)
- Experimental Data: Validate against published correlations
- Convergence Studies: Ensure mesh-independent results
- Physical Bounds: Check for non-physical results
- Physics Explanations: Describe governing equations and assumptions
- Dimensionless Numbers: Calculate and explain significance
- Engineering Context: Provide industry-relevant guidance
- Design Recommendations: Suggest optimization strategies
- C++20 Standard: Use modern C++ features appropriately
- OpenFOAM Style: Follow OpenFOAM coding conventions
- Memory Management: Use smart pointers, RAII principles
- Error Handling: Comprehensive exception handling
- JSON-RPC 2.0: Strict protocol adherence
- Schema Validation: Complete input parameter validation
- Error Messages: User-friendly error reporting
- Resource Management: Proper cleanup and case management
┌─────────────────┐ JSON-RPC 2.0 ┌──────────────────┐
│ Claude Code │ ◄──────────────── │ MCP Server │
│ AI Assistant │ │ (C++ Native) │
└─────────────────┘ └──────────────────┘
│
▼
┌──────────────────┐
│ Tool Router │
│ (Registration) │
└──────────────────┘
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Pipe Flow │ │ External Flow │ │ Heat Transfer │
│ Tool │ │ Tool │ │ Tool │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ PipeFlow │ │ ExternalFlow │ │ HeatTransfer │
│ Analyzer │ │ Analyzer │ │ Analyzer │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└─────────────────────┼─────────────────────┘
▼
┌──────────────────┐
│ Case Manager │
│ (OpenFOAM) │
└──────────────────┘
│
▼
┌──────────────────┐
│ OpenFOAM │
│ Solvers │
│ (Native C++) │
└──────────────────┘
- User Request: Natural language query to Claude Code
- AI Processing: Claude interprets request and calls appropriate MCP tool
- Parameter Validation: Input schema validation and physics bounds checking
- OpenFOAM Setup: Automated case creation with boundary conditions
- CFD Simulation: Native OpenFOAM solver execution
- Result Processing: Physics calculations and educational content generation
- Response: Formatted results with explanations and recommendations
- Parallel Execution: Multi-threaded OpenFOAM solvers
- Case Caching: Intelligent reuse of similar simulations
- Mesh Templates: Pre-validated meshes for common geometries
- Async Processing: Non-blocking simulation execution (planned)
- OpenFOAM Foundation: https://openfoam.org/
- Model Context Protocol: https://modelcontextprotocol.io/
- CFD Theory: "An Introduction to Computational Fluid Dynamics" by Versteeg & Malalasekera
- Heat Transfer: "Heat Transfer" by Cengel & Ghajar
- Fluid Mechanics: "Fluid Mechanics" by White
Apache License 2.0 - see LICENSE for details.
- OpenFOAM Foundation for the world-class CFD toolkit
- Anthropic for Claude Code and MCP protocol
- CFD Community for validation data and best practices
Interested in contributing? Join us in building the most comprehensive CFD-AI integration platform!
- Supersonic Aerodynamics: Shock waves, expansion fans, nozzle design
- Gas Dynamics: Pressure wave propagation, transonic flows
- Hypersonic Applications: High-temperature effects, real gas properties
- Volume of Fluid (VOF): Free surface flows, dam breaks, sloshing tanks
- Eulerian-Eulerian: Bubble columns, fluidized beds, liquid-liquid extraction
- Lagrangian Particle Tracking: Spray injection, aerosol transport, combustion
- Premixed Combustion: Flame propagation, explosion modeling, engine combustion
- Non-Premixed: Diffusion flames, jet flames, industrial flares
- Solid Fuel: Coal combustion, biomass burning, waste incineration
// Planned automotive tools
analyze_vehicle_aerodynamics(car_geometry, speed, crosswind_effects)
optimize_underhood_cooling(heat_sources, fan_design, airflow_management)
design_hvac_system(cabin_geometry, climate_conditions, comfort_criteria)
simulate_engine_combustion(cylinder_geometry, fuel_injection, emissions)
// Planned aerospace tools
analyze_airfoil_performance(airfoil_coordinates, mach_range, reynolds_range)
design_propulsion_system(engine_type, thrust_requirements, efficiency_targets)
simulate_hypersonic_vehicle(mach_number, altitude, thermal_protection)
optimize_wing_configuration(geometry_parameters, flight_conditions)
// Planned energy tools
design_wind_turbine(blade_geometry, wind_conditions, power_optimization)
analyze_solar_collector(collector_type, solar_irradiance, fluid_properties)
optimize_gas_turbine(blade_design, combustion_efficiency, emissions)
simulate_nuclear_reactor(coolant_flow, heat_generation, safety_systems)
// Planned biomedical tools
simulate_blood_flow(vessel_geometry, pulsatile_conditions, wall_properties)
analyze_drug_delivery(injection_site, transport_mechanisms, target_tissue)
design_medical_device(device_geometry, biocompatibility, flow_characteristics)
model_respiratory_system(lung_geometry, breathing_patterns, particle_deposition)
// Planned marine tools
analyze_ship_resistance(hull_geometry, sea_conditions, propulsion_efficiency)
design_offshore_platform(platform_type, wave_loads, environmental_conditions)
simulate_propeller_cavitation(propeller_geometry, operating_conditions)
optimize_subsea_pipeline(pipeline_route, current_loads, installation_method)
- Auto-Mesh Generation: AI-driven mesh adaptation based on physics
- Intelligent Solver Selection: Automatic solver and model selection
- Convergence Prediction: ML-based convergence behavior forecasting
- Error Detection: Automated identification of non-physical results
- Multi-Objective Optimization: Pareto-optimal design exploration
- Sensitivity Analysis: Parameter importance ranking and correlation
- Surrogate Modeling: Reduced-order models for rapid design iteration
- Shape Optimization: Gradient-based and evolutionary algorithms
- Performance Prediction: AI models trained on CFD databases
- Failure Mode Analysis: Prediction of critical operating conditions
- Maintenance Scheduling: Condition monitoring through CFD analysis
- Real-Time Control: CFD-informed process control systems
- Cloud Integration: AWS, Azure, GCP deployment with auto-scaling
- HPC Cluster Support: SLURM, PBS job scheduling integration
- GPU Acceleration: CUDA/OpenCL solver acceleration
- Distributed Computing: Multi-node parallel execution
- Parametric Studies: Automated parameter sweeps and DOE
- Uncertainty Quantification: Monte Carlo and polynomial chaos methods
- Data Management: Version control for CFD cases and results
- Report Generation: Automated technical documentation
- CAD Integration: Direct CATIA, SolidWorks, Fusion 360 coupling
- FEA Coupling: Structural analysis with ANSYS, Abaqus, CalculiX
- Control Systems: MATLAB/Simulink integration for system analysis
- Data Analytics: Python/R integration for advanced post-processing
Domain | Solvers | Applications | Target Release |
---|---|---|---|
Compressible | rhoCentralFoam , sonicFoam |
Aerospace, turbomachinery | Q4 2025 |
Multiphase | interFoam , twoPhaseEulerFoam |
Process industry, marine | Q1 2026 |
Combustion | fireFoam , reactingFoam |
Power generation, automotive | Q2 2026 |
Electromagnetics | mhdFoam , electrostaticFoam |
Fusion, materials processing | Q3 2026 |
Particle Dynamics | DPMFoam , coalChemistryFoam |
Environmental, pharmaceutical | Q4 2026 |
We welcome contributions across all domains! Here's how you can help:
- Validate Physics Models: Ensure accurate implementation of governing equations
- Develop Test Cases: Create validation cases against analytical/experimental data
- Write Educational Content: Explain physics concepts for educational tools
- Implement New Tools: Follow our architecture patterns for new analysis tools
- Optimize Performance: Improve computational efficiency and memory usage
- Enhance UI/UX: Develop better user interfaces and visualization tools
- Define Use Cases: Specify real-world engineering problems and requirements
- Provide Test Data: Share (anonymized) validation cases and benchmarks
- Review Results: Validate tool outputs against industrial standards
- Create Tutorials: Develop educational content and learning materials
- Test Tools: Identify usability issues and suggest improvements
- Documentation: Improve documentation, examples, and guides
- Multiphase Flow Tool: Implement
interFoam
wrapper for free surface flows - Validation Framework: Develop automated validation against analytical solutions
- Performance Optimization: Parallel execution and memory management improvements
- Documentation: Enhanced tutorials and physics explanations
- Compressible Flow Suite: Complete supersonic and transonic flow tools
- AI Integration: Machine learning for mesh optimization and solver selection
- Cloud Deployment: AWS/Azure integration with auto-scaling capabilities
- Industry Partnerships: Collaborate with automotive and aerospace companies
- Complete Physics Coverage: All OpenFOAM solvers integrated with MCP
- Real-time Analysis: Live simulation monitoring and control
- Digital Twin Integration: IoT sensor data fusion with CFD models
- Autonomous Design: AI-driven design optimization without human intervention
Ready to contribute? Here's how to start:
- Join Our Community: Star the repository and join discussions
- Pick an Issue: Check our GitHub Issues for beginner-friendly tasks
- Fork & Develop: Use GitHub Codespaces for instant development environment
- Submit PR: Follow our contribution guidelines and submit your improvements
Together, we're building the future of AI-powered CFD analysis! 🌊🤖⚡
Transform your engineering workflow with AI-powered CFD analysis. Get started today!