Research

Analytical work behind the Continuity Aero modules

Research here means writing the solver rather than buying one. Lightweight, deterministic, built from the ground up — narrower than a general-purpose package, and more certain inside that narrower scope.

Right now it lives entirely in the computational space: the mathematics of flight, shape optimization, and the unglamorous business of making each algorithm survive scrutiny it was not designed to pass. That is deliberate. The mathematical foundation is being laid now, so that when there is a high-altitude platform to build, the physics underneath it has already been settled.

The planning software came last. What follows is the work it was built on — most of it done for its own sake, over a long time, before there was any product to attach it to. Every figure on this page is output from the code that produced the result. None of it has been redrawn to look better.

Shape Optimization via Conformal Mapping

Active
Aerodynamics · low Reynolds number, high altitude

Why not CFD

CFD is slow enough to change how you design. When one evaluation costs hours, you stop exploring and start defending your first guess.

Conformal mapping avoids that. The aerofoil boundary is carried onto a circle, where the flow has a closed-form answer, and carried back. Loads, lift-curve slope and the pressure distribution (Cp) return in milliseconds — and return the same numbers every time, which matters more than the speed.

Eleven numbers

The shape is described by an eleven-parameter Class Shape Transformation. That is few enough for the optimizer to search the space rather than creep downhill from wherever it happened to start.

It is also why a trade study finishes in an afternoon: hundreds of evaluations, not millions. The parameterization does the work that brute force would otherwise have to.

Thin air

The target is mountain operation — low density, low Reynolds number, where boundary layers separate early and a section that behaves at sea level may not behave at all.

The search is filtered to keep suction peaks flat and adverse gradients gentle. What comes out is thick, 19.13%, and strongly cambered: it buys CL,max without spending the critical Mach (Mcrit) margin to get it.

Kármán–Trefftz studio: generating circle, mapped aerofoil, thin-aerofoil prediction and nearest standard NACA section
The mapping, running. A circle in the ζ-plane becomes an aerofoil with a finite trailing-edge angle under the Kármán–Trefftz transform, n = 2 − τ/π. Thickness, camber and trailing-edge angle are continuous — drag a slider and the section, the lift curve and the nearest standard NACA equivalent all move together. Coordinates export in Selig format, 600 points.
Pressure coefficient distribution, CA 3419 against NACA 63A516
Where the separation delay comes from. CA 3419 against NACA 63A516. The suction peak is flattened and the adverse gradient held off past x/c ≈ 0.4. That is the whole mechanism, drawn.
Drag polar across the lift band with cruise region marked
A band, not a point. Optimizing one design point (run 1) buys a deep bucket and pays for it either side of cruise. Holding cl = 0.2–1.2 gives up the bucket and keeps the aircraft honest everywhere it actually flies.
Pareto front of band-mean drag against worst-case maximum lift
The trade, stated. Band-mean cd against cl,max at the worst of four conditions. CA 3419 sits on the front. NACA 63A516 sits inside it — there is a section that is better in both directions at once.

Structural Stability of Damage-Tolerant Systems

Active
Structures · heavy-lift eSTOL, cold-weather logistics

What is left after

Cold-weather logistics is unforgiving in a particular way: the aircraft has to keep flying after something has already gone wrong.

So the question is not the strength of an intact airframe. It is what remains — bending moments, cyclic plasticity and skin shear flows evaluated at the limiting load factor (n·g), on a structure that is no longer whole.

Constraints, not confidence intervals

Limits are imposed as physics rather than as probabilities. A margin holds or it does not; there is no distribution over whether the material yields.

The engine calculates residual load-bearing capacity directly, so fatigue, asymmetric loading and environmental degradation are answered with a number and a stated assumption rather than a confidence level.

Where the two halves meet

The aerodynamics and the structure meet at the pitching moment. Sections of this kind carry a large negative Cm, and trimming it costs drag.

Rather than accept that cost, the fuselage moment arm is sized against the moment the aerodynamic solver predicts, so trim comes out close to free. The cargo volume that longer arm implies then has to be stiff enough to carry it — which is the structural problem again, arrived at from the other side.

BeamLab dashboard: model schematic, shear force diagram, bending moment diagram and deflected shape
One pass, four answers. Model, shear V(x), moment M(x) and deflected shape v(x). Cantilever, 8 m, 16 kN/m distributed with a 10 kN point load: reaction 138 kN, fixing moment −552 kN·m, tip deflection −519 mm.
Why this solver rather than a general FE package Section properties are held symbolically. Rationals stay rational, π stays π, and decimals are produced only when something has to be displayed. The practical consequence is narrow but it matters: there is no floating-point drift accumulating between the section calculation and the internal-force recovery, so a residual-strength margin is exact to the arithmetic rather than to the mesh. A general package would be more capable and less certain.

Mathematical Foundations

None of the mathematics below was begun with an aircraft in mind. It accumulated — sampling theory, recovering equations from data, worst-case optimization, some number theory kept up out of habit. The aerospace work is what happened when it was eventually pointed at a specific problem.

Reconstructing a field from too few samples

sampling theory · cardinal series

It began with a beam: seven deflection gauges, and the question of what the curve is doing between them. Interpolating politely between the readings is easy and wrong. The honest version treats the gauges as samples of a continuous field and rebuilds the field by interference of cardinal (sinc) waves — the Whittaker–Shannon series, which is exact for any band-limited field sampled densely enough.

Φ(t) = Σ a sinc(t − t) Φ(x,y) = Σ a sinc(x − x) sinc(y − y)

