Skip to main content
Glama
AIRCRAFT_PROPELLER_GUIDE.md16 kB
# Aircraft Aerodynamics and Propeller Analysis Tools Guide ## Overview Phase 2 of the aerospace-mcp server adds comprehensive aircraft aerodynamics and propeller performance analysis capabilities. These tools enable detailed design and analysis of fixed-wing aircraft, propeller systems, and UAV energy optimization. ## New MCP Tools ### Aircraft Aerodynamics Tools #### `wing_vlm_analysis` Analyze wing aerodynamics using Vortex Lattice Method (VLM) or simplified lifting line theory. **Input Schema:** ```json { "geometry": { "span_m": 8.0, "chord_root_m": 1.2, "chord_tip_m": 0.8, "sweep_deg": 5.0, "dihedral_deg": 2.0, "twist_deg": -1.0, "airfoil_root": "NACA2412", "airfoil_tip": "NACA2412" }, "alpha_deg_list": [0, 2, 4, 6, 8, 10], "mach": 0.2 } ``` **Capabilities:** - **Planform Analysis**: Supports tapered, swept, and twisted wings - **Lift Distribution**: Calculates span efficiency and 3D effects - **Drag Polar**: Includes induced and profile drag components - **Stall Modeling**: Basic stall characteristics with airfoil data **Example Response:** ``` Wing VLM Analysis (Mach 0.2) ================================================== Geometry: 8.00m span, AR=7.1 Airfoils: NACA2412 (root) -> NACA2412 (tip) Alpha (°) CL CD CM L/D Eff ------------------------------------------------------- 0.0 0.0000 0.00770 -0.0500 0.0 0.850 4.0 0.3308 0.01385 -0.0434 23.9 0.850 8.0 0.6616 0.03228 -0.0368 20.5 0.850 ``` #### `airfoil_polar_analysis` Generate detailed airfoil polar data (CL, CD, CM vs angle of attack). **Input Schema:** ```json { "airfoil_name": "NACA2412", "alpha_deg_list": [-5, 0, 2, 4, 6, 8, 10, 15], "reynolds": 1000000, "mach": 0.1 } ``` **Supported Airfoils:** - **NACA Series**: 0012, 2412, 4412, 6412 - **Classic Airfoils**: Clark Y - **Database**: Built-in coefficients with Reynolds/Mach corrections - **Advanced**: AeroSandbox XFoil integration when available #### `calculate_stability_derivatives` Calculate longitudinal stability derivatives for aircraft design. **Input Schema:** ```json { "geometry": { "span_m": 10.0, "chord_root_m": 1.5, "chord_tip_m": 1.0, "sweep_deg": 0.0, "airfoil_root": "NACA2412" }, "alpha_deg": 2.0, "mach": 0.2 } ``` **Outputs:** - **CL_α**: Lift curve slope (per radian and per degree) - **CM_α**: Pitching moment curve slope - **Stability Assessment**: Static stability evaluation - **Wing Properties**: Area, aspect ratio, MAC, taper ratio ### Propeller Analysis Tools #### `propeller_bemt_analysis` Comprehensive propeller performance analysis using Blade Element Momentum Theory. **Input Schema:** ```json { "geometry": { "diameter_m": 0.254, "pitch_m": 0.178, "num_blades": 2, "activity_factor": 100, "cl_design": 0.5, "cd_design": 0.02 }, "rpm_list": [2000, 3000, 4000, 5000, 6000], "velocity_ms": 0.0, "altitude_m": 0.0 } ``` **Analysis Capabilities:** - **Static Thrust**: Hover and takeoff performance - **Forward Flight**: Cruise efficiency optimization - **Altitude Effects**: Density corrections for performance - **Propeller Coefficients**: CT, CP, and advance ratio calculations **Example Response:** ``` Propeller BEMT Analysis ============================================================ Propeller: 0.254m dia × 0.178m pitch, 2 blades Conditions: V = 0.0 m/s, Alt = 0 m RPM Thrust(N) Power(W) Torque(Nm) Efficiency J CT CP ------------------------------------------------------------------------------------- 2000 0.7 3 0.015 0.500 0.000 0.0875 0.0525 3000 1.5 6 0.021 0.500 0.000 0.0875 0.0525 Peak Efficiency: 50.0% at 2000 RPM Thrust: 0.7 N, Power: 3 W ``` #### `uav_energy_estimate` Comprehensive UAV energy analysis for mission planning and endurance optimization. **Input Schema:** ```json { "uav_config": { "mass_kg": 2.0, "wing_area_m2": 0.5, "cd0": 0.03, "cl_cruise": 0.8, "num_motors": 1, "motor_efficiency": 0.85, "esc_efficiency": 0.95 }, "battery_config": { "capacity_ah": 4.0, "voltage_nominal_v": 14.8, "mass_kg": 0.6, "energy_density_wh_kg": 150, "discharge_efficiency": 0.95 }, "mission_profile": { "velocity_ms": 12.0, "altitude_m": 100.0 } } ``` **Aircraft Types Supported:** - **Fixed-Wing**: Wing area and cruise CL specified - **Multirotor**: Rotor disk area specified - **Hybrid**: Both wing and rotor configurations **Analysis Features:** - **Power Breakdown**: Aerodynamic and system power components - **Flight Time**: Endurance calculations with battery modeling - **Range Estimation**: For fixed-wing aircraft - **Efficiency Analysis**: Overall system efficiency assessment - **Recommendations**: Performance optimization suggestions ### Database Tools #### `get_airfoil_database` Access built-in airfoil coefficient database. **Available Data:** - **Lift Curve Slope**: CL_α in per radian - **Zero-Lift Drag**: Profile drag coefficient CD0 - **Maximum Lift**: CL_max and stall angle - **Pitching Moment**: CM0 for cambered airfoils #### `get_propeller_database` Access propeller geometry and performance database. **Available Propellers:** - **APC Series**: 10×7, 12×8, 15×10 (inches) - **Multirotor Props**: 8×4.5 tri-blade configurations - **Performance Data**: Maximum efficiency estimates - **Geometry**: Diameter, pitch, blade count, activity factors ## Technical Implementation ### Wing Analysis Methods **Lifting Line Theory:** - 3D wing effects with induced drag calculation - Aspect ratio and taper ratio corrections - Prandtl lifting line approximations - Oswald efficiency factor modeling (e ≈ 0.85) **Enhanced Capabilities with AeroSandbox:** - Full VLM analysis with chordwise and spanwise panels - Detailed blade sections for propeller analysis - XFoil integration for airfoil polars - Higher-fidelity aerodynamic modeling ### Propeller Analysis Methods **Momentum Theory:** - Disk loading calculations for static thrust - Ideal efficiency limits and figure of merit - Forward flight momentum theory corrections **Blade Element Theory:** - Radial integration of blade forces - Local angle of attack and velocity triangles - Airfoil section data application - Activity factor effects on performance **Combined BEMT:** - Iterative solution of momentum and blade element equations - Tip loss factors and hub corrections - Compressibility effects at high advance ratios ### UAV Energy Modeling **Fixed-Wing Analysis:** - Lift-drag polar with induced and profile components - Power-required calculations: P = D × V - Range equation: R = (ηp × E × L/D) / (W × g) - Cruise optimization for maximum endurance/range **Multirotor Analysis:** - Momentum theory for hover power: P = T^1.5 / √(2ρA) - Forward flight power combination - Figure of merit corrections for real rotors - Disk loading optimization **Battery Modeling:** - Depth of discharge limitations (80% typical) - Discharge efficiency curves - Energy density scaling with technology - Temperature and C-rate effects (simplified) ## Usage Examples ### Aircraft Design Analysis ```python # Design a small aircraft wing wing_geometry = { "span_m": 2.5, "chord_root_m": 0.35, "chord_tip_m": 0.25, "sweep_deg": 2.0, "airfoil_root": "NACA2412" } # Analyze across flight envelope wing_analysis = await mcp_client.call_tool("wing_vlm_analysis", { "geometry": wing_geometry, "alpha_deg_list": list(range(-2, 16, 2)), "mach": 0.15 }) # Calculate stability for control surface sizing stability = await mcp_client.call_tool("calculate_stability_derivatives", { "geometry": wing_geometry, "alpha_deg": 4.0, "mach": 0.15 }) ``` ### Propeller Selection and Optimization ```python # Analyze multiple propeller options propeller_options = [ {"diameter_m": 0.254, "pitch_m": 0.152, "num_blades": 2}, # 10x6 {"diameter_m": 0.254, "pitch_m": 0.178, "num_blades": 2}, # 10x7 {"diameter_m": 0.280, "pitch_m": 0.178, "num_blades": 2} # 11x7 ] rpm_range = list(range(2000, 7001, 500)) for i, prop_geom in enumerate(propeller_options): # Static thrust analysis static_perf = await mcp_client.call_tool("propeller_bemt_analysis", { "geometry": prop_geom, "rpm_list": rpm_range, "velocity_ms": 0.0 }) # Cruise efficiency analysis cruise_perf = await mcp_client.call_tool("propeller_bemt_analysis", { "geometry": prop_geom, "rpm_list": rpm_range, "velocity_ms": 15.0 }) ``` ### Complete UAV Design Workflow ```python # Define UAV requirements mission_requirements = { "endurance_min": 60, "cruise_speed_ms": 14.0, "payload_kg": 0.3, "wind_resistance_ms": 8.0 } # Initial UAV configuration uav_config = { "mass_kg": 2.2, # Including payload "wing_area_m2": 0.48, "cd0": 0.028, "cl_cruise": 0.8, "num_motors": 1, "motor_efficiency": 0.86, "esc_efficiency": 0.95 } # Battery selection analysis battery_options = [ {"capacity_ah": 4.0, "voltage_nominal_v": 11.1, "mass_kg": 0.5}, # 3S {"capacity_ah": 4.0, "voltage_nominal_v": 14.8, "mass_kg": 0.65}, # 4S {"capacity_ah": 6.0, "voltage_nominal_v": 14.8, "mass_kg": 0.95} # 4S Large ] # Analyze each battery option for battery in battery_options: energy_analysis = await mcp_client.call_tool("uav_energy_estimate", { "uav_config": uav_config, "battery_config": battery, "mission_profile": { "velocity_ms": mission_requirements["cruise_speed_ms"], "altitude_m": 100.0 } }) print(f"Battery: {battery['capacity_ah']}Ah {battery['voltage_nominal_v']}V") print(f"Flight time: {energy_analysis['flight_time_min']:.1f} min") print(f"Range: {energy_analysis['range_km']:.1f} km") ``` ### Airfoil Selection and Analysis ```python # Compare different airfoils for application airfoil_candidates = ["NACA0012", "NACA2412", "NACA4412", "CLARKY"] reynolds_number = 200000 # Low-speed UAV Reynolds number test_angles = list(range(-5, 16, 1)) airfoil_comparison = {} for airfoil in airfoil_candidates: polar_data = await mcp_client.call_tool("airfoil_polar_analysis", { "airfoil_name": airfoil, "alpha_deg_list": test_angles, "reynolds": reynolds_number, "mach": 0.08 }) # Find best L/D ratio max_ld_point = max(polar_data, key=lambda x: x['cl_cd_ratio']) airfoil_comparison[airfoil] = { "max_ld": max_ld_point['cl_cd_ratio'], "best_alpha": max_ld_point['alpha_deg'], "cl_at_best": max_ld_point['cl'], "cd_at_best": max_ld_point['cd'] } # Select airfoil with best L/D for efficiency best_airfoil = max(airfoil_comparison.keys(), key=lambda x: airfoil_comparison[x]['max_ld']) ``` ## Advanced Applications ### Aircraft Stability Analysis The stability derivatives tools enable preliminary control surface sizing: ```python # Calculate neutral point location stability_data = await mcp_client.call_tool("calculate_stability_derivatives", { "geometry": wing_geometry, "alpha_deg": 2.0 }) # Estimate static margin requirement CL_alpha = stability_data['CL_alpha'] # Wing lift curve slope CM_alpha = stability_data['CM_alpha'] # Pitching moment slope # For static stability: CM_alpha < 0 # Neutral point approximately: x_np = x_ac - CM_alpha/CL_alpha ``` ### Propeller-Motor Matching Optimize propeller selection for specific motor characteristics: ```python # Motor specifications motor_kv = 1000 # RPM/V battery_voltage = 14.8 max_current = 25.0 # Analyze propeller loading propeller_data = await mcp_client.call_tool("propeller_bemt_analysis", { "geometry": propeller_geometry, "rpm_list": [motor_kv * battery_voltage * 0.8], # 80% max RPM "velocity_ms": cruise_speed }) # Check power requirements vs motor capability power_required = propeller_data[0]['power_w'] max_motor_power = battery_voltage * max_current * 0.85 # 85% motor efficiency if power_required < max_motor_power: print("✓ Motor can handle propeller load") else: print("⚠ Motor may be overloaded - consider smaller prop or higher KV") ``` ### Multi-Point Design Optimization ```python # Define design space design_points = [ {"velocity_ms": 8.0, "altitude_m": 50}, # Loiter {"velocity_ms": 15.0, "altitude_m": 100}, # Cruise {"velocity_ms": 20.0, "altitude_m": 150} # Max speed ] # Analyze across flight envelope performance_map = {} for point in design_points: energy_result = await mcp_client.call_tool("uav_energy_estimate", { "uav_config": uav_configuration, "battery_config": battery_configuration, "mission_profile": point }) performance_map[f"V{point['velocity_ms']}_Alt{point['altitude_m']}"] = { "power_w": energy_result['power_required_w'], "efficiency": energy_result['efficiency_overall'], "flight_time_min": energy_result['flight_time_min'] } # Optimize for best overall performance ``` ## Integration with Phase 1 Tools The aircraft and propeller tools integrate seamlessly with Phase 1 atmosphere and coordinate tools: ### Altitude Performance Analysis ```python # Test altitudes altitudes = [0, 500, 1000, 1500, 2000] for alt in altitudes: # Get atmosphere conditions atmosphere = await mcp_client.call_tool("get_atmosphere_profile", { "altitudes_m": [alt] }) # Analyze propeller at altitude prop_perf = await mcp_client.call_tool("propeller_bemt_analysis", { "geometry": prop_geometry, "rpm_list": [4000], "velocity_ms": 12.0, "altitude_m": alt }) # UAV performance at altitude uav_perf = await mcp_client.call_tool("uav_energy_estimate", { "uav_config": uav_config, "battery_config": battery_config, "mission_profile": {"velocity_ms": 12.0, "altitude_m": alt} }) ``` ### Wind Effect Analysis ```python # Analyze headwind effects on range wind_speeds = [0, 5, 10, 15] # m/s headwind for wind in wind_speeds: effective_velocity = cruise_velocity + wind # Headwind increases power energy_analysis = await mcp_client.call_tool("uav_energy_estimate", { "uav_config": uav_config, "battery_config": battery_config, "mission_profile": {"velocity_ms": effective_velocity, "altitude_m": 100} }) print(f"Headwind {wind} m/s: Range = {energy_analysis['range_km']:.1f} km") ``` ## Performance and Accuracy ### Computational Performance - **Wing Analysis**: <10ms per angle of attack - **Propeller Analysis**: <50ms per RPM point - **UAV Energy Analysis**: <5ms per configuration - **Memory Usage**: <5MB additional for databases ### Accuracy Characteristics - **Wing CL**: ±5% vs experimental (simplified methods) - **Wing CD**: ±10% vs experimental (profile drag dominant) - **Propeller Thrust**: ±8% vs test data (static conditions) - **Propeller Efficiency**: ±5% vs test data (optimal conditions) - **UAV Flight Time**: ±15% vs flight test (weather dependent) ### Validation Data Sources - **Wing Analysis**: NACA Technical Reports - **Airfoil Data**: UIUC Airfoil Database - **Propeller Data**: APC Performance Database - **UAV Analysis**: Published flight test results ## Future Enhancements **Planned for Phase 3:** - High-lift devices (flaps, slats) - Swept wing compressibility effects - Variable-pitch propeller analysis - Electric motor thermal modeling **Planned for Phase 4:** - Multi-element airfoil analysis - Propeller noise prediction - Advanced battery models (lithium-ion curves) - Real-time weather integration The Phase 2 aircraft and propeller tools provide a solid foundation for detailed aerospace design and analysis, complementing the existing flight planning and atmospheric modeling capabilities.

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/cheesejaguar/aerospace-mcp'

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