Saturday, 23 February 2008

FInite Element Method overview

Since FEM is well documented and quite popular I will start to build my work around it.

The FEM can be used to calculate the field inside a space.

but first you need to define:
  1. the boundary conditions which will helps to resolve the unknown element of the differential solution.
  2. the mesh structure (or sometimes called triangulation) of studied surface or volume.(Series of triangle for 2D meshing or series of tetrahehra or pyranids for 3D meshing)
Once the mesh and the boundary conditions are defined you can solve the partial differential equation(PDE) using Finite Element Method (FEM) in order calculate the fields of the studied surface or volume.

To program it you will need to find a proper way to create the mesh...
freeFEM++ or getFEM libs can do most of the work for you, but first we need to understand how they program is working....

Wednesday, 20 February 2008

Open source EM simulator, a difficult task

Ideally the open source software QUCS should integrate an Electromagnetic Simulator to be complete.
But the task is not as easy as it seems by just putting available open source libraries to the Qucs platform.

I described below the main directions to start such an project.

1) The core of the EM simulator /the EM engine(s)

The core of EM simulator is separate from the rest of the QUCS program

For more stability one task one program is better.

The core engine should work on the Maxwell's equation using appropriate methods.

The most general methods are FEM and FDTD, then MoMs and TLM ...

And the use of the correct method is depending of the problem to solve.

Here is a list of main methods used for EM simulator and their possible simulators:

- Finite Element Method (FEM):


Commercially use by:

  • Ansoft HFSS

And available source:


- Finite Difference Time Domain (FDTD):

Commercially use by:

  • CST Microwave Studio (3D)

And available source:

Method of Moments (MoM):

Commercially use by:

  • Ansoft Designer (2.5D),
  • some NEC based programs
And available source:

- Eigenmode solvers:

Commercially use by:

  • CST Microwave Studio
  • Ansoft HFSS
- Finite Integration method:

Commercially use by:

  • MAFIA

- Transmission Line Matrix:

Available source:

  • yatpac(open source) C++ lib (GPL) (www.yatpac.org) Good for EM simulation at microstrip line level.



2) Parallel computing or distributed computing.

Available source:

other solver


3) Management tools

“git” may be good but I don't know any repository servers which use it.

so SVN would be a more popular choice (like on sourceforge).


4) Compiler related

For the core autoconf/automake seems to be the way to do it.

Cmake may also be an option.


5) The Graphical interface

to be with QT (qt3 or qt4)

Could use the openGL lib of QT or mesa library (http://www.mesa3d.org/ )

Also We could use something like “paraview” http://www.paraview.org/New/index.html for the graphic in 3D, which also has QT support.


6) Conclusion

My first conclusion would be to start on GetFEM or MEEP to understand well their possibilities and limits.
Then as EM simulator are deeply link to space geometry we will need to integrate it with an openGL interface.

I will try to update this link along the way.
Thanks
and long live QUCS...

Monday, 3 December 2007

Qucs and KiCAD, a great combination

If you do not have the cash to spend into VERY expensive software like ADS from agilent, Microwave Office from AWR...., and you want to do some simple RF/MW simulation or Spice simulation, you can now have the opportunity to load the open source software QUCS (quite universal circuit simulator)

This software gives you the base of a circuit simulator, with examples, technical papers and help which can be downloaded from the QUCS site. It 's very easy to learn, and you also have the opportunity to see what is under the engine, giving researcher an tool where they could add up their contribution.

Another open source software for people wanting to build some PCB is KiCAD, this software may need little more time for the user to understand and use but it can do some very nice PCBs.
When using KiCAD you first need to build your schematic and then import it to your layout using netlist. You can also add some new element into the library, and use the 3D option to visualise your design.

Few bugs are there but they do not stop you from doing some nice board.
One of the bug is that you need to create a library for each new element that you want to add, but this would be probably be fixed by the time that you read this article.

Maybe one more thing is needed would be an good open source EM simulator, a bit more complex task to realised, but I believe that one day...