Fluid Dynamics Model Used
We used the quadratic drag equation:
Fd=12ρCdAv2F_d = \frac{1}{2} \rho C_d A v^2Fd=21ρCdAv2
Where:
ρ\rhoρ = fluid density (air)
CdC_dCd = drag coefficient
AAA = cross-sectional area
vvv = velocity magnitude
This equation comes from empirical fluid mechanics and applies to moderate-to-high Reynolds
number flows (typical for projectiles in air).
Governing Equations of Motion
We combined:
Newton’s Second Law
ma⃗=F⃗m\vec{a} = \vec{F}ma=F
With forces:
Gravity: mgmgmg
Drag: proportional to v2v^2v2, opposite direction of velocity
So acceleration components become:
ax=−Fdmvxva_x = -\frac{F_d}{m}\frac{v_x}{v}ax=−mFdvvx ay=−g−Fdmvyva_y = -g - \
frac{F_d}{m}\frac{v_y}{v}ay=−g−mFdvvy
This creates a nonlinear differential system, because drag depends on velocity magnitude.
We solved it numerically using small time steps (Euler integration).
What the Simulation Shows
Without drag, a projectile follows a perfect parabola.
With drag:
Maximum height is lower
Range is shorter
Trajectory becomes asymmetric
Descent is steeper than ascent
That asymmetry is pure fluid resistance physics in action.
Why This Matters in Real Engineering
This same modeling principle is used in:
Ballistics
Rocket trajectory prediction
Drone flight modeling
Sports engineering (golf balls, football aerodynamics)
Re-entry physics for spacecraft
If we upgraded this model further, we could include:
Turbulence models
Variable air density with altitude
Navier–Stokes PDE simulation (full fluid field modeling)
CFD discretization using finite volume methods
That’s when things go from “nice physics problem” to “supercomputer time.”
What We Just Simulated
We used the 1D viscous Burgers’ equation:
∂u∂t+u∂u∂x=ν∂2u∂x2\frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} = \nu \frac{\partial^2 u}{\
partial x^2}∂t∂u+u∂x∂u=ν∂x2∂2u
This equation is important because:
The left side (convection term) models nonlinear transport.
The right side (diffusion term) models viscosity.
It is a simplified version of the Navier–Stokes equations.
Think of it as “baby Navier–Stokes” — still nonlinear, still capable of shock formation.
What Happened Physically
We started with a velocity pulse (a region where velocity was higher).
Two competing effects occurred:
1️⃣ Convection (nonlinear term)
u∂u∂xu \frac{\partial u}{\partial x}u∂x∂u
This tries to steepen the wave.
It causes the front to sharpen — like traffic piling up.
Without viscosity, this would form a shock wave (discontinuity).
2️⃣ Diffusion (viscosity term)
ν∂2u∂x2\nu \frac{\partial^2 u}{\partial x^2}ν∂x2∂2u
This smooths the velocity profile.
It spreads energy out.
What You See in the Plot
The sharp pulse begins to deform.
The front steepens.
The viscosity smooths it out.
The result is a distorted but continuous velocity field.
That balance between nonlinear steepening and viscous smoothing is fundamental in:
Shock wave theory
Turbulence modeling
Boundary layer formation
Traffic flow modeling
Gas dynamics
Why This Is Interesting
If we reduced viscosity (ν → very small):
The curve would develop near-discontinuities.
Numerical instability would appear.
You’d need more advanced solvers (upwind schemes, flux limiters).
If we removed viscosity entirely:
∂u∂t+u∂u∂x=0\frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} = 0∂t∂u+u∂x∂u=0
That becomes the inviscid Burgers equation, which forms shocks naturally.
If you want to go deeper, we could next:
Simulate shock formation explicitly
Model laminar Poiseuille flow between plates
Simulate vortex roll-up
Or build a tiny 2D Navier–Stokes solver
Tell me how far you want to push this 😌