Skip to content
John Hodge

← Projects

EdgeFEM

Problem

Between quick analytical scripts and a five-figure commercial solver, there is not much for someone who wants to prototype RF and metasurface designs in code. Researchers either oversimplify or pay for a license they only partly use.

Approach

EdgeFEM is a finite-element electromagnetic solver written in C++20 with Python bindings. It uses Nédélec edge elements with PML and absorbing boundary conditions and handles dispersive materials, covering roughly 100 kHz to 110 GHz. It computes S-parameters and radiation patterns, and the C++ core keeps it fast while pybind11 makes it scriptable from Python.

Result

It fills the gap between a throwaway script and commercial software, and it is the solver the Agentic Phased Array Builder calls as a tool. The code, build, and examples are on GitHub.

View code