Once the field is back, deterministic structure is removed a layer at a time until what is left will not separate from noise. In its later form the method goes one step further and asks which differential operator generated each layer it removed.

The first thing it was tested against was a beam under uniform load, because that has an exact answer in closed form and could therefore be marked. The same operator recovers a continuous field from any sparse instrument array — which is the problem you have when you fly somewhere with very few weather stations. It also has conditions: it needs either a forcing clock or an exact reference to be checked against, and a medium that is not working against you. Where those are absent it fails, and the applicability map records the failures alongside the successes.

Letting the data choose the equation

sparse regression · non-local operators
Held-out skill of local candidate terms against a memory term, and a fractional-order scan peaking below one
Method illustration, run on synthetic data. A signal was generated obeying a memory law of known order, then put through the procedure blind. Local candidate terms score far below zero out of sample; the memory term scores +0.82, and the scan recovers γ = 0.76 against a true value of 0.75 without being told it. Axis is symlog — a linear one cannot show +0.8 and −144 together, and clipping the bars would misreport how badly the local terms lose.

The usual order is to assume a governing equation and then fit it. This inverts that: build the field from the record, hand a library of candidate terms to sparse regression, and score every candidate on data it has not seen.

We had a preferred equation. It lost. The local advection–diffusion form we had written down beforehand carried no out-of-sample skill at all, and one of its coefficients changed sign depending on how heavily the field was smoothed — which is how you find out a term is an artefact of your own processing rather than a physical effect. What the data preferred instead was a law with memory: a fractional-order relaxation, where the present state depends on the whole history and not just on the last instant. The procedure transfers directly to a flight record. Fit nothing until the data has been given a fair chance to reject what you expected.

Which law fits — and is any of them good enough?

rare-event statistics · model selection

Rare events invite three comfortable assumptions: that counts are Poisson, that sizes are roughly normal, that the wait between events is exponential. Each of those is a hypothesis. It is easy to forget that, because each also arrives as a default.

So they are made to compete. Seven candidate laws for event size, four for waiting time — exponential, gamma, Weibull, log-normal — each fitted by a binned likelihood, because data recorded on a fixed grid is not continuous data and pretending otherwise quietly biases every fit that follows.

LL = Σ n log[ F(edge_hi) − F(edge_lo) ] binned, not continuous
Survival function with memoryless and two-parameter fits; bootstrap null distributions of KS distance with observed values marked; index of dispersion against a Poisson control
Method illustration, run on synthetic data. Clustered arrivals were generated, then put through the real procedure — genuine maximum-likelihood fits and a genuine 400-sample parametric bootstrap. A: the memoryless law tracks the body and loses the tail. B: its observed KS distance falls far outside its own null, so it is rejected (p = 0.00) before any ranking happens; the two-parameter law sits inside its null and passes (p = 0.55). C: the index of dispersion reads 8.2 against 1.1 for a true Poisson process at the same rate. Every number here was computed by the script beside the figure, not asserted.

The comparison is the part worth stating. AICc and BIC rank laws against each other — and they will always crown a winner, even when every candidate is wrong. So relative ranking is gated behind an absolute one: a law must first survive a parametric bootstrap on its own terms, its fitted shape re-simulated a few hundred times and its Kolmogorov–Smirnov distance compared against that null, before it is allowed to compete at all. Only laws that pass are ranked. Sometimes none pass, and that is the finding.

Two results from that procedure were worth more than a curve. The exponential waiting time — which is to say the Poisson assumption itself — was rejected; a gamma wait survived in its place, meaning events arrive in bursts rather than independently. And against the complete record, no stationary law passed the gate at all. Reporting that is more useful than reporting the best of a bad field. The same discipline applies wherever a rate is quoted from sparse history — gust exceedance, dispatch reliability, spares demand, failure counts. If arrivals are bursty and the interval was sized on a Poisson assumption, the interval is too narrow, and the shortfall shows up precisely when it is least affordable. One number catches it: the index of dispersion, variance over mean, which is exactly 1 for a Poisson process and climbs with clustering.

Problems that get worse while you decide

minimax · worst-case design

In some systems the cost of a decision grows with the time W taken to reach it. The design is then chosen against the worst case rather than the average — averages understate exactly the situations the design exists to survive.

V* = min over designs d sup over states s U(s; d)
Where the exposure is an area, it grows as the square of the delay. Halve W and the exposure quarters. Double the capacity to absorb the consequence instead and you have added a linear term to a quadratic problem — which is a worse trade than it looks. The asymmetry is the useful part: it says where effort belongs before any of it is spent.

Primes, and a standing exercise

analytic number theory
Prime spiral under Dirichlet's theorem, polar residue plot, and normalized prime-counting error

Prime distribution under Dirichlet's theorem, with the prime-counting error normalized by √x·log x — the quantity the Riemann Hypothesis bounds — computed out to x ≈ 1.3 × 106.

No aircraft has ever needed this. It is here because the habit it enforces is the one the applied work depends on: the error was computed rather than assumed, and it is shown over the whole range rather than the part that agrees.

Solvers and dynamical systems

mathematics · physics

The rest, kept alongside: field solvers in one, two and three dimensions; interpolation bounds and geometric envelopes; resonance and Lorenz-attractor studies; blackbody spectra and isothermal overlays; exact-arithmetic cross-section properties; and a dynamic response engine carrying its own invariant suite.

That last one has a rule worth stating plainly: the invariants run before any figure it produces is believed, and if they fail the pictures are not to be trusted. The planning modules in this platform are held to the same standard, by the same person, for the same reason.