Simple examples demonstrating using continuous frequency range, using the MLFMM for large models, using the LE-PO
(large element physical optics) on subparts of the model and optimising the waveguide pin feed location.
Simple examples demonstrating using Feko application automation, matching circuit generation with Optenni Lab and optimising a bandpass filter with HyperStudy.
Use application automation to perform operations with CADFEKO and POSTFEKO. Typical tasks include repetitive tasks, tasks that require several steps, or calculations.
Increase productivity when dealing with predictable and repeatable POSTFEKO sessions (for example, exporting a report) using application automation. Use an automation script to configure a
session and export a report that highlights the antenna properties of the model.
Feko is a comprehensive electromagnetic solver with multiple solution methods that is used for electromagnetic field analyses
involving 3D objects of arbitrary shapes.
EDITFEKO is used to construct advanced models (both the geometry and solution requirements) using a high-level scripting language
which includes loops and conditional statements.
One of the key features in Feko is that it includes a broad set of unique and hybridised solution methods. Effective use of Feko features requires an understanding of the available methods.
Feko offers state-of-the-art optimisation engines based on generic algorithm (GA) and other methods, which can be used
to automatically optimise the design and determine the optimum solution.
Feko writes all the results to an ASCII output file .out as well as a binary output file .bof for usage by POSTFEKO. Use the .out file to obtain additional information about the solution.
CADFEKO and POSTFEKO have a powerful, fast, lightweight scripting language integrated into the application allowing you to create
models, get hold of simulation results and model configuration information as well as manipulation of data and automate
repetitive tasks.
Simple examples demonstrating using Feko application automation, matching circuit generation with Optenni Lab and optimising a bandpass filter with HyperStudy.
Optimising the Bandpass Filter with HyperStudy Using a
POSTFEKO Session
Configure the bandpassfilter.pfs file with the S11 data to
minimise the reflection coefficient in HyperStudy.
Open CADFEKO.
Click Application Macro under the
Scripting group.
In the drop-down list, select Macro
Library and run the EG I3: Bandpass
Filter script.
Save the model with the name bandpassfilter.cfx and execute
the solver.
Open the bandpassfilter.cfx model in POSTFEKO.
Create a Cartesian graph and add the
S11 trace from the SParamOpt
request.
Figure 1. The reflection coefficient (S11) of the bandpass filter before
optimisation from 3.960 GHz to 4 GHz.
Save the bandpassfilter.pfs file in the same location as
the bandpassfilter.cfx.
Click Application macro in the
Scripting group.
The scripts loaded in the Macro library is
displayed.Figure 2. Example of the scripts available Application
macro library.
Click Utility and select Optimise model in
HyperStudy.
The following Create HyperStudy Session dialog is
shown.
In the Study label field, enter a value for the name of
the study.
In the Study folder field, specify a value for the
directory of the HyperStudy session.
In the Installation directory field, specify the
directory where HyperStudy is installed.
[Optional] Set the FEKO_HST_INSTALLATION_DIR environment
variable to use a specific version of HyperStudy.
Click OK to start to create a HyperStudy session.
The following Create HyperStudy Session dialog is
shown.
The extraction script bandpassfilter.cfx_extract.lua
is created in the same directory as the
bandpassfilter.pfs.
Note: The trace on the Cartesian graph is extracted
to the HyperStudy output file
automatically. No additional scripting is required in the
bandpassfilter.cfx_extract.lua
file.
Click OK to launch HyperStudy.
Under Define models, verify the Solver
Execution Script field is set to use the correct version.
Note:
The script is accessible under Edit > Register Solver
Script, which offers the possibility to register
another solver or version.
The argument -np can be typed in
Solver Input Arguments to specify the
number of cores to use.
Under Define Input Variables, select which variables to
include in the study. Only S1 – S3 should be activated and the default ranges
used.
An example of the selected variables is displayed.
Figure 3. Example of the variable selection
Click Next.
Click Run Definition.
Figure 4. Example selecting the Run Definition
button.
During the Write phase, the
bandpassfilter.cfx_extract.lua file was copied to the
run directory and executed after the Feko solver was run
in the Extract phase. This generated an output file that HyperStudy can process easily.
Note: The script
bandpassfilter.cfx_extract.lua is different if a
.pfs file was present before importing the
variables and will automatically extract the visible traces on a Cartesian graph and polar graph.
See Figure 5 for
the completed definition run for the Write,
Execute and Extract phases for
the initial test run done by HyperStudy.
Figure 5. Example of the completed definition run.
Click Next.
Select Add Output Response.
An output response is added with the Expression
field highlighted.
Select the Expression field.
The Expression Builder:Response1(r1) dialog is
shown.
Note: The Data Sourcesm1_ds_1 and m1_ds2 is added from
the POSTFEKO graph.
In the Expression field, enter
max(m1_ds_1) and click OK.
Under Goals click to add an optimisation goal.
The following dialog is displayed.
Figure 6. Example adding an optimisation goal.
Set the goal Type to Minimize and
click OK.
Click Evaluate to extract the value from the output
file.
Figure 7. Example selecting the Evaluate button.
HyperStudy is now configured to understand
which model to use, which variables are available for modification and how to
process the output.
Right-click on the defined study in the Explorer tab and
click Add.
Figure 8. The Add dialog and selecting an optimisation
approach.
Under Select Type, select
Optimization and click
OK.
In the Definition from:drop-down list, select Setup and click OK
The optimisation approach is created in the
Explorer tab
Figure 9. Example of the Optimisation 1 approach
created.
Click Optimization 1 > Specifications, and select the Adaptive Response Surface
Method as the optimiser.
Figure 10. Selecting the Adaptive Response Surface
Method.
Click Apply and click Next.
Figure 11. Example selecting the Apply button.
Click Evaluate Tasks.
Figure 12. Example selecting the Evaluate Tasks
button.
Each of the input variables is altered randomly, and its effect on the
response analysed.
Figure 13. Typical progress data for an ARSM optimisation.
Click Iteration History tab and look for the row
highlighted in green.