An interactive engineering playground

Engineering
Candy

Engineering you can experiment with β€” set it, break it, watch it solve.

Textbooks tell you the answer. This place lets you find it β€” and lets you get it wrong. Every topic here is a live sandbox: the governing equation, the method that solves it, and a set of controls so you can push on the physics and see what gives. It's for anyone curious about how engineering phenomena actually behave β€” whether you know the equations cold or are simply curious enough to start experimenting.

So don't just read about it β€” play with it. Drag a slider, break a boundary condition, drive a system into resonance, and watch the equations answer back in real time. Every lab is a place to experiment, and there are always more on the way.

New here, or not sure where to begin? There's a guided route through the labs, with no prerequisites assumed. 🍭 Browse learning paths

β–Ά

Play.

Interactive labs where you set the conditions, push on the physics, and watch the equations respond live.

πŸ“–

Learn.

Textbook-style companion pages β€” the derivation, the equations, the method β€” for the why behind the knobs.

🍬

Collect.

Candy Cards & printable formula sheets β€” a different candy theme for every topic, to keep and review.

πŸ““

Notebooks.

Your own green-quadrille engineering notebook β€” take notes, sketch, and keep them, right in your browser.

🍬 Beginner 🍭 Intermediate 🍫 Advanced

Heat Transfer

Conduction🍬 Beginner● live

2D Steady-State Conduction

Set the temperature on four walls β€” or insulate them β€” add internal heat, and watch a plate relax to steady state by the same relaxation the computer uses. Find out when the problem has no answer at all.

β—ˆ Live SOR solverβ–Ά Animated⚠ Break-it mode
Open the lab β†’
Conduction🍬 Beginner● live

Transient Conduction

Quench a hot slab and watch the temperature ride inward over time. Lumped capacitance, the Biot number, and the exact moment the simple model starts to lie.

β–Ά Animated quenchBiot & Fourier no.Lumped vs. real
Open the lab β†’
Convection🍭 Intermediate● live

Convection & Boundary Layers

Blow fluid over a hot surface and grow the thermal boundary layer. Reynolds, Prandtl, Nusselt β€” and the moment laminar trips into turbulence.

β–Ά Animated flowRe Β· Pr Β· NuTransition
Open the lab β†’
Radiation🍭 Intermediate● live

Thermal Radiation

Heat a surface and watch its spectrum slide from infrared toward visible. Planck, Wien, Stefan–Boltzmann β€” then trade photons between two gray surfaces.

Planck curveΟƒT⁴Net exchange
Open the lab β†’
Worked example🍫 Advanced● live

Solar Heat Exchanger Design

A real published flat-plate solar collector problem: find the transcendental eigenvalues Ξ² tan Ξ² = Nu live, then compare the exact eigenfunction series to the lumped shortcut β€” and see exactly when the shortcut stops being safe.

β–Ά Live eigenvaluesLumped vs. distributedπŸ“– Design background
Open the lab β†’
Worked example🍫 Advanced● live

Heated Copper Rod

An electrically-heated rod loses energy by convection and radiation at once β€” a nonlinear ODE with no closed form. Solve it live with RK4, find steady state by root-finding, and see which loss mechanism actually wins.

β–Ά Live RK4Convection vs. radiationπŸ“– Design background
Open the lab β†’
Worked example🍭 Intermediate● live

Circular Fin β€” Finite Difference vs. Exact

The steady temperature along a pin fin, solved analytically and on a finite-difference grid at once. Toggle insulated vs. convective tip, then refine the mesh and watch the discretization error collapse.

β–Ά Live convergenceGhost-node BCπŸ“– Design background
Open the lab β†’

Math Methods

Series🍬 Beginner● live

Fourier Series Builder

Stack sines until a square wave appears. Drag the number of terms, watch the Gibbs overshoot refuse to die β€” then flip to the spinning-circle phasor view.

β–Ά Build upβŠ™ PhasorsSpectrum
Open the lab β†’
ODEs🍭 Intermediate● live

Phase Portraits & Direction Fields

Click anywhere to drop a trajectory onto a vector field and watch it flow. Eigenvalue classification, saddles & spirals, plus nonlinear classics with limit cycles.

