A reproducible computational study investigating drag reduction effects on spherical projectiles.
An extension of experimental research into aerodynamic regime shifts.
๐ Read the Original Essay (PDF) โข ๐ View the Data โข ๐ Report an Issue
- Background & Motivation
- Computational Methods: The Inverse Solver
- The Discovery: Regime Shift
- Statistical Rigor
- Model Validation
- Reproducibility & Usage
- Project Structure
- Computational Limitations & Error Analysis
- Conclusion
- Future Roadmap
- Scientific Context & References
- Mathematical Appendix
- Citation
This project serves as a computational extension of my extended essay (received A grade) physics research, "An Investigation of the Aerodynamic Effects of Fin-Length-to-Diameter Ratio on Spherical Projectiles".
The original experiment explored how attaching fins of varying lengths affects the flight path of a projectile. Using a spring-loaded launcher and high-speed video tracking (
Intuitively, increasing the surface area of a projectile (by adding larger fins) is expected to increase aerodynamic drag and reduce range. The general results supported this, showing a strong negative correlation between fin length and horizontal range.
Visualizing the Anomaly: Simulation of the "Splitter Plate Effect" (
However, the data revealed an unexpected deviation from this trend. Between the ratios of
Figure 1 (Left): Average experimental horizontal range (
Figure 2 (Right): Spearman Rank Correlation heatmap confirms the general inverse relationship (
This observation pointed towards a potential aerodynamic regime shift, possibly due to wake stabilization or a splitter plate effect that could not be fully explained by a simple linear analysis.
The goal of this repository is to apply computational methods to the original dataset to:
- Mathematically quantify the effective drag coefficients (
$k_{eff}$ ) for each flight. - Determine if the observed dip is statistically significant or experimental noise.
To understand the cause of the range anomaly, we need to move beyond simple averages and determine the aerodynamic properties of the projectile.
We model the projectile's motion using a coupled system of Ordinary Differential Equations (ODEs) incorporating Quadratic Drag, which is appropriate for high-Reynolds-number flight:
Where
The inverse modeling pipeline is implemented in src/fit_drag_model.py.
-
Forward Simulation (RK4):
- Logic: Custom Runge-Kutta 4 integrator.
-
Complexity:
$O(N)$ where$N = T/\Delta t$ . -
View Code:
rk4_step
-
Event Detection:
-
Logic: Linear interpolation to find the exact ground-hit time (
$y=0$ ). -
Precision: Eliminates discrete timestep error, achieving
$< 10^{-6} \text{ m}$ accuracy. -
View Code:
simulate_range
-
Logic: Linear interpolation to find the exact ground-hit time (
-
Optimization (Bisection):
-
Logic: Iteratively adjusts
$k_{eff}$ until$Range_{sim} \approx Range_{obs}$ . -
Complexity:
$O(\log(\frac{\epsilon_{initial}}{\epsilon_{target}}))$ . -
View Code:
fit_k_for_target_range
-
Logic: Iteratively adjusts
Figure 3: Validation of the inverse solver. The orange crosses (Simulated) perfectly overlay the blue circles (Observed).
Inferring the "Hidden" Variable
By solving for
While drag generally increases with fin size (as expected due to surface area), there is a drag reduction regime between
Figure 4: The calculated effective drag parameter (
The data suggests that at
| Fin Ratio ( |
Fitted |
Aerodynamic Regime |
|---|---|---|
| 0.00 | 0.0098 |
Baseline (Sphere only) |
| 0.75 | 0.0291 |
Maximum Instability / Roughness |
| 1.00 | 0.0134 |
Splitter Plate / Drag Reduction |
| 2.00 | 0.0652 |
High Friction Drag |
This quantitative dropโ
To ensure that the reduction in drag wasn't an artifact of experimental variance, we perform a Bootstrap Resampling analysis (
Figure 5: Bootstrap estimation of
We test the hypothesis against a Monotonic Null Model, which assumes that drag must increase as fin size increases.
Using a Leave-One-Out (LOO) approach, we trained a monotonic regression on all data points except the anomaly at
Figure 6 (Left): The Monotonic Null Model (dashed line) predicts a range of ~1.88m for the 0.75 ratio. The observed value (star) is ~1.71m, a massive deviation.
Figure 7 (Right): Histogram of residuals from 5000 bootstrap iterations. Zero of the 5000 simulations produced a positive residual, yielding a pseudo-p-value of
The inverse solver assumes a Quadratic Drag Law (
We compared the predictions of a Linear Drag Model (
Figure 8 (Left): The Quadratic Model (Orange) tracks the observed velocity decay much closer than the Linear Model (Green).
Figure 9 (Right): Root Mean Square Error (RMSE) analysis confirms that the Quadratic model reduces prediction error by over 50% compared to the Linear baseline.
This repository is structured as a fully reproducible software artifact. You can generate every figure and result in this README from scratch.
1. Installation The project uses a locked dependency file to guarantee mathematical reproducibility.
# Clone the repository
git clone [https://github.com/shubh-chawda/fin-ratio-projectile-aero.git](https://github.com/shubh-chawda/fin-ratio-projectile-aero.git)
cd fin-ratio-projectile-aero
# Create environment and install exact dependencies
make install2. Running the Demo You can run the physics engine directly from the command line to visualize trajectories.
# Run a simulation for the Regime at L/D = 0.75.
python -m src.demo --fin-ratio 0.75 --plotTo ensure the results were not an artifact of integration error, we performed a Timestep Sensitivity Analysis.
We re-ran the entire inverse modeling pipeline with refined timesteps (dt, dt/2, dt/4) to check for drift in the results.
-
Baseline:
$$( dt = 3.0 ,\mathrm{ms} )$$ -
Result: Reducing
$$( dt )$$ to$$( 1.5 ,\mathrm{ms} )$$ changed the inferred$$( k_{eff} )$$ by less than 0.007%. - Conclusion: The results are numerically stable and independent of the integration scheme.
Contributions are welcome! If you find an issue in the physics engine or want to propose a better drag model:
- Check the Issue Tracker.
- Read CONTRIBUTING.md for development guidelines.
- Open a Pull Request.
The repository is organized to separate scientific logic (src) from data artifacts (data) and configuration.
โโโ .github/workflows # CI/CD: Automated testing & figure generation
โโโ data/
โ โโโ raw/ # INPUT: Original experimental CSVs (Immutable)
โ โโโ processed/ # OUTPUT: Generated datasets (fitted k_eff, bootstrap results)
โโโ notebooks/ # EXPLORATION: Jupyter notebooks for preliminary analysis
โโโ outputs/ # ARTIFACTS: Publication-ready figures & stability reports
โโโ src/
โ โโโ fit_drag_model.py # CORE ENGINE: RK4 integrator & Inverse Bisection solver
โ โโโ bootstrap_k_eff.py # STATISTICS: Parallelized resampling for CI generation
โ โโโ significance_075.py # HYPOTHESIS TEST: Calculates p-values for the anomaly
โ โโโ timestep_sensitivity.py # STABILITY: Verifies numerical convergence (O(dt^4))
โ โโโ residual_diagnostics.py # VALIDATION: Checks for systematic model bias
โ โโโ model_compare.py # PHYSICS: Compares Linear vs. Quadratic drag models
โ โโโ demo.py # CLI: Entry point for running individual simulations
โโโ tests/ # TESTING: Unit tests for physics engine & edge cases
โโโ CITATION.cff # ACADEMIC: Standard citation format file
โโโ Makefile # AUTOMATION: One-command build instructions
โโโ requirements.lock.txt # REPRODUCIBILITY: Exact pinned dependency versions
Since the experimental data is fixed, the primary sources of uncertainty in this repository stem from the mathematical approximations used in the Inverse Solver. We have quantified these computational errors to ensure they do not exceed the statistical significance of the physical results.
The following table summarizes the sources of numerical error within the fit_drag_model.py pipeline:
| Error Source | Magnitude / Tolerance | Impact on Results | Mitigation Strategy |
|---|---|---|---|
| Integration Discretization | Negligible (< 0.007%) | Used Runge-Kutta 4 (RK4), a 4th-order accurate method ( |
|
| Root-Finding Convergence | None | The Bisection algorithm iterates until the simulated range matches the observed range to within 1 micrometer. | |
| Event Detection | Cubic Interpolation | < 0.1 mm | Instead of stopping at the nearest timestep, we interpolate the exact ground-hit time ( |
| Constant |
Fixed |
Moderate | The model assumes a constant drag coefficient. In reality, |
The most significant limitation is the single-parameter assumption.
-
The Issue: We map complex fluid dynamics into a single scalar,
$k_{eff}$ . - The Consequence: This lumps pressure drag, skin friction, and interference drag into one number. While valid for identifying trends (like the regime shift), it cannot distinguish why the drag changed (e.g., whether it was due to wake narrowing or boundary layer transition) without CFD support.
This computational study successfully isolates a non-monotonic aerodynamic relationship that was hidden within raw experimental data. By applying an inverse physics model, we have categorized the projectile behavior into three distinct aerodynamic regimes.
The inferred effective drag parameters (
| Regime Name | Fin Ratio ( |
|
Physical Interpretation |
|---|---|---|---|
| 1. Baseline Sphere | Reference | Standard flow over a sphere. The wake is dominated by large-scale vortex shedding. | |
| 2. Roughness Regime | Rapid Increase | Fins act as surface roughness, triggering early turbulence and increasing the effective cross-sectional area. The drag peaks here. | |
| 3. Splitter Plate Regime | Sudden Drop | Fins effectively bisect the wake, possibly stabilizing the shear layers and delaying vortex formation (hypothesis). Drag drops by ~54% relative to the 0.75 case. | |
| 4. Bluff Body Regime | Linear Increase | As fins exceed the sphere diameter, the aerodynamic benefit is lost. The fins become large bluff bodies, and form drag dominates again. |
Final Verdict: The dip at
To evolve this project from a 2D kinematic model to a full aerodynamic simulation, the following extensions are proposed.
| Phase | Goal | Implementation Plan |
|---|---|---|
| Phase 1: Advanced Physics | Variable Drag Coefficient | Upgrade fit_drag_model.py to fit a curve |
| Phase 2: 3D Dynamics | Spin & Drift | Implement 6-DOF (Degrees of Freedom) equations of motion. Add terms for Magnus Force (lift from spin) and Gyroscopic Stability to model lateral deviation. |
| Phase 3: Validation | CFD Simulation | Use OpenFOAM (Finite Volume Method) to simulate the airflow around the Objective: Visualize the wake structure to confirm the "Splitter Plate" vortex suppression hypothesis. |
The phenomenon observed at
1. Anomalies in Finned Projectiles
Krishna, Ravi, et al. โAnomalies in the Flow Over Projectile with Wrap-Around Fins.โ Defence Science Journal, vol. 59, no. 5, 2009, pp. 471โ484. Accessed 15 Feb. 2025.
- Relevance: Documents how finned projectiles often exhibit non-monotonic aerodynamic coefficients (such as roll reversal or drag spikes) at critical geometric ratios. It validates that regime shifts are a known feature of complex projectile geometries.
2. Drag Reduction via Flow Transition
Bhatia, Dinesh, et al. "Transition Delay and Drag Reduction using Biomimetically Inspired Surface Waves." Journal of Applied Fluid Mechanics, vol. 13, no. 4, 2020, pp. 1207โ1222, doi:10.36884/jafm.13.04.30316. Accessed 20 Dec. 2024.
-
Relevance: Demonstrates that specific surface geometries can delay boundary layer separation, reducing the size of the turbulent wake. This supports our hypothesis that the fins at
$L/D=1.0$ act as a splitter plate, disrupting the Von Kรกrmรกn vortex street and effectively reducing the pressure drag coefficient ($C_d$ ).
Visualization: Von Kรกrmรกn vortex shedding behind a cylinder. A splitter plate disrupts this process, reducing drag.
3. Numerical Necessity for Quadratic Drag
Lubarda, Marko V., and Vlado A. Lubarda. "A Review of the Analysis of Wind-Influenced Projectile Motion in the Presence of Linear and Nonlinear Drag Force." Archive of Applied Mechanics, vol. 92, 2022, pp. 1997โ2017. Accessed 15 Feb. 2025.
-
Relevance: Confirms that while Linear Drag (
$v$ ) has analytical solutions, Quadratic Drag ($v^2$ )โwhich governs our high-Reynolds number flightโrequires numerical integration. This validates our choice of a RK4 ODE solver.
4. Wake Turbulence Fundamentals
Shih, Chiang. "Flow Over a Circular Cylinder." FAMU-FSU College of Engineering, https://web1.eng.famu.fsu.edu/~shih/succeed/cylinder/cylinder.htm. Accessed 6 Jan. 2025.
-
Relevance: Provides the foundational theory for vortex shedding behind spherical bodies. Our data suggests that the presence of fins at the
$1.0$ ratio disrupts the standard vortex shedding frequency (Strouhal number), shifting the flow to a lower-drag regime.
Click to view full categorized bibliography (17 Sources)
Journal Articles & Technical Reports
-
American Society of Mechanical Engineers. Apollo Command Module. Rockwell International Corporation, 1992.
-
Bhatia, Dinesh, et al. "Transition Delay and Drag Reduction using Biomimetically Inspired Surface Waves." Journal of Applied Fluid Mechanics, vol. 13, no. 4, 2020, pp. 1207โ1222, doi:10.36884/jafm.13.04.30316.
-
Clark, Adam M., Jeffrey P. Slotnick, Nigel Taylor, and Christopher L. Rumsey. "Requirements and Challenges for CFD Validation within the High-Lift Common Research Model Ecosystem." AIAA Aviation Forum, 15โ19 June 2020, doi:10.2514/6.2020-2772.
-
"Effects of Fins on Drag and Stability of Projectiles." AIAA, 2020.
-
Krishna, Ravi, et al. โAnomalies in the Flow Over Projectile with Wrap-Around Fins.โ Defence Science Journal, vol. 59, no. 5, 2009, pp. 471โ484.
-
Lubarda, Marko V., and Vlado A. Lubarda. "A Review of the Analysis of Wind-Influenced Projectile Motion in the Presence of Linear and Nonlinear Drag Force." Archive of Applied Mechanics, vol. 92, 2022, pp. 1997โ2017.
-
"Turbulence Influence on Finned Projectiles." Journal of Applied Physics, 2021.
-
Yin, Jintao, Xiaosheng Wu, and Juanmian Lei. "Body-fin interference on the Magnus effect of spinning projectile in supersonic flows." Engineering Applications of Computational Fluid Mechanics, vol. 11, no. 1, 2017, pp. 496โ512, doi:10.1080/19942060.2017.1319878.
Books
-
"3.3: Projectile Motion." LibreTexts, LibreTexts, https://phys.libretexts.org/Bookshelves/University_Physics/Physics_(Boundless)/3%3A_Two-Dimensional_Kinematics/3.3%3A_Projectile_Motion.
-
"6.07: Drag Force and Terminal Speed." LibreTexts, LibreTexts, https://phys.libretexts.org/Courses/Joliet_Junior_College/Physics_201__Fall_2019/Book%3A_Physics_(Boundless)/6%3A_Applications_of_Newton/6.07%3A_Drag_Force_and_Terminal_Speed.
-
Homer, David, William Heathcote, and Maciej Pietka. Oxford Resources for IB DP Physics: Course Book. Oxford UP, 2023.
Web Resources
-
Bharadwaj, Jyoti, et al. "Analysis of Simple Pendulum Experiment using a PC: An Interactive Approach to Teaching Importance of Errors in Validating Theoretical Models." Central University of Himachal Pradesh.
-
"Laminar and Turbulent Flow." Vapourtec, https://www.vapourtec.com/flow-chemistry/laminar-turbulent/#:~:text=Turbulent%20flow%20is%20a%20flow,the%20tube%20is%20highly%20efficient.
-
Shih, Chiang. "Flow Over a Circular Cylinder." FAMU-FSU College of Engineering, https://web1.eng.famu.fsu.edu/~shih/succeed/cylinder/cylinder.htm.
-
"Strouhal Number." StudySmarter, https://www.studysmarter.co.uk/explanations/engineering/engineering-fluid-mechanics/strouhal-number/.
-
"Vortex." ScienceDirect, Elsevier, www.sciencedirect.com/topics/physics-and-astronomy/vortex.
-
"Vortex Shedding." Encyclopedia, MDPI, encyclopedia.pub/entry/32834.
The simulation engine solves the coupled 2D Ordinary Differential Equations (ODEs) for a projectile under quadratic drag.
Given the state vector
Where:
-
$v = \sqrt{v_x^2 + v_y^2}$ is the instantaneous speed. -
$k_{eff} = \frac{\rho A C_d}{2m}$ is the effective drag parameter inferred by the inverse solver. - The system is integrated using a Runge-Kutta 4 (RK4) scheme with a timestep
$\Delta t = 3.0 \text{ ms}$ .
If you use this software or data in your research, please cite the repository via the archived DOI:
@software{chawda2025projectile,
author = {Chawda, Shubh},
title = {An Investigation of the Aerodynamic Effects of Fin-Length-to-Diameter Ratio on Spherical Projectiles},
year = {2025},
url = {[https://doi.org/10.5281/zenodo.18434071](https://doi.org/10.5281/zenodo.18434071)}
}This computational study is based on the experimental findings detailed in:
Chawda, S. (2025). An Investigation of the Aerodynamic Effects of Fin-Length-to-Diameter Ratio on Spherical Projectiles. https://doi.org/10.5281/zenodo.18434071
I would like to thank my physics supervisor and the laboratory staff for their guidance during the entire phase of the Extended Essay.
Shubh Chawda is a first-year Computer Science undergraduate with an interest in the intersection of Computer Science and the Natural Sciences. This project was developed to bridge the gap between experimental data collection and computational analysis.
- Interests: Scientific Computing, Open Science.
- Looking for: Summer Research Positions in Scientific Computing / Computer Science.
- Connect: LinkedIn โข GitHub โข Email
This project is licensed under the MIT License โ see the LICENSE file for details.










