C(NN)FD -- a deep learning framework for turbomachinery CFD analysis
Paper • 2306.05889 • Published
A deep learning surrogate model for predicting axial fan aerodynamic performance from geometric design parameters. Replaces expensive CFD simulations with real-time predictions (R² = 0.995, MAPE = 2.08%).
This is a Residual MLP neural network trained to predict 8 aerodynamic performance metrics from 14 fan blade design parameters. It serves as a fast surrogate for Computational Fluid Dynamics (CFD) simulations in fan design optimization workflows.
| Output Metric | R² | MAPE |
|---|---|---|
| Total Pressure Rise (Pa) | 0.9981 | 3.21% |
| Isentropic Efficiency | 0.9795 | 0.70% |
| Power Consumption (W) | 0.9960 | 5.33% |
| Flow Rate (m³/s) | 0.9984 | 2.78% |
| Specific Speed | 0.9954 | 1.74% |
| Degree of Reaction | 0.9979 | 0.61% |
| Diffusion Factor | 0.9983 | 1.29% |
| Noise Estimate (dBA) | 0.9980 | 1.01% |
| Average | 0.9952 | 2.08% |
| Parameter | Range | Unit | Description |
|---|---|---|---|
| blade_inlet_angle_deg | 40–70 | ° | Relative inlet flow angle from axial |
| blade_turning_angle_deg | 5–30 | ° | Flow turning (β1 - β2) |
| chord_length_mm | 50–150 | mm | Blade chord length |
| blade_thickness_ratio | 0.04–0.12 | - | Maximum thickness / chord |
| stagger_angle_deg | 30–60 | ° | Blade stagger angle |
| hub_tip_ratio | 0.3–0.7 | - | Hub-to-tip radius ratio |
| tip_clearance_ratio | 0.005–0.03 | - | Tip gap / blade height |
| num_blades | 6–20 | - | Number of blades |
| aspect_ratio | 1.0–4.0 | - | Blade height / chord |
| solidity | 0.5–1.5 | - | Chord / pitch |
| sweep_angle_deg | -15–15 | ° | Blade sweep angle |
| flow_coefficient | 0.3–0.7 | - | Vx / U_tip |
| rotational_speed_rpm | 1000–5000 | rpm | Rotational speed |
| tip_radius_mm | 150–500 | mm | Fan tip radius |
| Output | Unit | Description |
|---|---|---|
| total_pressure_rise_Pa | Pa | Total-to-total pressure rise |
| isentropic_efficiency | - | Isentropic efficiency (0–1) |
| power_consumption_W | W | Shaft power consumption |
| flow_rate_m3s | m³/s | Volumetric flow rate |
| specific_speed | - | Dimensionless specific speed |
| degree_of_reaction | - | Degree of reaction (0–1) |
| diffusion_factor | - | Lieblein diffusion factor |
| noise_estimate_dBA | dBA | Sound pressure level estimate |
import torch
import numpy as np
import json
# Load model
from model import FanSurrogate, predict_fan_performance
# Single prediction
design = {
'blade_inlet_angle_deg': 55.0,
'blade_turning_angle_deg': 15.0,
'chord_length_mm': 100.0,
'blade_thickness_ratio': 0.06,
'stagger_angle_deg': 45.0,
'hub_tip_ratio': 0.5,
'tip_clearance_ratio': 0.015,
'num_blades': 12,
'aspect_ratio': 2.5,
'solidity': 1.0,
'sweep_angle_deg': 0.0,
'flow_coefficient': 0.5,
'rotational_speed_rpm': 3000,
'tip_radius_mm': 300.0,
}
results = predict_fan_performance(design)
print(f"Pressure Rise: {results['total_pressure_rise_Pa']:.1f} Pa")
print(f"Efficiency: {results['isentropic_efficiency']:.3f}")
print(f"Power: {results['power_consumption_W']:.1f} W")
print(f"Flow Rate: {results['flow_rate_m3s']:.3f} m³/s")
print(f"Noise: {results['noise_estimate_dBA']:.1f} dBA")
The training data was generated using established turbomachinery correlations:
This model repository was generated by ML Intern, an agent for machine learning research and development on the Hugging Face Hub.