How to optimize variables in EM simulation concurrently using IE3D
Hi, mwagner: There are multiple schemes in IE3D to do so. IE3D's default editor MGRID allowsyou to define the locations of some vertices as optimization variables. From the vertices, you can control the shape of your structure. However, MGRID does not allow you to specify the width and length or those high level geometry parameters because MGRID is completely based upon low level objects. If you want to optimize high level variables such as the radius of a circle on MGRID/IE3D, you can still do it by associating the edge vertices of the polygons representing the circle with one single variable by different tuning direction. The process of defing such a variable can be tedious if you are a new user. To make IE3D more powerful, we have introduced the Ie3dLibrary as I mentioned before. Ie3dLibrary is based upon high level objects such as circles, T-junctions, Y-junctions. The dimensional parameters are variables accessible directly by the useres and by the optimizer. The latest IE3DLibrary even allows you to define a dimenison as a formula consisting of multiple tuning variables and (intermediate) global variables. The formula can be quite complicated and you can use most of the simple functions in the formula. Future release of IE3DLIBRARY will allow users to combine MGRID objects and IE3DLibrary objects together so that users can access both low level and high level objects. Both levels are very important.
IE3DLibrary also has the User Programmable Objects. The idea comes from a request from a customer. He has a very sophisticated antenna. The shape of his antnena is created using Matlab or other program. He wants us to implement an object for it with many variables. Since he might have many similar but different structures, it is impractical to implement all the objects for him because he might have more objects to implement we can never catch up. So, we have implemented the User Programmable Object. Basiclaly, it allows you to write your own program to create the objects and write the objects as polygons in XML format (provided by Zeland). In this way, a user has the maximum flexibility.
IE3D has a built-in Genetic optimizer, Powell optimizer and an Adaptive Optimizer (GA). The Adaptive Optimizer is a very good one. It basically combines both global optimizers (GA) and local optimizer (Powell) and other technology to allow the optimization to achieve the optimimum using the least EM simulations. Thank you very much!
RSOFT's FDTD-BPM simulation suite also have a nice optimizer.
CST MIcrowave studio and Ansoft HFSS have very powerful optimizers but I guess those features cost a lost also.
-svarun
Jian: Thank you for your hints about EM optimization using IE3D!
Other helpers: Thank you for your pointers!