R
Member
"Solved and converged — ship it" breaks on passives more than anywhere else, because the wrong answer converges beautifully to a wrong number. Here's the hygiene list that catches these before fabrication.
Where passive sims lie
1. Via stubs and anti-pads — a quarter-wave stub resonance moves with dielectric constant tolerance and mesh refinement; a 10 µm gap you meshed at λ/20 may still miss a fringing field by 5 % of its frequency. Rule: resonances are validated by frequency-vs-mesh-size sweeps, not by one green check.
2. Surface roughness. At 40+ GHz, foil roughness (Rz 1–3 µm) adds dBs of loss; if your stackup model is smooth-copper you are simulating a fantasy board. Use Huray/Hammerstad models fit to measured coupons from the actual laminate family — and keep the fit parameters in the project report.
3. Port de-embedding length. Waveport reference plane at the via barrel vs pin = several degrees of phase at 20 GHz. For filter/duplexer cascades, mismodeled 0.1 mm stubs show up as return-loss ripple you'll chase in the wrong component.
4. Boundary assumptions: open-boundary PML vs radiation-box distance changes a monopole's S11 subtly at low bands; the classic "converged, but the box is part of the antenna" bug.
Practical convergence protocol
- Define the figure of merit (not "S21 everywhere"): e.g. IL at band edges ≤ 0.01 dB per 10 % mesh refinement; resonance freq stability ≤ 0.1 %.
- Two-mesh comparison on final geometry: plot Δmag/Δphase across 5× band of interest. Convergence ≠ agreement between two equally fine meshes in-band if your refinement metric is out-of-band energy.
- Sensitivity run: εr ±2 %, tanδ ×1.8, thickness ±10 % (fab reality). Passives without a tolerance column in the report are unfinished.
- Cross-check a cheap model first: analytic / line-theory expectation for order-of-magnitude on a hair-pin filter's f₀; if full-wave disagrees by 20 % without explanation, hunt the port stackup definition, not the solver.
Measurement handshake
Cal-verify with unknown-thru on the same fixture you simulate; compare Δ of two states (loaded vs unloaded pad) rather than absolute — cancels fixture drift. For anything >20 GHz, de-embed with a 2x-thru measured or EM-modeled consistently.
What's your one "the sim was confidently wrong" story that changed the team's flow? Mine: spiral-inductor Q "improved" after mesh refinement because the solver started modeling substrate currents that a floating ground-fill assumption hid — the board fabbed with the optimistic model measured 4 dB gain worse on the noise figure it "fixed". Curious about others.
Where passive sims lie
1. Via stubs and anti-pads — a quarter-wave stub resonance moves with dielectric constant tolerance and mesh refinement; a 10 µm gap you meshed at λ/20 may still miss a fringing field by 5 % of its frequency. Rule: resonances are validated by frequency-vs-mesh-size sweeps, not by one green check.
2. Surface roughness. At 40+ GHz, foil roughness (Rz 1–3 µm) adds dBs of loss; if your stackup model is smooth-copper you are simulating a fantasy board. Use Huray/Hammerstad models fit to measured coupons from the actual laminate family — and keep the fit parameters in the project report.
3. Port de-embedding length. Waveport reference plane at the via barrel vs pin = several degrees of phase at 20 GHz. For filter/duplexer cascades, mismodeled 0.1 mm stubs show up as return-loss ripple you'll chase in the wrong component.
4. Boundary assumptions: open-boundary PML vs radiation-box distance changes a monopole's S11 subtly at low bands; the classic "converged, but the box is part of the antenna" bug.
Practical convergence protocol
- Define the figure of merit (not "S21 everywhere"): e.g. IL at band edges ≤ 0.01 dB per 10 % mesh refinement; resonance freq stability ≤ 0.1 %.
- Two-mesh comparison on final geometry: plot Δmag/Δphase across 5× band of interest. Convergence ≠ agreement between two equally fine meshes in-band if your refinement metric is out-of-band energy.
- Sensitivity run: εr ±2 %, tanδ ×1.8, thickness ±10 % (fab reality). Passives without a tolerance column in the report are unfinished.
- Cross-check a cheap model first: analytic / line-theory expectation for order-of-magnitude on a hair-pin filter's f₀; if full-wave disagrees by 20 % without explanation, hunt the port stackup definition, not the solver.
Measurement handshake
Cal-verify with unknown-thru on the same fixture you simulate; compare Δ of two states (loaded vs unloaded pad) rather than absolute — cancels fixture drift. For anything >20 GHz, de-embed with a 2x-thru measured or EM-modeled consistently.
What's your one "the sim was confidently wrong" story that changed the team's flow? Mine: spiral-inductor Q "improved" after mesh refinement because the solver started modeling substrate currents that a floating ground-fill assumption hid — the board fabbed with the optimistic model measured 4 dB gain worse on the noise figure it "fixed". Curious about others.

