Project carried out as a member of the Stratos V team at DARE, whose aim was to design and build a liquid propellant reusable rocket.

Team photo

Project Summary

Independently developed a comprehensive Python-based engineering tool to automate the preliminary design and sizing of the Stratos V rocket propellant tanks. The software serves as a critical bridge between system requirements and detailed design, allowing for the rapid generation, validation, and optimization of tank geometries before committing to time-intensive Finite Element Analysis (FEA) and prototype testing.

Software Architecture

The tool utilizes a modular architecture to ensure flexibility and ease of use, divided into distinct modules: databases (materials, fluids, loads), formulas (stress and buckling calculations), handlers (configuration management), and section definitions.

  • User Interface: The tool features an accessible interface where users input ranges for wall thicknesses, radii, pressures, and materials, allowing the tool to iterate through thousands of potential designs automatically.
  • Visualization: Integrated visualization handlers generate immediate 2D representations of the tank configuration and plot stress distributions along the tank geometry.

The following diagram illustrates the tool’s execution workflow:

graph LR
    A["<b>Configuration Input</b><br/>(Geometry, Loads, Materials)"] --> B["<b>Set Generation</b><br/>(Iterative Design Creation)"]
    B --> C["<b>Validation Filters</b><br/>(Failure Mode Checks)"]
    C --> D["<b>Optimization & Analysis</b><br/>(Selection & Visualization)"]

Geometry & Structural Support

The tool supports complex geometric definitions to ensure high-fidelity modeling during the preliminary phase:

  • Dome Profiles: Validates and sizes multiple dome geometries, including Hemispherical, Semi-ellipsoidal, and Cassinian shapes. It calculates specific stress distributions for each profile, specifically monitoring for compressive hoop stresses in flatter domes (e.g., Cassinian shapes with high affine transformation factors) which could induce buckling.
  • Cylindrical & Skirt Sections: Models the main tank body as a thin-walled cylinder. It supports advanced skirt designs, including options for Unstiffened, Ring-stringer, and Isogrid stiffening elements. The tool calculates the specific elastic constants for these stiffened orthotropic shells to optimize for weight while maximizing buckling resistance.

Tank component breakdown showing coordinate systems for skirts, domes, and cylinder sections.

Physics & Failure Analysis

The core function of the tool is to validate configurations against specific failure modes. It accounts for a comprehensive load case set including compressive axial forces, bending moments, and internal pressures. Both analytical and empirical relations from a wide range of sources are used here. Key calculations include:

  • Stress Analysis: Calculates Hoop and Meridional stresses across the dome and cylinder, validating against material yield strength using the Von Mises yield criterion.
  • Buckling Analysis: Performs critical buckling load analysis for both axial and bending loads. It applies knockdown factors to account for shell imperfections and calculates load interaction curves combining axial and bending loads.
  • Stiffness & Vibration: Estimates structural stiffness and checks bending modes using Donnell’s natural frequency formulation to ensure natural frequencies remain above critical thresholds.
  • Thermal Analysis: Simulates temperature profiles for the cylinder, skirt, and fluid over time to ensure structural integrity under cryogenic conditions.

Dummy transient thermal simulation output showing temperature evolution of LOx tank components and fluid over a flight duration.

Optimization & FEA Integration

  • Rapid Iteration: The tool generates a set of potential configurations based on the input iterables, filters them through “validator” functions (checking for yielding, buckling, and geometric constraints), and automatically sorts them to identify the lightest possible design.
  • FEA Validation: Acts as a rapid validation step to define the preliminary design parameters (thickness, radius, height). These optimized outputs are then used as the baseline for detailed Finite Element Modeling (FEM) and simulations, significantly reducing the iteration time required in complex simulation environments.

Example Output

The tool provides both graphical visualizations and detailed tabular data to summarize the final optimized design. This immediate feedback loop allows for rapid assessment of geometric feasibility before proceeding to detailed manufacturing planning.


Dummy tank geometry representation.

Component Breakdown

The tool generates a granular breakdown of the tank assembly, isolating the cylinder, domes, and skirts. The following table provides the specific physical parameters required for manufacturing (such as wall thickness and height) and precise mass estimates for each individual component.

Tank Sizing Tool output by section (Dummy Values)
Parameter \ Sectionforward_domeaft_domecylinderforward_skirtaft_skirt
height m0.150.151.200.150.15
inner_diameter m0.5000.5000.5000.5080.508
inner_volume 0.01520.01520.23560.03040.0304
thickness m0.0030.0030.0040.0020.002
mass kg1.451.4512.850.850.85
material7075-T67075-T67075-T67075-T67075-T6
typehemisphericalhemisphericalN/AN/AN/A

Validation Summary

The validation output acts as a compliance matrix, confirming that the optimized geometry meets all structural and functional requirements. It explicitly lists the status of critical failure modes (such as hoop stress collapse, axial buckling, and bending interactions) alongside functional constraints like maximum mass and minimum ullage volume.

Validator outputs for tank configuration (Dummy Values)
ValidatorParameterValueUnitStatus
max_massconfiguration mass17.45kgpassed
ullageinner volume0.266passed
cylinder_hoop_collapsehoop stress3.10E+08Papassed
cylinder_axial_bucklingcritical axial buckling load450200Npassed
cylinder_bending_bucklingcritical bending buckling load52000Nmpassed
skirt_load_interactionaxial/bending interaction0.82N/Apassed
dome_yieldingdome yieldingN/AN/Apassed