ICARUS
Multi-Fidelity Aircraft Design & Analysis Platform
A sophisticated Python framework integrating 8+ aerodynamic solvers with JAX-powered optimization for complete aircraft design workflows. From conceptual sizing to detailed stability analysis, ICARUS provides researchers and engineers with production-grade tools for aerospace development.
Origin Story: Named after an actual EUROAVIA Athens competition aircraft that failed due to dynamic instability. This project transforms that lesson into a comprehensive design tool—ensuring future aircraft fly safely.
Key Capabilities
ICARUS combines deep aerospace engineering knowledge with modern software practices, delivering a platform that scales from quick conceptual studies to detailed flight dynamics analysis.
8+ Aerodynamic Solvers
Unified interface across XFoil, AVL, GenuVP3/7, Foil2Wake, OpenFOAM, and custom LSPT panel methods. Switch fidelity levels seamlessly.
JAX-Powered Computing
GPU-accelerated simulations with automatic differentiation. JIT compilation for real-time optimization and gradient-based methods.
Flight Dynamics
Complete state-space stability analysis with eigenvalue decomposition. Phugoid, short period, Dutch roll, and spiral mode identification.
Adaptive Execution
Intelligent task scheduling across Sequential, Threading, Multiprocessing, and Async engines based on workload characteristics.
Web Interface
Interactive Dash-based dashboard for aircraft design, analysis monitoring, and real-time optimization visualization.
FAR Certification
Built-in FAA Part 23/25 criteria for conceptual aircraft sizing. Constraint-based design space exploration.
Multi-Fidelity Analysis
A unified interface across solvers of varying fidelity—from fast panel methods to full CFD—enabling efficient design space exploration and detailed validation.
2D Airfoil Solvers
3D Aircraft Solvers
Flight Dynamics & Stability
Complete state-space stability analysis with eigenvalue decomposition for both longitudinal and lateral-directional dynamics.
Longitudinal Analysis
4×4 state-space model with states [u, w, q, θ] capturing velocity perturbations, pitch rate, and pitch angle dynamics.
Lateral-Directional Analysis
4×4 state-space model with states [v, p, r, φ] for sideslip, roll rate, yaw rate, and bank angle.
Dynamic Mode Classification
Code Examples
Clean, Pythonic APIs designed for both interactive exploration and production workflows.
Airfoil Analysis
from ICARUS.solvers.Xfoil import Xfoil
from ICARUS.airfoils import Airfoil
# Create and analyze an airfoil
airfoil = Airfoil.naca("2412")
airfoil.repanel_spl(160)
xfoil = Xfoil()
xfoil.execute(
analysis=xfoil.aseq, # Angle sweep
inputs={
"airfoil": airfoil,
"reynolds": [1e5, 2e5, 3e5],
"min_aoa": -5,
"max_aoa": 15,
"aoa_step": 0.5
},
execution_mode=ExecutionMode.THREADING
) Stability Analysis
from ICARUS.solvers.AVL import AVL
from ICARUS.flight_dynamics import State
from ICARUS.environment import EARTH_ISA
avl = AVL()
state = State("Cruise", airplane=plane,
environment=EARTH_ISA, u_freestream=20)
# Compute stability derivatives
state.add_all_pertrubations("Central", epsilons)
avl.stability(plane, state)
# Analyze flight modes
state.plot_eigenvalues() # Visualize in complex plane Geometry Definition
from ICARUS.vehicle import WingSegment, Airplane
from ICARUS.airfoils import NACA4
wing = WingSegment(
name="main_wing",
root_airfoil=NACA4(M=0.04, P=0.4, XX=0.15),
span=2.26,
root_chord=0.159,
tip_chord=0.072,
twist_tip=-2,
N=20, M=15, # Panel discretization
symmetries=SymmetryAxes.Y
) Architecture
Modular design with clean separation of concerns—geometry, solvers, analysis, and optimization are independent but interoperable modules.
Vehicle Modeling
- • Airplane → Wing → Segment hierarchy
- • Control surfaces (elevator, aileron, rudder)
- • Point masses & inertia tensors
- • NACA & file-based airfoils
Computation Engine
- • Sequential execution
- • Threading (I/O bound)
- • Multiprocessing (CPU bound)
- • Async (external solvers)
- • Adaptive (auto-selection)
Numerical Methods
- • RK4, RK45 (explicit)
- • Backward Euler (implicit)
- • Gauss-Legendre (symplectic)
- • Newmark (structural)
- • JAX autodiff throughout
Optimization
- • Nelder-Mead, COBYLA
- • SLSQP, trust-constr
- • JAX-based Adam, optax
- • Real-time visualizers
- • Constraint handling
Technology Stack
Core
Solvers
JAX Ecosystem
Interface
Visualization
Quality
Why This Matters
Deep Domain Knowledge
Research-grade aerodynamics including Vortex Particle Methods from NTUA, panel methods with Biot-Savart kernels, and ground effect modeling.
Modern Scientific Computing
Full JAX ecosystem integration—GPU-ready code with JIT compilation and automatic differentiation through entire simulations.
Production Quality
MyPy strict type checking, pre-commit hooks with Ruff, pytest with markers, and comprehensive documentation throughout.
Systems Architecture
Clean abstractions across 8+ external solvers with unified interfaces, intelligent execution scheduling, and plugin-style extensibility.
Full-Stack Capability
Backend computation engine, Dash web interface, JSON persistence layer, and Typer-based CLI—complete software ecosystem.
Applied Mathematics
Implicit Runge-Kutta integrators, eigenvalue-based stability classification, and finite-difference perturbation analysis.
Explore ICARUS
ICARUS is open source under MIT license. Clone the repository, run the examples, and start designing aircraft with a modern, Pythonic workflow.