KiCad and electromagnetic simulation

Good to know it works. Are there any plans for electromagnetic simulation.

This question is not connetcted to ngspice examples and would be worth another thread.

Thomas Pointhuber has been working on integrating SparseLizard and KiCad (see Sparselizard branch · Wiki · Thomas Pointhuber / kicad · GitLab).

Fabien Corona is adding IBIS (interconnect simulation) to KiCad, see the 6.99 branch.

And I have split it into a new thread

Very well. I meant my question as a short sidenote. But may be there are other too, who are interested.

We are, field solving is needed for RF boards

I am for higher current

There are plans to add FEM simulation in the “near future” (not v7)

There are some things that has already been tested in kicad using sparselizard:

  • Capacitance between two nets
  • Resistance between two pads of the same net
  • Voltage drops due to currents in a PCB ( power delivery for instance )

For more info, here is my presentation about it at FOSDEM 2022:

There are other plans for PCB simulation, including antenna, and signal integrity. But those need some prototyping before, as for now they are just “plans”.

3 Likes

Are these plans to test existing features, or plans to implement new features?

As of today, there is no implementation that I am aware of.

Signal integrity requires IBIS support, which has been added a few months ago to KiCad (nightly). The first implementations could start in 2023.

Antenna simulation has no agenda for now. It is on the to-do list, but nothing else. There are still some technical issues for now

3 Likes

I’ve posted this quick tutorial on Trace Length on YouTube - the ‘show’ expanded info contains the added code for Inductance. Adding Resistance is simple…

screenshot shows results containing Trace Length, Resistance, Inductance… Also, a Trace between two Pads…

I didn’t bother with grabbing the trace/pads (to get actual Cu that would be involved… but, you get the idea… It may be useful at present time…

2 Likes

For a long time I’ve been thinking about how to “marry” KiCAD to 3D electromagnetics simulators. A couple of years ago, there was an effort to link KiCAD to openEMS, but I am not sure openEMS is maintained any more. The openEMS version with Python interface was experimental and the main way to set up the geometry to be simulated was MATLAB or Octave. Another option is the very powerful meep, which has a Python interface already. I think that meep is currently the best open-source 3D electromagnetics simulator. FreeCAD could probably help here because it already has meshing capability. In fact, FreeCAD is already leveraged by KiCAD, thanks to @maui 's StePuP tools. Some workbenches leverage FreeCAD for optics raytracing (e.g. the ‘Optics’ and ‘pyrate’ workbenches, although the latter seems to be buggy), so why not 3D electromagnetics?

Kicad’s interface for 3D simulation should be solver-agnostic. Meaning we should not stick to a single solver, but instead offer an interface to add solvers in the future.

In my opinion, the solution should be fully integrated with KiCad, and should not rely on exports to external software such as FreeCAD.

We already made a prototype which can be found here:

We chose sparselizard as it is easy to use, and is multiphysics, so we can simulate more than just electromagnetics ( heat dissipation for instance ). The way things are going now, sparselizard will most likely be the solver used by kicad when ( if ) FEM capabilities are added.

http://sparselizard.org/

2 Likes

OK, not a simulator, but kinda related:
3d em scan
I want one, especially now that my tdr scope crapped out.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.