Coursework

I enjoyed CFD and FEM most, because they’re visual: you can actually see a wing deflect or the flow change. The wind tunnel lab was the most fun hands-on, even if the Python afterwards was painful.

SESA2029Year 2

CFD: Swept, Tapered Wing

OpenVSP · ANSYS Fluent

Modelled in OpenVSP, simulated in ANSYS Fluent, with a mesh convergence study (coarse, medium, fine and adaptive). Cl and Cm barely moved between meshes while drag kept falling: drag needs the fine mesh. Half-wing of aspect ratio 7, taper 0.5, mean chord 1 m, NACA 3312 at 48 m/s; adaptive refinement concentrated at the leading edge and wake for a better induced-drag prediction. y+ treatment checked against the log law.

Plot of u-plus against y-plus on a log axis: CFD points following the dashed log-law line through the log region
Fig. 1: Velocity profile in wall units against the log law (ANSYS Fluent)
−23%
Cd, coarse → medium mesh
−43%
Cd, medium → fine mesh
0.2%
Laminar shape factor vs Blasius (H = 2.596 vs 2.591)

SESA2029Year 2

FEM: Beam, Plate-with-Hole, 3D Wing

ANSYS · SHELL181 vs SHELL281

Three linked ANSYS studies. Elliptical loading gave the lowest root stress and deflection. Moving a hole from 210 mm to 300 mm offset nearly doubled the SCF, which is why rivet edge-distance rules exist. Carbon fibre met the same FOS at a much smaller skin thickness than aluminium or steel. For the H-section cantilever (285 mm semi-span), stress dropped below yield at about 3.5 mm, so I chose 4.5 mm for SF 1.35. Tip-load comparison, max von Mises / tip deflection: point 4119 MPa / 109 mm, uniform 2012 MPa / 41.6 mm, elliptical 1627 MPa / 30.3 mm.

Plot of von Mises stress against beam thickness from 1 to 4.5 mm, falling steeply and crossing the dashed yield-stress line at about 3.5 mm
Fig. 2: Finding the beam thickness: stress falls below yield at about 3.5 mm
3.64→6.96
SCF, hole offset 210 → 300 mm
1.05→0.55
FOS, same move
4.5 mm
H-section beam thickness chosen, SF 1.35

SESA2022Year 2

Wind Tunnel: NACA 0020 Aerofoil & Finite Wing

RJ Mitchell Wind Tunnel · XFOIL / XFLR5

Three experiments: boundary-layer profiling and aerofoil pressures in a low-speed tunnel, then finite-wing lift and drag in the RJ Mitchell Wind Tunnel, validated against XFOIL/XFLR5. The lift-curve slope drop isolates induced downwash and tip vortices as the main 2D-to-3D gap. The aerofoil also showed early boundary-layer transition and mild separation at higher incidence.

Lift coefficient against angle of attack for the NACA 0020: measured points with a numerical fit, the 2π theory line and XFOIL
Fig. 3: NACA 0020 lift curve: measured, numerical fit, 2π theory and XFOIL
20.2
Max L/D
0.8565
Oswald efficiency e
4.43→3.88 /rad
Lift-curve slope, aerofoil → finite wing (2π theory)
0.01
CD,0

SESA2027Year 2

B747-200 Pitch-Rate Controller

Four-state longitudinal model in Python, short-period approximation, then a PID pitch-rate controller tuned by root locus with a low-pass filter on sensor noise. Level 1 handling qualities against MIL-F-8785C and DEF-STAN 00-970, stable across ±35% natural-frequency uncertainty. Short-period ωn = 1.061 rad/s, ζ = 0.497 (Level 1, Class III); PID gains KP = −1.20, TI = 0.389 s, TD = 0.471 s. A sensor-noise filter at τf = 0.05 s (about 20 rad/s cut-off) cost only about 3° of phase at the short-period frequency.

≈5.8 s 2% settling< 0.1% steady-state error (vs ≈81% P-only, ≈73% PD)≈0% overshoot (vs ≈62% P-only, ≈85% PD)

Year 2

Fatigue Failure Analysis: Consultancy-Style Report

Forensic investigation of a failed cast-steel tractor front axle shaft. Fractography (initiation sites, beach marks, ratchet marks) points to high-cycle fatigue under reverse bending, not overload. Grade A2 cast steel that met its spec (hardness 150 HV20, about 500 MPa against a 490 MPa minimum UTS); it failed at a geometric transition near the hub from two surface origins, the primary at a wear dent, about two years into service after front ballast was added. Recommended a larger shaft diameter, plus shot peening and a better surface finish.

1.73 SF at final fracture (vs 260 MPa specified yield)

Projects built on this module workSee the projects →