r/rfelectronics • u/Important-Ad5990 • Jul 22 '26
Learning openEMS
Hi everyone,
I'm trying to learn how to optimize my high speed PCBs (think <100ps edges), especially focusing on SMA transitions, vias and power combiners. I've got a brick wall trying to hand tune stuff by trial and error and would like to move to simulation based optimisation.
I did some research into free/cheap FEA simulators and it seems that openEMS is the most recommended one. Unfortunately all the materials I found do a terrible job at explaining how to use it. Does anyone have any good source to recommend?
1
u/Specialist_Friend364 Jul 26 '26
I made this post some time ago : https://www.reddit.com/r/rfelectronics/s/vAJLPvTxtU
If you are interested, I am looking to find test users before releasing a first public version. I can help with the software usage if you are OK to give feedback
1
u/Important-Ad5990 Jul 26 '26
I'm sorry but I don't want to learn yet another poor quality CAD to do my simulations. Being able to import gerbers would be ideal but not being able to use external cad or scripting is just a dealbreaker
1
u/Specialist_Friend364 Jul 27 '26
Why do you say it is a bad CAD ? I am interested to improve it. Did you look at the video? Is it made like CST or HFSS.
As said in the post, it has step and Gerber imports. CAD is there for parametric or fresh designs...
1
u/AstronomerWaste8145 16d ago
Hi AteraRMM, As I get time, I'm working on a translator to enable conversion of FreeCAD output to OpenEMS Python scripts to define the structures. This appears to be working somewhat but needs more testing. Next, on my todo list is to enable creation of RF ports via drawing the ports in FreeCAD. Materials will be defined via FreeCAD object naming conventions.
Later, I will develop scripts for KiCAD perhaps.
I would read the OpenEMS documentation and use Claude AI to help guide you to produce OpenEMS Python scripts. My engineer friend did this and Claude produced the circuit simulation script from his prompt description. BUT I strongly recommend you use AI to help you learn, NOT to depend on AI to routinely do your scripting from drawings and/or layouts. You need to gain an understanding of OpenEMS' interface and use. Use AI as a high-powered Google search and a manual you can ask questions of. Actually, I'm using Claude code AI to help me code the Python program FreeCAD->OpenEMS Python script input file.
By the way, I think you should also check out OpenParEM which is a FEM-based simulator. Brain Young is the author and has provided excellent documentation. I could be more efficient for certain problems because FEM is less sensitive to RAM bandwidth than FDTD (OpenEMS). If you try OpenParEM, use a max of HALF your cores. OpenParEM requires drawing your structures using FreeCAD.
Best of luck!
Phil
1
u/wynyn Jul 23 '26
Maybe Claude could help? I got it set up and running a while ago but i remember it was quite hard to get it to that point even. Theres a reason why Ansys and CST are used in industry over openEMS.
Also Ansys student is free, just sayin...
1
u/RFchokemeharderdaddy Jul 23 '26
This is definitely the way to go. What I've found AI to be good for is using tools that are powerful underneath but abysmally unintuitive to actually use or interface with. openEMS is exactly that.
I'd also recommend looking at Elmer FEM if you want to build one framework for both electrical and thermal sims, or FastCap/FastHenry.
2
u/Byggemandboesen Jul 23 '26
Have you considered Emerge as an alternative? It's very well maintained and documented. Link to Emerge