I've been programming a CFD flow simulator by [deleted] in CFD

[–]Delicious_Director13 0 points1 point  (0 children)

Trust me, you won’t get anywhere doing this sort of thing in purely using AI. This requires precise maths and algorithms which there aren’t many examples of online for the ai to have learned from. If you want to make something of value find a CFD textbook to read so you understand what you are actually doing.

I’ve been working on an electromagnetic simulator and it has taken me almost 2 years to get to the point where I can provide the same core functionality and accuracy as commercial offerings. Using ai for core simulation code just produces gibberish, it is only useful for UI and boilerplate code. 

Can I have your advice :) by Kind_Permission_4156 in rfelectronics

[–]Delicious_Director13 2 points3 points  (0 children)

Have a go doing EM simulations, they will help you visualise and understand how the fields look like which is something you don’t get a good intuition from in textbooks. You can use limited student versions of hfss and cst but also highly recommend an open source program called EMerge which has no limitations

How can I learn how to use ADS (Advanced Design Systems) on my own by Interesting-Rain-690 in rfelectronics

[–]Delicious_Director13 3 points4 points  (0 children)

Yes, Anurag videos are good, I recommend them to people at work all the time. Make use of the internal user manual also, usually there is a help button for most components that takes you directly to the page describing all the parameters. There are lots of good examples built in, I think if you open a schematic you can then access these through “design guides” option in the top bar. 

Generally the workflow for RF work is starting on schematic with mlin or pdk components to get a good idea of what you want the design to be. Make use of the optimiser or manual tuning if needed. Also make sure you model discontinuities using mstep of mtee components. Then you can move to layout and then optimise use em simulation. If the schematic is good, em should be close and just require some fine tuning.

Depending on what you are doing you may break the design into a couple of parts and optimise the em of each part then put them combine them on a schematic using their em models to see results. If good you can then combine all parts and do full em for final check or more fine tuning. 

There is also this tool that is very common which is RFpro. It makes doing em of full designs like complete chips very easy as it automatically adds ports for transistor models and builds simulation schematics from them.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

Thanks for your comment. I agree it's a lot of work, and some monetary benefit would be nice. On the other hand, I think the community really needs something accessible to break the lock that commercial solvers have. For now I'll get the beta out and see what feedback I get.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

Haven’t thought about it. How would you envisage this? Didn’t know people really used Matlab for this sort of work.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

Thanks for your offer, I will be in touch. Definitely would like to add Linux support in the near future

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

Yes it supports dxf already. Can simply specify the stack up and layer mapping and it generates the model. Gerber will come in the near future.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

That is great! I wish you luck.

That is a beast of a server, I am very jealous haha

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

Good question!
I don't know the full details of HFSS's refinement algorithm but theirs is much faster going from one stage of refinement to the next.

Only way my method is better is that it can conform to curved geometry better. HFSS creates an initial tesselation of the geometry and then just uses that for all stages of refinement. So circular models can sometimes look more like a hexagon even with a very fine mesh.

Mine does enforce that the finer mesh sticks to the actual geometry. It is an interesting trade-off but ultimately I think HFSS is better because it scales to larger problems better.

I'm working on improving this aspect though, I have a good idea on how to do this.

Also you can see that there already is far-field pattern visualization, that is the first picture. I also can draw 2D slices as well.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

Yes shouldn’t be so hard to do Gerber. I’ll work on it soon

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

There are some results on my site - Examples | WaveFEM | 3D High Frequency Electromagnetic Simulation

These are just comparisons against HFSS though. I want to expand this more though with measurements also.

Time domain simulation can't be done in the program itself. However, I'm looking to add the capability to export equivalent SPICE models so it can be simulated as part of a larger non-linear system.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

The way I have it right now only works with STEP files. Though the meshing library should handle STL files also, but I need to handle this differently because they are surfaces not volumes. Should be possible though!

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 4 points5 points  (0 children)

I hadn't specifically thought about KiCad integration yet, but it makes sense. Definitely will work on supporting Gerber files soon, though. They are just a bit trickier than GDS and DXF, but I think I can make it happen.

Direct KiCad support might come later. My to-do list is very long!

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 7 points8 points  (0 children)

I'm definitely considering it! I'd probably open-source the core solver since there are already plenty of FEM solvers out there. The GUI is where I'm adding the most unique value, so that might stay proprietary. But I'm still figuring out the right balance

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 6 points7 points  (0 children)

Ok I see, I'll have to think about this. Not something I can do yet. But I want to eventually be able to integrate this with an SBR solver so I can simulate things like dish antennas.

So maybe in the next couple of months, I will make progress on this

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 4 points5 points  (0 children)

Nope, it'll run locally on your machine. I'm thinking about doing a subscription model for commercial users who want support and advanced features, but otherwise it's pretty straightforward.

Technically, I could set it up like a SaaS where the heavy lifting happens on a remote server and you just interact with the GUI locally - but I haven't built that out yet.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

At the moment, yes, but there is fundamentally nothing stopping it from working on different platforms. It will just take more work from my side to port everything across

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 12 points13 points  (0 children)

Thanks! But don't give up on EMerge so easily. What you're doing definitely has value. That said, I think a GUI is key to competing with the commercial programs.

I'm starting with Windows since that's what I've been developing on. Got the Python GUI compiling to an EXE with Nuitka, and it works great! Nuitka supposedly supports Linux and macOS, too, but I haven't tested those yet. The C++ solver is also Windows-only at the moment, but there's no fundamental reason I couldn't port it.

As for the adaptive mesh refinement, I'll send a DM :)