Methodology / 02
Field Solvers for SI/PI: 2D, 2.5D, and 3D
A field solver computes what Maxwell's equations say about a structure you describe. The three classes differ in what they assume before they start — and those assumptions, not the accuracy claims, are what decide which one is right for a given question.
Every closed-form formula an engineer first learns — such as Wheeler's microstrip equation or the classic Z0 = √(L/C) relationship — is a simplified analytical approximation. These formulas assume infinite reference planes, zero conductor thickness, perfectly rectangular traces, and uniform dielectrics. In actual PCB and package manufacturing, traces have trapezoidal sidewalls, dielectrics are inhomogeneous fiberglass weaves, and signals transition through vertical vias with complex anti-pad cutouts. At multi-gigabit speeds, closed-form formulas fail completely.
A field solver replaces rules of thumb by solving Maxwell's equations directly on the actual physical geometry. By discretizing the physical space into a computational mesh of millions of tiny elements, the solver calculates the precise electric and magnetic fields, yielding exact frequency-dependent impedance, loss, and coupling matrices.
However, “field solver” is not a single uniform tool. Solving electromagnetics in three dimensions is notoriously computationally expensive. The entire discipline of practical modeling centers on choosing the cheapest solver class whose geometric assumptions still capture the essential physics of the structure: 2D solvers for uniform cross-sections, 2.5D planar solvers for power-ground plane pairs, and full 3D solvers for complex transitions.
What a solver is doing, and why there are three
Every electrical property on this site comes from fields: impedance from where the electric field terminates, inductance from where the magnetic field loops, coupling from field that reaches a neighbour. A field solver computes those fields numerically for a geometry you supply.
Solving the full three-dimensional problem is expensive, and usually unnecessary. Most of a board is a trace running over a plane with a cross-section that does not change along its length — and for that, the three-dimensional problem collapses to a two-dimensional one that solves in seconds.
So the classes of solver are really classes of assumption: how much of the geometry you are allowed to say is repetitive, and therefore how much work can be skipped.
The three classes
- 2D. Assumes the cross-section is uniform along the length, and solves it once to give RLGC per unit length. For a straight trace over a solid plane this is not an approximation — it is exact, and it runs in seconds. Use it for every uniform transmission line in the design, and sweep it freely.
- 2.5D / planar (method of moments). Assumes the structure is a stack of flat layers with vertical connections between them, which is exactly what a PCB is. Handles arbitrary shapes within each layer — plane cutouts, cavity resonance, irregular fills — far faster than full 3D. This is the natural tool for plane-pair PDN work.
- 3D (FEM or FDTD). Assumes nothing about the geometry. Necessary for anything genuinely three-dimensional: vias with their antipads and surrounding ground vias, connector launches, bond wires, package transitions. Slowest by orders of magnitude, and the accuracy depends heavily on the mesh.
Where each one misleads
2D applied where the cross-section changes. A trace that necks down through a breakout, or runs over a plane cutout, is not uniform, and a 2D solve of the nominal geometry will simply not contain the discontinuity. The result looks clean because the impairment is absent, not because it is small.
3D with an inadequate mesh. A 3D solver's answer is only as good as its discretisation, and the default mesh is often too coarse for thin dielectrics and skin-depth effects at high frequency. The check is convergence: refine the mesh and re-run, and if the answer moves meaningfully, it had not converged. A single 3D run with no convergence check is a number with unknown error bars.
Any solver with the wrong material model. A frequency-independent Dk and Df is non-causal, and produces the characteristic artefacts — energy arriving before it was sent — in the time domain. A dispersive model such as a Djordjević-Sarkar fit costs nothing extra and removes an entire class of confusing results.
One last practical note: solvers give you S-parameters, and S-parameters are the thing to sanity check. Passivity, causality and reciprocity should be verified on every extracted block before it is cascaded, because a violation in one block propagates into everything downstream and is far harder to find there.
Why this decides how your board behaves
- Match the solver class to the geometry. A 2D solve cannot represent a via because the geometry violates the translational-uniformity assumption on which the method rests.
- Convergence is not accuracy. A converged result is one that stopped changing with mesh refinement. It can still be the exact answer to a badly posed problem.
- Boundary conditions are part of the model. What a solver assumes at the edges of its domain changes the answer, especially for anything radiating or resonant.
- Material data drives everything. A perfect solve with a wrong Df is wrong, and the error grows with frequency.
What to do about it
Match the class to the geometry, not to the budget. Uniform cross-section → 2D, exactly and in seconds. Layered planar structures → 2.5D. Genuinely three-dimensional structures — vias, launches, connectors — → 3D, and only those.
Check convergence deliberately. Refine the mesh and confirm the answer stops moving. A single run at default settings is an opinion.
Validate against something you already know. Solve a structure with a known answer — a plain 50 Ω line, or a quarter-wave stub whose resonance you can compute — before trusting the solver on the structure you cannot check.
State your material assumptions with any result. Dk, Df, at what frequency, copper roughness and its parameter definition. A result without them is not reproducible.
- A solved impedance that does not match the fabricator's coupon. Compare the geometry assumptions first — etch trapezoid, copper thickness, solder mask — before suspecting the laminate.
- 3D results that change with domain size. Boundary conditions are affecting the answer, which means the domain is too small or the boundary type is wrong.
- Loss under-predicted, growing with frequency. Roughness, usually either absent or given the wrong roughness parameter.
- A resonance in the solve that hardware does not show. Check whether the model's boundary made a cavity the real structure does not have.
Go deeper — what each class assumes, and where each misleads
- 2D assumes the cross-section is uniform along the length. For a straight trace over a solid plane that is not an approximation — it is exact. It misleads the moment the geometry stops being uniform, and it has no way to tell you that it has.
- 2.5D, or planar method-of-moments, assumes the structure is a stack of flat layers with vertical connections between them — which is exactly what a PCB is. It handles arbitrary shapes within a layer, so it is the right tool for plane cutouts and cavity behaviour. It misleads where true three-dimensional field structure matters, such as inside a connector or around a bond wire.
- 3D assumes nothing about the geometry and pays for it in runtime. It misleads mainly through the modeller: domain size, boundary conditions, port definitions and mesh density are all choices, and all of them can produce a converged answer to the wrong question.
Ports are the underrated part. A 3D solve produces S-parameters relative to ports you defined, and how a port is set up — its reference conductor, its size, whether it is a wave port or a lumped one — changes the result. Two engineers solving the same via with different port setups will disagree, and both will have converged.
And partition coupling. Splitting a structure into pieces and solving each separately is only valid if the pieces are not coupled. Two vias solved independently and cascaded is not the same as two vias solved together, and the difference is exactly the coupling you split apart. Cut where the fields are quiet.
The solver selection matrix: matching physics to geometry. Deciding which solver to deploy on a specific PCB or package feature comes down to geometric symmetries and field orientation:
- 2D Solvers (Boundary Element / Finite Difference): Assumes invariance along the Z-axis (propagation direction). Field equations reduce to transverse electro-magnetic (TEM or quasi-TEM) modes. Runtime: seconds. Solves transmission line per-unit-length parameters (R, L, G, C) and characteristic impedance (Z0, Zdiff). Use for: 95% of total trace length across microstrip, stripline, and coplanar topologies. Fails when: Traces neck down near BGA escapes, cross splits in reference planes, or couple to non-parallel routing.
- 2.5D Planar Solvers (Method of Moments / Transmission Matrix): Assumes planar, stratified dielectric layers with current flowing predominantly in X-Y planes and strictly vertical (1D) currents on via barrels. Runtime: minutes. Meshes only the conducting surfaces rather than 3D air/dielectric volumes, shrinking matrix dimensions dramatically. Use for: Power integrity plane-pair impedance extraction, cavity resonances, irregular DC power islands, and board-wide decoupling capacitor placement. Fails when: Horizontal fields dominate, such as antipad fringe fields in dense via fields, tilted wirebonds, or connector pin headers.
- 3D Full-Wave Solvers (Finite Element Method - FEM / FDTD): Assumes zero geometric symmetry. Solves full vector Maxwell's curl equations in 3D space by dividing the entire volume into tetrahedral or hexahedral meshes. Runtime: hours to overnight. Use for: High-speed via transitions (>10 GHz), connector launches, BGA ball-to-board breakouts, optical transceiver receptacles, and socket interfaces. Fails when: Misconfigured! The biggest danger is artificial boundary reflection (insufficient radiation boundary distance), poor wave port sizing, or halting before adaptive mesh refinement achieves scattering parameter convergence (ΔS ≤ 0.01).
In the real world
Solvers have become easy to run and no easier to run well. The defaults produce a picture, and the picture is persuasive in a way that hides every assumption behind it.
Which is why the habit of validating against a known case is worth more than any amount of tool expertise. If a solver reproduces a quarter-wave resonance you calculated by hand, you have learned something about the solver. If it does not, you have learned something more important.