Click to traceEigenvaluesNonlinear
Open the lab β†’
PDEs🍭 Intermediate● live

The Heat & Wave Equations

Separation of variables, made visible. Pluck a string or heat a rod and watch the modes evolve β€” one equation forgets, the other remembers.

β–Ά AnimatedHeat vs. waveModal spectrum
Open the lab β†’
Homework mode🍫 Advanced● live

Custom Fourier & PDE Solver

Bring your own function. Type any f(x), pick a sine/cosine/full series, read off the coefficients, then send it into the heat or wave equation. Built for checking real PDE homework.

Your own f(x)Coefficients→ solve PDE
Open the lab β†’
ODE + Series🍫 Advanced● live

The Auto-Tuner

Drive a damped oscillator with a square or sawtooth wave decomposed into Fourier harmonics. Each one passes through the transfer function β€” and one landing near resonance can dominate the rest.

SuperpositionHarmonic spectrumSelective resonance
Open the lab β†’
Special functions🍫 Advanced● live

Bessel Functions

Solve the wave or heat equation on a circle and sin/cos stop working β€” Bessel functions take over. Sweep the order, watch the zeros move, and see why they're a drumhead's, a cylinder's, and a planet's secret shared language.

β–Ά Live zerosDrumhead modesHistory
Open the lab β†’
Special functions🍫 Advanced● live

Legendre Polynomials

The natural basis on a sphere β€” and, by coincidence that isn't a coincidence, exactly the optimal sample points for Gaussian quadrature. Sweep the order and watch the roots spread.

β–Ά Live rootsQuadrature nodesHistory
Open the lab β†’
Special functions🍫 Advanced● live

The Gamma Function

Factorial, smoothed out and extended past zero. Click anywhere on the curve to evaluate Ξ“(x), watch it blow up at every non-positive integer, and flip sign across each pole.

β–Ά Click to evaluatePolesReflection formula
Open the lab β†’
Complex Analysis🍫 Advanced● live

Conformal Mapping: the Joukowski Airfoil

Flow around an airfoil is hard. Flow around a circle is easy. Solve the easy one, then watch every streamline bend through one transformation into flow around a real airfoil β€” lift included, verified against thin-airfoil theory.

β–Ά Two domains, side by sideKutta conditionLift coefficient
Open the lab β†’

Vibrations & Dynamics

Vibrations🍬 Beginner● live

The Spring–Mass–Damper

The one system to rule them all. Pluck it and watch it ring down, or drive it with a shaker, tune mass, stiffness and damping, and cross into resonance.

β–Ά Real-timeResonanceFree & forced
Open the lab β†’
Dynamics🍭 Intermediate● live

Frequency Response & Bode Plots

Sweep the forcing frequency and trace the Bode magnitude and phase. Watch input and output sinusoids scale and slip out of step β€” where machines shake themselves apart.

Bode mag & phaseLive in/outQ factor
Open the lab β†’

Numerical Methods

Root finding🍬 Beginner● live

Root Finding & Fixed-Point Iteration

Newton, secant, and fixed-point iteration hunting a root. Watch the cobweb staircase converge β€” or fly off, when the same equation is rearranged the wrong way.

β–Ά Cobweb plotType your g(x)Convergence test
Open the lab β†’
Worked example🍭 Intermediate● live

Heat Transfer Through Concentric Cylinders

A real transcendental heat-conduction equation, solved five different ways. See a naive fixed-point rearrangement diverge, a working one crawl, and Steffensen's method turn that crawl into 3 iterations flat.

β–Ά 5 methods comparedSteffensen's methodπŸ“– Design background
Open the lab β†’
ODEs🍬 Beginner● live

ODE Solver β€” Slope Fields & RK4

Type yβ€² = f(x, y), see the direction field, click to drop an initial condition, and race Euler against Runge–Kutta β€” with a mini ODE textbook alongside.

β–Ά Slope fieldsEuler vs RK4πŸ“– Learn
Open the lab β†’
Linear systems🍭 Intermediate● live

Gauss–Seidel & Jacobi

