The Non-Boxer Flat-4 — Force-Balanced but Moment-Unbalanced
Series: ← The Slider-Crank, Three Ways · ← Multi-Cylinder I4 · ← Boxer-4 · ← Rocking Couples · Non-boxer Flat-4 · Summary → · V-Engines → · Combustion → · Balance Shafts → · Engine Mounts → · Active Damping → · Chassis Response → · Engine Mounts →
Reference: Field Guide · Concepts Primer · Physics · Computational Machinery · Dimensional Reduction
A capstone for the multi-cylinder series. We’ve seen an engine that shakes but doesn’t rock (the inline-4), and one that does neither (the boxer-4). What about the third corner — an engine that rocks but doesn’t shake? That’s the non-boxer flat-4.
The script: flat4_analysis.py.
1. Not every flat-4 is a boxer
The word “flat” just describes the cylinder arrangement (horizontally opposed). It says nothing about the crankshaft design, which is where the engineering choice sits. Two distinct crankshafts can power the same flat-4 cylinder arrangement:
-
Boxer crankshaft (Subaru EJ, Porsche 911 flat-six family): pins arranged so that opposed pistons reach their respective TDCs simultaneously. In phasor terms: kinematic phases are equal within each opposed pair — — and the bank-mirror sign pattern makes everything cancel.
-
Inline-4 crankshaft placed in a flat layout (Lancia Fulvia, Jowett Jupiter, some aircraft engines): pins arranged exactly like in a normal I4 — — but with the four cylinders physically redistributed into two opposed banks. Signs alternate along the crankshaft.
Both configurations have the same physical layout (pairs of opposed cylinders across the shaft) and the same sign pattern; the only difference is which pin each piston sits on, so phases are different. That single choice changes the entire balance fingerprint.
| Configuration | Phases | Signs | Cyl spacing along shaft |
|---|---|---|---|
| I4 (inline) | |||
| Boxer-4 | |||
| Non-boxer flat-4 |
(Opposed pairs share an x-position along the crankshaft in both flat layouts; the I4’s four cylinders are spread along a longer shaft.)
2. The three outcomes
Feed each layout’s phases, signs, and positions into the phasor_sum
and phasor_moment_sum helpers, multiply by the per-cylinder force
amplitude , and read off the results. At the textbook
parameters (10 RPM, half-spacing ):
| Layout | Force 1× | Force 2× | Moment 1× | Moment 2× |
|---|---|---|---|---|
| I4 (inline) | 0 | 16.44 N | 0 | 0 |
| Boxer-4 | 0 | 0 | 0 | 0 |
| Non-boxer flat-4 | 0 | 0 | 3.95 N·m | 0 |
Three distinct corners of the (Force, Moment) outcome space. Read them together and a clear classification emerges:
-
The I4 shakes but doesn’t rock. The four-times secondary force is large (16.4 N in our toy parameters, tens of thousands of newtons in a real 2-litre engine at 6000 RPM). Balance shafts at 2× crank speed kill it. Moments cancel by spatial symmetry for free.
-
The boxer-4 does neither. Both the force phasor sum and the moment phasor sum vanish at every harmonic. Textbook smoothness. Real boxers still have small residual rocking from crankpin offsets (the “Subaru hum” chapter), but the idealised layout is perfectly balanced.
-
The non-boxer flat-4 rocks but doesn’t shake. Forces cancel at every harmonic, just like the boxer — so bearings see zero net side-to-side force. But the inline-4 phase pattern, combined with the sign-flip between banks, produces a strong 1× rocking couple of magnitude . The whole engine tilts fore-aft at crank frequency, even though no net horizontal force leaves it.
3. The phasor diagrams explain it
At 1× the four unit phasors for the non-boxer flat-4 are:
cyl 1 (R, pos −a): +1 · exp(j·0°) = +1 + 0j
cyl 2 (L, pos −a): −1 · exp(j·180°) = +1 + 0j
cyl 3 (R, pos +a): +1 · exp(j·180°) = −1 + 0j
cyl 4 (L, pos +a): −1 · exp(j·0°) = −1 + 0j
The force sum is — two cylinders push one way, two push the other. Cancellation.
But look at the positions: cylinders 1 and 2 both live at , cylinders 3 and 4 both at . The two “left-pushing” phasors (3 and 4) are at , and the two “right-pushing” phasors (1 and 2) are at . That’s exactly the geometry of a couple: equal and opposite forces applied at different positions, giving a net moment.
At 2× the pattern is different: all four phasors are real and of the same sign (after the sign flip), , so BOTH the force sum AND the moment sum vanish. There is no 2× component at all for this engine — in stark contrast to the I4, which has its biggest force at 2×.
See flat4_phasors.png for the phasor diagrams
(the four arrows close a parallelogram at the origin for 1× force,
but with their x-weighted contributions they clearly span a signed
area = the moment).

4. The spectrum side-by-side
The script emits flat4_spectrum.png with force
(top panel) and moment (bottom panel) bar charts for all three
configurations across the first ten harmonics:

Reading across:
-
Top panel (force amplitude). I4 has its characteristic 4× single-cylinder secondary stuck right at the 2× bin (16.44 N). Boxer and non-boxer flat-4 both have zero-height bars across the board — their force sums cancel identically.
-
Bottom panel (rocking-moment amplitude). I4 and boxer both have zero-height bars everywhere. Only the non-boxer flat-4 has content, and only at 1× (3.95 N·m). Its 2× moment also vanishes, as do every higher harmonic — the 1× is the only vibration line the layout produces.
Three different layouts, three different locations of “the peak” in the spectrum. Engineers used to reading these charts can identify the cylinder configuration from the spectrum alone.
5. Why 4-cylinder flat engines are almost always boxers
The non-boxer flat-4’s rocking moment is worse than a straight-3’s famous by a factor of . That’s significant — the straight-3 is already considered “rough enough to need counter-rotating balance shafts” in production engines (think the old Mitsubishi GDI three-cylinders, or BMW’s B38 triple in the i3). A non-boxer flat-4 has a 1× rocking couple more than twice as bad, even though it cancels its forces.
This is the reason the boxer dominates production flat engines. The non-boxer flat-4 has the mathematically elegant property that its forces vanish identically, but in exchange it introduces a rocking couple at the fundamental frequency that the boxer doesn’t have. For a road vehicle the rocking is what occupants actually feel (forces are much easier to isolate through engine mounts than moments), so the boxer wins the NVH trade almost every time.
Historical exceptions that used the non-boxer flat-4 layout:
- Lancia Fulvia V4 (actually a narrow-V, but with similar phasing)
- Jowett Jupiter and other early British flat-4s
- Aircraft flat-4s where cabin NVH constraints are different and overall weight matters more than smoothness
Most other flat-4s (Subaru EE/EJ/FA/FB, Porsche 912/914/916 flat-4s, aircraft flat-4s from Continental and Lycoming) are true boxers.
6. Populating the (F, M) outcome table
Combining this chapter with the Rocking Couples chapter, we now have real engines occupying every cell of the Force × Moment outcome table:
| Force = 0 | Force ≠ 0 | |
|---|---|---|
| Moment = 0 | Boxer-4 (ideal), Inline-6 | Inline-4 |
| Moment ≠ 0 | Non-boxer flat-4, Boxer-4 (real, with crankpin offset ), Straight-3 | Straight-5, most V6s with flat-plane cranks |
Each cell has characteristic NVH remedies. Balance shafts address force-unbalanced cells; counterweights and mount-stiffness tuning address moment-unbalanced cells; smart firing-order design tries to live in the (0, 0) cell if possible. The phasor framework makes the classification one line of arithmetic instead of one chapter of trigonometry.
7. Punchline
An “inline-4 crankshaft in a flat layout” is not a boxer. It cancels forces at every harmonic, but inherits a 1× rocking couple of that the true boxer does not have. That single piece of crankshaft-design geometry is why almost every production flat-4 is a boxer.
Verified by running one cylinder simulation once, summing four phase-and-sign combinations (and then four position-weighted sums), and printing the result. Total runtime: five seconds.
8. Where this leaves the multi-cylinder series
Five chapters in, we’ve covered:
- Single-cylinder — the per-cylinder signal that everything else is built from. Slider-crank learnings.
- Inline-4 — primary cancels, secondary quadruples; balance shafts. I4 chapter.
- Boxer-4 — sign-flip cancellation of every harmonic. Boxer chapter.
- Rocking couples — the moment sum as a companion to the force sum; realistic boxer with offset crankpins; straight-3. Rocking-couples chapter.
- Non-boxer flat-4 (this chapter) — the third corner of the outcome table: forces vanish but moments don’t.
Every one of them is built on the same per-cylinder slider-crank simulation + a small amount of complex arithmetic.
Natural next topics if this series continues:
- V6 and V8 — phase and position patterns per bank, with the bank angle entering as a rotation of the sign vectors in the complex plane (a V-engine is a boxer with bank angle 90° or 60° instead of 180°).
- Straight-6 “inherently balanced” — the phasor framework’s most elegant result: phases at 60° intervals close three independent triangles in the complex plane, and both force and moment sums vanish identically at 1× and 2×.
- Active mass damping — layer a control loop on top of the source analysis to null out a specific residual harmonic with an electro-mechanical actuator, as modern hybrid powertrains do.
Files and scripts referenced
flat4_analysis.py— non-boxer flat-4 analysis; three-way comparison with I4 and boxer-4. Produces both figures above._common.py— shared helpers:phasor_sum(phases, n, signs),phasor_moment_sum (phases, n, positions, signs),superpose_time(phases, signs, samples_per_rev),run_single_cylinder(rpm, n_rev, n_samples, gravity).README.md— folder overview with all five scripts now catalogued.
Prerequisite chapters as listed in §8 above.