Simulation Input File (.SIM) Format and External Optimizer
In an IE3D simulation, the geometry is saved in the .geo file. The input, output and control parameters are saved in the .sim file. When we setup a simulation, MGRID will save the geometry into .geo file and the input, output and control parameters in the .sim file. Then, MGRID will call the IE3D using the .sim file as the command line argument. Use the c:\ie3d\samples\cpw2_90.geo as our example. After we setup a simulation, MGRID will create a .sim file: c:\ie3d\samples\cpw2_90.sim. Then, MGRID will call the IE3D as:
“c:\program files\zeland\exe\ie3d.exe” “c:\ie3d\samples\cpw2_90.sim” (AA-1)
where the double quotation marks are used to avoid confusion due to spaces in the path name. Normally, there is no need for a user to change the .sim file. However, if a user wants to use an external optimizer, changing the .sim file is best way to achieve it. The reason is that the offset values to the optimization variables are stored in the .sim file. If a user defines optimization variables in the geometry, he sets up a simulation with provided offset values to the optimization variables. Then, he can select “Create .SIM File only” for the After Setup option. MGRID will create the cpw2_90.geo and the cpw2_90.sim files. The user can use the command in (AA-1) to invoke the IE3D to perform the simulation with the specified offset values to the optimization variables. In case, a user knows the .sim file format, he can change the offset values and re-save the .sim file and call the IE3D in (AA-1). Then, analyze the results and do the next iteration. In this way, he can use his own optimizer for his purposes. For this reason, we are documenting the .sim file format with optimization variables.
No | Content | Explanation |
1 | 8 1 | The format version of the .sim file is 8, the latest one. The 1 means it is a simulation .sim file. For optimization, it is 11. |
2 | 1 1 1 1 | Just set them as “1 1 1 1” if you want to create your own. |
3 | 2 2 0 1 | The 1st number “2” means the geometry file uses mil as length unit (1 means mm; 3 means micron); The 2nd number “2” is the number of ports in the geometry. The 3rd number “0” means there is no plane-wave excitation. The 4th number “1” means that it is using the voltage source (“2” for current source, “3” for wave source). The source type is only useful for pattern calculation and optimization. |
4 | 5 10 91.5 0 0.025 0.001 0 1 5 5e-4 10000 5 | The 1st number “5” means using SMSi, the default matrix solver. The 2nd number “10” is the SD in Cells. The 3rd number “91.5” is the SD in mil defined in line 2. For IE3D 9.0, this number used to be fixed in mm. The two numbers and all the other numbers are for the AIMS matrix solver only. They are not useful for SMSi and other direct solvers. |
5 | 3 1 2 2 1 4 | Please leave the “3 1 2 2” as they are. The 5th number “1” means that the IE3D will invoke MODUA for display after simulation. “0” for this number means no invoking MODUA. The last number “4” is for process priority. |
6 | 6 5 3 12 8 5 4 | Please leave the numbers as they are. |
7 | 1 0.005 0.2 | The 1st number “1” means AIF is enabled. The value “0” to turn off the AIF. Please leave the “0.005 0.2” as they are. |
8 | 1 1 1 | The numbers are for pattern calculation. Please leave them as they are. |
9 | 0 0 0 0 | Please leave the first two “0” as they are. The 3rd “0” means that the .cur file is not saved. The 4th “0” means that the “.pat” file is not saved. |
10 | C:\ie3dman\cpw2_90.geo | The geometry file name |
11 | C:\ie3dman\cpw2_90.sp | The s-parameter file name |
12 | C:\ie3dman\cpw2_90.spt | The original s-parameter file name when AIF is enabled. |
13 | C:\ie3dman\cpw2_90.log | The log file name for intermediate information. |
14 | C:\ie3dman\cpw2_90.cur | The .cur file for current distribution. |
15 | C:\ie3dman\cpw2_90.pat | The .pat file for radiation pattern. |
16 | C:\ie3dman\cpw2_00.sts | The status file for the simulation. It may not be used in 9.0. |
17 | 5 | There are 5 frequency points |
18 | 1 2 3 4 5 | The frequency points are 1, 2, 3, 4 and 5 GHz. |
19 | 1 | There is 1 optimization variable. |
20 | 1 3 -0.2 6 | The values for the No.1 variable. Please leave the “1” as it is. “3” means the offset value is 3. “-0.2 6” are the low and high bounds. They are in mils defined in the 3rd line. |
21 | 0 0 | Please leave them as they are. |
22 | … | Please leave them as they are |
23 | … | Please leave them as they are |
24 | 0 | Please leave it as it is. |
25 | 1 50 … | No. 1 port’s excitation and termination information. |
26 | 2 50 … | No. 2 port’s excitation and termination information. |
Zeland Security Server (ZSS) and Zeland Program Manager (ZPM)
In order to ease the management of the Zeland’s software packages, we have implemented the Zeland Program Manager for both stand-alone licenses and network licenses and Zeland Security Server for network licenses. The Zeland Program Manager (ZPM or ZELAND) is acting as a centralized security unit. In the earlier versions of the IE3D, each application program is talking to the security key or security server for network version directly. When you have a large LAN or WAN for the IE3D network version, you may experience speed problem when you run any ZELAND application programs (IE3D/FIDELITY/MDSPICE/COCAFIL/LINEGAUGE, etc).
ZELAND is taking over the job to talk with the security key or the security server. It still takes time for ZELAND to build the communication to the key or the security server; the communication between ZELAND and the ZELAND application programs takes no time. After the ZELAND is running and the ZELAND license is started, you will not have any speed problem when you run the application programs.
1. Start the Zeland Program Manager:
Before you run any ZELAND application program, you need to start ZELAND. When you start ZELAND, ZELAND will try to find a license for you. For the stand-alone license, you are required to connect the security key to the computer before you start the ZELAND. For the network version, a user is required to start the security server (NSRVGX.EXE for the Rainbow Security Server or ZSS.EXE for the Zeland Security Server on the computer where the key is attached to).
For stand-alone Version, ZELAND will try to find the security key. When it finds it, ZELAND will display ZELAND License Started as shown in Figure AB-1.
Figure AB-1. The display of ZELAND for Standalone Licenses.
For the Network Version, ZELAND will try to find the security server on the network. Starting from IE3D 5.2 and FIDELITY 2.1, we have two types of security server: (1) The Rainbow Security Server (NSRVGX) and (2) The Zeland Security Server (ZSS).
The NSRVGX can support multiple different network protocols. However, the searching for the NSRVGX server is not a direct searching. It will try to find any NSRVGX on the network and it may fail when a large network is involved and when there is filtering in the routers.
To avoid the problems of NSRVGX, we have implemented the Zeland Security Server (ZSS). The ZSS is a typical HTTP server and it is similar to other Internet servers. It is special for TCP/IP network that is the most popular network protocol. The advantage of ZSS is that, when you run the ZELAND on a client machine, you must specify the name of the computer where the ZSS is running. You also need to specify the TCP/IP port on both ZSS and ZELAND. Typical TCP/IP port number is an integer not smaller than 80. The computer name specified on ZELAND must match the computer name where the ZSS is running. The TCP/IP port specified on ZELAND also needs to match the one specified on ZSS. Because all the information is provided, the communication between the ZSS and ZELAND is much easier and faster. The ZSS is a much better choice than NSRVGX if you can meet the following requirements:
Requirements for the Zeland Security Server (ZSS):
(1) TCP/IP Protocol.
(2) Windows NT 4.0, Windows 95 OSR2, Windows 98, Windows 2000, Windows XP or later operating systems.
When ZELAND finds the security server and check out the license, ZELAND will display ZELAND Network License Started. If the ZELAND cannot find the security key or security server, it will display ZELAND License Stopped or ZELAND Network License Stopped. To find out why it stops, please select Help/About Zeland menu item of the ZELAND. If you do not have a security key or a security server, the message will be “No License is available.” or other error messages. If you do not see any message, it may mean the user stops the license by selecting the File / Stop IE3D License menu item. You can restart it by selecting File/Start IE3D License menu item.
For the network license, it may take some seconds for the ZELAND license to be started. A typical time may take about 3-30 seconds. If you have more than one type of licenses, ZELAND will prompt you for the type of license you want to check out. For the ZSS scheme, you can check out more than 1 license. For example, if you have IE3D licenses and FIDELITY licenses, you can check out both IE3D license and FIDELITY license simultaneously.
If ZELAND cannot detect a network license for you, it may take a couple of minutes on NSRVGX to receive the report. Finally, it will display ZELAND Network License Stopped. On the Help/About Zeland dialog, you will see “No license is available.”. When you see such a message, it may mean either one of the two: (1) NSRVGX is not running on the network; (2) Some other users are using the limited number of licenses and your request for license is rejected. For the ZSS, it will let you know ahead how many licenses are available. If there is no license available, your request will be rejected immediately.
After you see the message “ZELAND License Started” or “ZELAND Network License Started” on ZELAND, you can run the available application programs that is not marked “N/A”.
2. Stop ZELAND License:
After you are done with your work on application programs, you can stop the ZELAND license. For the network licenses, you should always stop the license whenever your work is done. Stopping the license will release it and other people on the network can access the released license. For those users with unlimited site licenses, stopping the license is not necessary.
The correct procedure to stop a ZELAND license is: (1) Stop all application programs on your computer. (2) Select File/Stop ZELAND License menu item on ZELAND and confirm it.
After the ZELAND License is stopped. ZELAND can be still running. However, the ZELAND license is released. For the network version, other users can use the released license.
For the stand-alone version or the network version with unlimited licenses, you can keep the ZELAND license running. The benefit for keeping the ZELAND license running for the unlimited ZELAND network license is that you do not need to re-start it again. Restarting a ZELAND network license may take some seconds for the network version, especially for the NSRVGX.
3. Clear Running List:
After the ZELAND license is started, you can run the application programs. Every time you run an application program, the instance will be listed on the ZELAND tree and you can monitor it. After you close the application, it will be removed from the list. In case of abnormal termination of an application program, the application may be kept in the ZELAND list and it may accumulate. You can clear the list by selecting File/Clear List menu item. However, please make sure you close any application programs before you select the File/Clear List menu. Otherwise, it will crash your running application programs. ZELAND 5.2 is supposed to be able to clear the “dead” applications for you automatically.
4. Running IE3D/FIDELITY Simulator From Remote Computers.
Starting from ZELAND 5.2, we offer ZELAND Queue, which was only available to network users, to all the users. It allows a user to submit jobs to a faster machine for number crunching. For examples, you have 2 computers. The computer you want to submit a job from is called GUEST. The computer you want to submit a job to is called HOST. Normally, HOST should be a fast machine and that is the reason you want to submit a job to HOST. The program manager ZELAND is running on the HOST machine. Both HOST and GUEST can access a shared directory. The shared directory can be mapped to a drive name. However, when they are mapped to a drive name, the drive name should be the same on both HOST and GUEST. For example, we are running IE3D on a shared directory called \\SHAREDIR. They are mapped as drive F: for both HOST and GUEST. Following are the procedures to use the ZELAND Queue:
a. Setup ZELAND Simulation Queue:
Run ZELAND on the HOST to start a network license. Then, select ZELAND Simulation Queue in ZELAND menu. The dialog box is shown in Figure AB-2.
Figure AB-2. ZELAND Simulation queue dialog.
There are 4 options for the ZELAND queue: (1) Disabled; (2) Enabled with 0 job; (3) Enabled with 1 job; (4) Enabled with 2 jobs. You can choose the option from the combo box. When you change from Disabled to any of the 3 options, ZELAND will prompt you for the Queue File. This is the file where we store the queue jobs. If you want to run the IE3D/FIDELITY jobs on multiple machines, you should setup the Queue File to be the same on multiple machines. Certainly, the Queue File should be in a network directory. If this network directory is mapped with a drive name, you should make sure it is mapped to the same drive name on all the machines with the same Queue File. Otherwise, the ZELAND on the machine with different mapped drive name will not be able to recognize the path name in the jobs submitted to the queue.
Another important file is the Queue Log. It will record the actions taken in the ZELAND simulation queue. If you do not see your submitted job in the queue list, you can check the Queue Log file to see whether your submitted job is called and whether the call is successful. Normally, the ZELAND queue will not drop any submitted job.
You have the option to “Rune Queue Jobs While GUI Are Running”. If your CPU is slow and you do not have the 2nd CPU, running an IE3D/FIDELITY may slow down your geometry editing significantly. You can change the default so that ZELAND will not run any jobs if you are running any GUI application.
In case, your computer is slow and you do not want any jobs to be running on your machine while you are working on computer, you can also choose the option “Enabled with 0 job”. In such a case, the Queue is still enabled. However, ZELAND will not run any queue job on your machine. The queue jobs will be run on any other machine that share the same queue and with the option “Enabled with 1 job” or “Enabled with 2 jobs”.
For regular computer, we suggest you to use “Enabled with 1 job”. If you have a dual or multiple CPU computer and you want to run more than 1 job at a time, you can use the option “Enabled with 2 jobs”.
b. Submission of Simulation Jobs:
To submit a job to the queue, you can edit the queue file and add jobs into the file. Each line is only for one job. The format is automatically created in the queue file by ZELAND. Starting from MGRID 5.1, you can submit IE3D jobs directly from MGRID. We will implement a similar feature into the FidelityWorkshop in the near future.
On the MGRID, you select SET SIMULATION. You follow the procedure until the last dialog. You have the 3 options: (1) Invoke IE3D (the default); (2) Create .SIM file without invoke IE3D; (3) Append the job to the queue. You should select (3) if you want to submit the job to the queue. If you see Item (3) is grayed, it means that the ZELAND queue is not enabled. You must enable it on ZELAND before you can use it.
You are responsible to make sure that your files are in a shared directory. The shared directory has the same drive name on both the GUEST and HOST machines.
5. Schedule IE3D/FIDELITY Simulations:
You can schedule the ZELAND queue to run the IE3D/FIDELITY queue items at a later time. For example, you are doing editing in your daytime. You do not want to run the queue items because of some reasons. The reason can be that the IE3D/FIDELITY simulation will slow down your GUI on your single CPU computer. What you can do is to schedule the queue to run the queue items after some specified time. You can select the 2nd Change button (next to the “IE3D/FIDELITY Runs For Queue Items Immediately When Available”). You enter the Number of Minutes for the schedule. For example, you enter “20” minutes. After you select OK, the text becomes “IE3D/FIDELITY Runs 20 Minutes Later When Available”. If you add any jobs into the queue, it will not run before 20 minutes elapses.
6. Suggestions on Using the Zeland Program Manager (ZELAND)
Before you start the ZELAND license on ZELAND, please do not try to run any IE3D application programs. You will not be able to run it or it may crash.
For the network license with limited licenses, you should stop the license whenever you do not need to work on IE3D/FIDELITY. It will free a license for other people to work on it.
When any application program is running, please never do the following: (1) stop the license (2) remove the security key or stop the security server. Soon or later, it will crash your running application program.
7. Zeland Security Server (ZSS.EXE)
Zeland Security Server is a new security server we developed for the network version of our software. It replaces the Rainbow Security Server (NSRVGX.EXE). For the stand-alone licenses, you will not have the ZSS. For those users who are using NSRVGX security server, you are suggested to switch to the ZSS. Certainly, you need to make sure your system meets the requirements of ZSS mentioned above. Also, you need to switch the key you have.
ZSS is protected by keys. When you run it, it automatically checks the key and starts the licensing. You will see all the information on your licenses on the window as shown in Figure 3. You may also see information about ZDS and ZDM. The ZDS and ZDM will be discussed in other documents. You will see the STOP button at the bottom of the window after a few seconds. If the button is changed from STOP to START or the string “ZELAND LICENSING STOPPED!” is displayed, it may mean one of the following:
(a) You do not have a working key attached to the parallel port of the computer you run ZSS.
(b) The serial number of the key does not match that of ZSS.
(c) Other mismatch between the key and the ZSS.
Figure AB-3. The ZSS window.
After the licensing of ZSS is started, you can run the ZELAND on any Win32 machine on the network. When you run ZELAND, it will prompt you to choose the license you want, the server name and the TCP PORT. Please make sure the server name matches that where the ZSS is running. You also need to make sure the TCP PORT on both ZSS and ZELAND agree. After you select one or multiple licenses, you can start the license on ZELAND and run the application programs. Occasionally, due to filtering, ZELAND may have difficulty to find the ZSS using the server name. In such a case, on the ZELAND, please enter the IP address of the machine where ZSS is running in the Server Name field.
8. TCP/PORT number:
The most critical thing to make sure the correct communication between the ZELAND and ZSS are the server name and the TCP port number. When you run the ZSS, ZSS will automatically detect the server name. It will automatically be assigned a TCP/PORT number. You should take down the server name and the TCP/PORT number and distribute them to the clients who want to use the ZELAND licenses. When you start the ZELAND after installing the client software, you are required to enter the server name and the TCP/PORT number exactly as they are shown on the ZSS. Then, you should select the REFRESH button on the ZELAND, it will list the available licenses for you to choose. If it does not list the available license, it may mean the following:
(a) The server name may not match between ZSS/ZELAND. Please re-enter it on ZELAND and select REFRESH again.
(b) The TCP/PORT number may not match between ZSS/ZELAND. Please re-enter it on the ZELAND and select REFRESH again.
(c) The TCP/PORT number is used by other TCP/IP services. Please enter a new number not smaller than 80 on the ZSS. Then, select APPLY. On the ZELAND, please enter the new number exactly like the one on ZSS, select REFRESH.
(d) In some rare cases, the server name may be filtered out by the network. You may want to enter the IP address of the server machine in the place of the server name on the ZELAND.
If you have any question or experience any difficulty, please contact us at Tel: (510) 623-7162, Fax: (510) 623-7135, E-mail: zeland@zeland.com. Thanks!
No comments:
Post a Comment