Solve a linear system by iteration β€” watch it converge sweep by sweep, or diverge when the matrix isn't diagonally dominant. Includes a heated-fin and a circuit system to play with.

β–Ά Iterate liveConvergence plotWorked systems
Open the lab β†’
Worked example🍫 Advanced● live

Potential Flow Over an Irregular Conduit

Laplace's equation on a domain with a slanted-wall cutout β€” the mesh, the finite-difference equations, and the matrix are all generated automatically from a list of boundary points, then solved live.

β–Ά Auto-meshedLive matrix solveπŸ“– Design background
Open the lab β†’
Nonlinear ODEs🍭 Intermediate● live

Bernoulli Equations

Nonlinear by exactly one term β€” a power of y. Strip it out with the right substitution and watch a direct numerical solve land right on top of the linearized one, even as it races toward a blow-up.

β–Ά Live substitutionTwo-solver checkπŸ“– Learn
Open the lab β†’
Worked example🍫 Advanced● live

Explicit vs. Implicit: When a Time Step Blows Up

The Circular Fin, now heating up over time. Push the explicit time step past a hard speed limit and watch it diverge in a handful of steps β€” switch to implicit at the same step size and watch it calmly settle instead.

β–Ά Live time-marchπŸ’₯ Break it on purposeπŸ“– Design background
Open the lab β†’
Worked example🍫 Advanced● live

ADI: 2D Transient Conduction Without the Penalty

A hot plate, quenched on all four edges. 2D explicit's stability limit is even tighter than 1D's β€” push past it and watch it diverge. Switch to ADI and stay perfectly stable at 5Γ— that same limit.

β–Ά Live heatmapTwo 1D solves per stepπŸ“– Design background
Open the lab β†’
Worked example🍫 Advanced● live

Ritz-Galerkin Method

Skip solving the differential equation exactly β€” pick a few trial functions, force the leftover error to be orthogonal to each one, and solve a tiny linear system instead. Watch it converge toward the exact Bessel-function solution as you add terms.

β–Ά Live weighted residualsConverges to Jβ‚€(x)πŸ“– Design background
Open the lab β†’
Worked example🍫 Advanced● live

Ritz-Galerkin in 2D: a Heated Square Plate

The same trial-function trick, now on a plate. A second term improves the center β€” checked against an independent finite-difference solve β€” but watch the heatmap lose its symmetry, a real consequence of the trial space, not a bug.

β–Ά Live heatmapChecked vs. finite differencesπŸ“– Design background
Open the lab β†’

Capstones

Capstone🍫 Advanced● live

Design a Cooling Fin Array

Not a "verify the known answer" lab β€” a design brief. Hit a 50 W heat-rejection target on a fixed footprint by choosing fin diameter, length, and material, built on the verified single-fin physics from the Circular Fin lab.

β–Ά Live design spaceMeet the specThen beat it
Open the capstone β†’
More capstonessoon

Vibration Isolator Tuning

Builds on Spring-Mass-Damper and Frequency Response β€” design an isolator that keeps a forcing frequency away from resonance. On the way.

Design brief
More capstonessoon

Choose Your Numerical Method

A physical problem, no method specified β€” pick the right tool from across the whole site and justify it. On the way.

Design brief

Games

Fourier🍬 Beginner● live

Match the Mystery Wave

A secret wave hides on screen, built from pure harmonics. Dial in the sliders to land on top of it, climb the match meter, and earn your stars. Fourier decomposition, by feel.

🎲 Match & score⭐ StarsπŸŽ‰ Levels
Play the game β†’
Phase Portraits🍭 Intermediate● live

Classify the Fixed Point

A direction field flashes on screen β€” name the fixed point before the timer runs out. Saddle, node, spiral, or center? Build a streak as the matrices creep closer to the boundary.

⏱ Timed quizπŸ”₯ StreaksπŸŽ‰ Confetti
Play the game β†’
More gamessoon

Make It Converge

A linear-algebra puzzle where you swap rows to restore diagonal dominance and make the system converge. On the way.

Puzzle

Dedication

Dedicated to my doctoral advisor, Dr. Edward Lumsdaine, whose joy in teaching and gift for sparking creativity in his students is the spirit this site hopes to carry forward.