top of page

Roadmap

There are many features that are planned to be implemented into EMerge, Heavi and Optycal. When and how soon these will appear depends on the time and money that I get to spend on this project. 

EMerge roadmap

The following features are planned! They are approximate chronological order from first to be implemented to last.

PO and Thermal Solver

Being able to run both EM and then Thermal simulations is very useful. That is why a relatively simple thermal heat transfer solver is planned. A Python based physical optics solver called Optycal will also be released soon.

Adaptive mesh refinement

Adaptive mesh refinement is a very useful component in FEM simulations. It allows to take the guessing out of the verification of FEM simulations. It also makes sure that mesh density is spend on those regions that matter most.

File import

Many times, 3D models come from other programs, KiCad, ADS, Solidworks. One can currently implement STEP files in EMerge but better support is definitely needed.

Multimode ports

EMerge currently only supports single mode ports. You can compute multiple modes on a single port but the solver (and I) doesn't yet know how to handle a port supporting multiple modes. This also holds for grating modes of Floquet ports.

Scattered Field Formulation

Sometimes you want to compute the scattering behavior of objects in 3D space. The disruption of struts/bars or joints or the radar cross-section of small objects. The scattered field formulation allows you to compute the EM response due to a background field.

Auxilliary Space Maxwell Preconditioners

While direct solvers are most optimal for multi-port sweeps, large simulation models might run better with iterative solvers. For the type of curl-curl edge based formulations used in EM FEM problems, special preconditioners are needed to ensure convergence. Hypre's Auxilliary Space Maxwell preconditioners is planned to be included for this reason.

Domain Decomposition

Domain decomposition is a numerical way of cutting up the mesh in subdomains and computing coupling terms between them. Each subdomain can be solved individually. It allows for more efficient solving of very large problems and can be used to generate pre-conditioners for iterative solvers.

bottom of page