E&M Reality Emerges with Robert Fennis

Robert Fennis, an RF engineer and consultant from the Netherlands and the creator of EMerge: a free, open-source 3D Finite Element Method (FEM) electromagnetic solver written in Python. They demystify the black magic of RF engineering, breakdown the mathematical and physics foundations of simulation, and explain how Robert is building the IKEA of FEM solvers to make electromagnetics accessible to everyone.

Timeline

  • Chris welcomes Robert Fennis, creator of EMerge, to discuss RF simulation as a way to unlock knowledge of the universe. (00:00:15)
  • LinkedIn Shout-outs: Chris and Robert praise the amazing RF visualizations done by past guests Lukas Henkel, Sam Aldahar, and Katerina Galitskaya. (00:01:20)
  • The Wizard School of RF: They discuss how RF engineering is often seen as a black magic wizard school of electronics, despite being normal to Robert. (00:03:10)
  • Pyramid of Knowledge: Robert explains how learning RF and simulation is like building a pyramid step-by-step, where you have to understand waves, ports, and S-parameters rather than trying to build it all from scratch. (00:05:00)
  • Python and LLMs: EMerge is written as a Python module but utilizes fast external libraries under the hood. They talk about how script-based engineering allows LLMs to assist by writing simulation code from existing examples on the EMerge Hub on GitHub. They draw a comparison to OpenSCAD’s parametric code-first approach in mechanical design. (00:07:30)
  • The Big Three Full-Wave Simulation Methods: Robert explains how full-wave solvers attempt to approach exact solutions to Maxwell’s equations. (00:11:30)
    • Finite Difference Time Domain (FDTD): A time-stepping method that operates similarly to movie physics engines, marching forward in time. (00:12:15)
    • Method of Moments (MoM): A method solving specifically for currents and voltages on conductors, using Green’s functions to calculate interactions without discretizing the surrounding air. (00:13:40)
    • Finite Element Method (FEM): A frequency-domain solver derived from variational calculus (the Principle of Least Action). It solves for complex electric fields in the airspace surrounding conductors, treating conductors as boundary constraints. (00:15:10)
  • The Veritasium Switch Video: They connect the physics of FEM to the famous Veritasium switch debate, noting that energy travels outside of wires. This is why FEM solvers must discretize the surrounding airspace to capture the physics, as famously illustrated in the Veritasium switch video. (00:18:20)
  • The Challenges of Real-World Boundaries: In FEM, boundary conditions define where the simulation ends. Choosing the right boundaries is critical because perfect electric conductors can introduce unrealistic internal resonances. (00:20:45)
  • Simplifying vs. Overcomplicating Models: Mentor advice on simplifying models to ensure convergence. Robert warns that adding too much detail quickly exhausts RAM, which is currently expensive. (00:22:15)
  • Frequency and Detail: A rule of thumb is that higher frequencies make small details matter more. Right-angled corners on PCB traces act as parasitic capacitors at 10 GHz, and silk screen on a 2.4 GHz patch antenna can completely de-tune it. (00:24:30)
  • Bluetooth Antenna Design Workflow: Chris shares his fear of designing custom 2.4 GHz antennas for boards like the NRF52840. Robert outlines his step-by-step customer consultation process, evaluating orientation and directivity (omnidirectional vs. directional). (00:32:15)
  • The Logarithmic Scale of Decibels: Squeezing S11 reflection coefficients from -20 dB to -25 dB only wins a fraction of a percent of energy. Since receivers have massive dynamic ranges, aiming for -10 dB or even -5 dB is often perfectly fine for non-critical systems. (00:36:40)
  • The Incremental Design Method: Instead of modeling the entire system, start with the simplest geometry (e.g., a simple square patch or wire). Find the length where it resonates, and then introduce components like plastic enclosures, screws, or clips one by one to see how they shift the resonant frequency. (00:41:20)
  • Working with Ports in EMerge: EMerge uses lump ports (numbered starting from 1) for PCBs and computes S-parameters like S11, which can be plotted on a logarithmic scale with the built-in plot_SP function. (00:44:50)
  • Alternative EMerge Applications: (00:47:45)
    • PCB Filters: Designing microstrip and coupled-line filters on FR4 or Rogers substrates. FR4 is risky due to variations in refractive index, making simulation validation highly valuable before spending money on expensive substrates. (00:48:10)
    • Radar Cross-Section (RCS): Modeling how objects scatter electromagnetic waves. (Note: Large stealth bombers are computationally impractical for EMerge, but smaller models work). (00:51:30)
    • Power Dividers: Tuning Wilkinson power dividers. (00:52:45)
    • Crosstalk and Signal Integrity: Making sure high-speed 1 Gbps bitstreams arrive intact without degrading or leaking into other ports. You can view an example crosstalk simulation on the EMerge Showcase page. (00:53:30)
  • Under-the-Hood Engineering and Performance: (00:55:00)
    • Robert shares his story of spending a week straight getting 3D solver matrices to assemble and solve. (00:55:15)
    • He highlights that 98% of the effort in building a solver is computational geometry (meshing), for which EMerge uses the GMSH library. (00:58:30)
    • Linear algebra is solved using Intel MKL on x86 platforms (thanks to Olaf Schenk) and Apple Accelerate on macOS (thanks to Dr. Jonathan Hogg). (01:00:15)
    • The solver assembles sparse coordinate matrices converted into compressed column storage. (01:02:00)
    • Robert wants EMerge to be the IKEA of FEM solvers—not perfect, but free, accessible, and good enough. (01:03:50)
  • The Nightmare of Importing PCBs: Why computational geometry makes importing PCBs incredibly difficult. (01:08:15)
    • Gerber Files: Aperture-based photographic formats. Approximating circles with polygons can lead to tiny gaps that crash mesh engines. (01:09:45)
    • STEP Files: They model trace thickness physically (which is unnecessary for EMerge) and cause floating-point rounding errors on round holes. (01:11:30)
    • ODB++: Robert is using Claude/AI to help write an ODB++ parser. (01:13:00)
  • Method Chaining and the Builder Pattern: An alternative to importing CAD files is describing geometry programmatically using a method chaining philosophy in Python (e.g., drawing traces with straight, turn_right, and skip functions). This forces the user to keep things simple, making the design additive rather than subtractive. (01:15:45)
  • Closing Thoughts and Consulting: Robert runs a consulting business but emphasizes that the open-source software is GPLv2 and has no warranty. He prefers teaching clients how to use the software and run simulations themselves. You can connect with Robert and other RF simulation enthusiasts via the EMerge Discord community. (01:19:30)

Recommended Reading List

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论