4.1 Antenna Radiation Efficiency
The QW-OptimiserPlus allows for direct optimisation of four most commonly considered types of parameters available from QuickWave simulation: scattering parameters in both, Sk1 and Smn routines, radiation pattern and results of FD Probing calculations. The QW-OptimiserPlus gives the user possibility of optimising also other, less common parameters available from QuickWave simulation, like radiation efficiency or power dissipated in the object made of a lossy material. It can be done by taking advantage of an indirect routine. In this routine the user must provide an external program (application) that will read the QuickWave files containing simulation results, extract an appropriate parameter (the one that should be optimised) and deliver it to QW-OptimiserPlus (by creating an output file) as a set of points (or a point, when considering power dissipated in the object) creating a curve that will be a subject to optimisation. Let us follow this short description with an example, in which the optimisation in the indirect routine is considered, what will help the users to fully understand this functionality and will be a guide through when preparing their own optimisation routines.
We will consider a patch antenna similar to the one from …\Patch\patch1.pro but with a lossy dielectric substrate. We are interested in the radiation at two frequencies: 2.65 GHz and 5.525 GHz. The conductivity of the substrate is initially 0.01 S/m, resulting in the radiation efficiency of the antenna of 25.6% and 56.54%, at respective frequencies.
We will use optimisation routine to find a value of substrate’s conductivity that will assure the radiation efficiency of at least 80% at both frequencies. Due to the fact that the radiation efficiency is not included in the objectives’ group for direct optimisation we will use the indirect routine. As in the case of configuring typical optimisation routine the project needs to be exported to QW-Simulator using Export & Run option () in QW-Editor and the optimisation routine needs to be configured in Configure Optimiser dialogue.
We will start from the Variables tab. We load the *.udo file that describes our structure, patch1_opt.udo, and from the parameters’ list we choose the optimisation parameter. For this project we check a single parameter that stands for the substrate’s conductivity sig and set its lower and upper value to 0.0005 and 0.01, respectively.
Now, we proceed to Objectives tab, where we press Add button to add an optimisation objective. From the Type drop-down list we choose Saved Data option.
This type’s name signalises that the optimisation objective is not from a group of typical ones and that it will be read by external program from the saved simulation results and then sent to QW-OptimiserPlus.
Let us firstly determine the simulation results’ type that contain the required objective and which need to be saved by the QW-Simulator. This is done by defining Breakpoints, appropriate for a given case. In this case we are interested in radiation efficiency, which is saved in the antenna results files.
We now press Configure… button to define the breakpoints in the Breakpoints dialogue.
After pressing Add button in Breakpoints window the Add Breakpoint dialogue appears.
This is typical Add Breakpoint window and we need to choose appropriate breakpoint command. In the case that we are considering we choose Save Antenna Results Extended breakpoint command that will save antenna results containing radiation efficiency. The file contains radiation patterns and radiation efficiency for all frequencies defined as NTF Frequencies in the project. The user should note that it is required to configure parameters for 2D radiation pattern calculation. For that purpose we press Antenna Settings button, which invokes the Radiation Patterns dialogue.
After accepting antenna settings, it is required to determine (in Add Breakpoint window) the number of iterations after which the results will be saved. In the considered case the results should be saved after 15000 iterations. The results will be saved in patch1_opt_a.da3 file, which is one of the arguments that the external program is executed with (more information will be given further in this section).
When the breakpoint has been defined, we come back to Add Objective window. Now it is required to determine the optimization goal for the radiation efficiency. We want the radiation efficiency to be at least 80% and the target is 90, thus we set Lower, Target, and Condition values.
The last parameter that needs to be configured is the points number under Points Nb. The Points Nb parameter is another parameter used during the execution of external program. With this parameter we determine the number of objective’s points that will be forwarded to QW-OptimiserPlus through an output file created by external application and also the number of values that the external application should read from simulation results file. In the case of patch1_opt.pro, we are considering radiation at two NTF frequencies and we are interested in getting the radiation efficiency for them (the patch1_opt_a.da3 file will contain simulation results for those two frequencies), thus the Points Nb should be set to 2. The value of Points Nb parameter strictly depends on the scenario that is considered.
The objective has been configured thus we press OK button and proceed to Preferences tab of Configure Optimiser window.
In general the Preferences tab of Configure Optimiser dialogue is configured in the same way as in the case of typical optimisation using QW-OptimiserPlus. The main difference in configuring Preferences tab in the indirect optimization routine, comparing to direct routine, is the requirement of indicating the External Program.
Thus, we change the Editor for Optimiser tab to External Program. It is required to browse the program (in the Filename field) that will be used for processing the simulation data saved by QW-Simulator. In the considered case we will use efficiency_app.exe program, which can be found in the patch1_opt.pro project directory. The project directory contains also the file with source code of efficiency_app program, which may be treated by the users as a reference when preparing their own programs for particular application. As may be seen, the external program is always executed with a set of arguments, indicated in inactive Arguments field. Those are:
PointsNb – the number of objective’s points that will be forwarded to QW-OptimiserPlus through an output file created by external program and also the number of values that the external program should read from simulation results file. This number is taken from Points Nb parameter set in Objective tab.
output_file.opi – the name of the output file, to which the external program should save Points Nb objective values read from the simulation results file. The name of this output file is strictly defined: projectname_opi_NoofObjective.opi (NoofObjective is a number of Saved Data objective under which it appears on the list in Objectives tab).
“file1” “file2” – the name/s of the file/s containing simulation results, saved through breakpoints. Number of files’ names depends on the number of Saved Data objectives defined in Objective tab. Those names correspond to the Filename given in Add Breakpoint window.
This impose the requirements for the external program, which:
needs to take at least three parameters (the number of parameters depends on the number of breakpoints defined, thus the number of simulation files that will be processed)
must read PointsNb objective’s values from “file1” file and save them to output_file.opi file. The data should be saved in the following format:
Point number Value
In the considered case of patch1_opt.pro project, the efficiency_app.exe program will read two values of radiation efficiency from patch1_opt_a.da3 file and save them to patch1_opt_opi_1.opi file. The objective will be then read from *.opi file by QW-OptimiserPlus and the optimisation will be performed.
Now, we proceed to setting the Optimiser Parameters, like Stop Criteria and Simulation parameters, like Iterations per Simulation. We set the number of iterations per simulation equal to that specified for the breakpoint, in this case it is 15000 and we check Fixed option. We want the QW-OptimiserPlus to stop when Goal Function reaches (or drops below) zero, thus we check Stop when Goal Function Stabilises with Tolerance option. The configuration stage is complete, thus we may press OK button and run the optimisation.
The QW-OptimiserPlus performs eight optimisation steps before finding the solution. The next pictures present the optimisation results and also the Goal Function chart. As it can be seen, the Goal Function drops below zero in the eight step, thus the QW-OptimiserPlus stops after finishing that step.
The Optimiser Info tab in the Simulator Log window contains useful information displayed by QW-OptimiserPlus during optimisation.