Skip to content

feat: add rocket propulsion, fluid mechanics, MCP server, and fix CI test suites - #1

Merged
perfectalone375 merged 1 commit into
mainfrom
feat/propulsion-fluids-mcp
Nov 2, 2026
Merged

perfectalone375 merged 1 commit into
mainfrom
feat/propulsion-fluids-mcp

Conversation

@perfectalone375

Copy link
Copy Markdown
Owner

Overview

This PR expands openengineering-toolkit with core aerospace & rocket propulsion analytics, fluid mechanics formulas, and a Model Context Protocol (MCP) server for AI agent integration. It also fixes failing test assertions and Ruff linting rules.

Key Additions

  1. Rocket Propulsion Module (propulsion.py):
    • tsiolkovsky_delta_v: Closed-form rocket equation with propellant fraction validation.
    • characteristic_velocity_star: Chamber exhaust velocity $c^*$ calculation.
    • thrust_coefficient_ideal: Evaluates momentum expansion & ambient pressure mismatch.
    • rocket_thrust_n: Total rocket thrust force calculation.
  2. Fluid Mechanics Module (fluids.py):
    • reynolds_number: Boundary layer regime identification.
    • dynamic_pressure_pa: Fluid kinetic energy pressure term $q = 0.5 \rho v^2$.
    • mach_number & stagnation_pressure_ratio: Compressible isentropic flow.
    • haaland_friction_factor: Explicit Darcy pipe friction calculation.
  3. Model Context Protocol (MCP) Server (mcp_server.py):
    • Native JSON-RPC stdio server exposing openeng_deltav, openeng_beam_deflection, openeng_reynolds, and openeng_unit_convert.
  4. CLI Tool (openeng):
    • Added command-line entry points for all core calculations.
  5. Quality & CI Fixes:
    • Fixed Euler-Bernoulli beam deflection test assertion ($0.000833$ vs incorrect $0.000416$).
    • Resolved all Ruff linting violations and line-length constraints.
    • Expanded test suite to 45 unit tests (100% pass rate).

@perfectalone375
perfectalone375 merged commit 1520409 into main Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant