top of page

EM tools for Python

EMerge is a project dedicated to offering free electromagnetic simulation tools Python.

EMerge software includes the self-named EMerge FEM solver for Python, Heavi a simple circuit simulator and soon Optycal a Physical-Optics simulator.

IMG_0915.PNG

Why Python?

Python may not be the fastest programming language, but that’s not really a drawback here. The heavy lifting needed for FEM solvers is handled by powerful libraries like Numba, NumPy, and SciPy. These optimized packages deliver high performance while still letting EMerge take advantage of Python’s ease of use and flexibility.

​

Python’s simplicity and versatility also make it a natural choice for integrating into the engineering design process. EMerge isn’t the first EM or FEM solver in Python, but the goal is to make it by far the easiest one to use. That’s achieved by:

Minimal Dependencies

EMerge keeps dependencies to a minimum, making installation almost foolproof with either pip or conda.

Simplified Scope

Most engineers don’t actually use the majority of features that modern commercial packages offer. EMerge’s core philosophy is to keep things simple. This means fewer options to wade through means less setup for users, faster development, and easier support.

Everything in one place

By writing as much as possible directly in Python, there’s no need to deal with other software or languages. You can start your simulation in Python and finish it there too.

Maximum freedom

EMerge gives you direct access to the assembled matrices and vectors, so you have full control over how many cores, processes, or even machines handle each task.

What can it do?

EMerge is a frequency-domain FEM solver for the time-harmonic Helmholtz equation. Like HFSS or COMSOL, it lets you run frequency sweeps and eigenmode studies to explore electromagnetic behavior in complex structures.

With EMerge you can simulate:

  • RF & Microwave devices – filters, waveguides, resonators, couplers, antennas

  • Photonic structures – integrated waveguides, cavities, photonic crystals

  • Resonances & modes – eigenmodes, cut-off frequencies

  • Scattering & S-parameters – reflection, transmission, insertion loss

​

1758100773546.jpg

Advantages

Custom Optimization Without Extra Costs
Commercial solvers often charge extra for optimization toolboxes. With EMerge, that’s not a problem. Since simulations are basically just a single function call, you can plug them straight into your favorite optimization algorithms with no added cost.

​

Streamlined Pre- and Post-Processing

No more painful data exports. Many commercial solvers force you to wrestle with clunky file formats and tedious parsing. With EMerge, you get direct access to all your simulation data, so post-processing and visualization feel as natural as any other Python workflow.

Screenshot 2025-07-31 151647.png

Get started in just 10 lines of code!

EMerge stands out as a FEM solver for electromagnetics and radio-frequency physics thanks to its user-friendly interface. Simple simulations can be set up in just minutes, without the burden of boilerplate code. A basic waveguide simulation, for instance, runs in only 10 lines of code, two for imports, one for plotting, and the rest for the actual setup.

Endorsed by

EMerge is very proud to be endorsed by AEM Antennas in Canada. AEM Antennas specializes in compact, high-performance antennas, consultancy, and their RECO Reflector and Horn Simulation software.

AEM Antennas logo

Limitations

EMerge has the following limitations.

  • Ports support 1 mode only, no multi-mode sweeps

  • No iterative solvers for large problems

  • Only fundamental Floquet modes

  • No scattered field formulation

  • Limited pool of geometries.

Many of these limitations will be addressed in upcoming versions.

​

Adaptive mesh refinement will get a beta version released soon!

Screenshot 2025-07-24 at 16.47_edited.jpg
bottom of page