Heavi Circuit Simulator
In addition to EMerges FEM Solver I have also been working on a very simple light weight RF circuit simulator in Python. It is now capable of simulating all crucial basic components and will see lots of updates with larger component libraries and more advanced PCB simulation features. You can download it from my Github page in the Download section!
Heavi Features
-
The following lumped components are implemented: Resistor, Capacitor, Inductor, Impedance and admittance with arbitrary functions of frequency.
-
You can define arbitrary N-port S and Y-parameter components. There is also partial support for Touchstone N-port files (no full v2.0 support). You can only import touchstone files with either Y, Z or S-parameters.
-
There is a basic module for implementing optimization. It works by generating callable objects that you can pass to SciPy optimization algorithms.
-
There is also predefined functionality for parametric sweeps. Not all components in the component libraries can currently support parametric sweeps.
-
Just like parametric and optimization studies you can also do Monte-Carlo studies on most common components.
-
As long as your component can be mapped to either S-parameters or Y-parameters it can be simulated and integrated into Heavi.
-
The core solver is implemented using Numba with the parallel-processing options resulting into very fast solutions!
-
Parametric sweeps output S-parameters in multi-dimensional array resulting in full control over post-processing.
-
Algorithms are implemented solving for any order Cauer filter (Butterworth and Chebychev) and N-th order Chebychev impedance transformers.
-
While not finished, Heavi will eventually offer transmission line models for (micro) stripline components plus a convenient interface to easily implement and simulate PCB circuits.
Scheduled Features
DC-AC, Harmonic Balance, Noise and Transient simulations
The goal is to also support DC analysis with non-linear components in order to extra small-signal behavior. Besides that Heavi will also eventually get a Transient simulator and implement algorithms such as the Haromnic balance method to simulate non-linear components. Besides that noise simulations will also be supported in future versions.
Expanded libraries
In order to make Heavi usable it should support as many common components as possible and convenient classes to setup simulations. Target component libraries include
Microstripline and stripline circuits and components
Waveguide and ridged waveguide components
Ideal non-linear components
Transistors and other semi-conductor components
Transformers and voltage dependent current/voltage sources.
FEM and PO integration
As you can see on this website, Emerge will eventually also get a complete FEM simulator and PO simulator. The basics of the PO simulator exist already. When either product is available, Heavi will be seamlessly integrated so that you can easily use FEM simulations inside your transmission line simulations and reverse.