Automation Terminology

Learn the terminology of automation to create an automation script.

Lightweight multi-paradigm programming language designed as a scripting language. Both CADFEKO and POSTFEKO feature a scripting interface based on the Lua language.
The Feko application programming interface (API) defines the namespaces, objects, methods and functions used to access and control the Feko applications.

A handle is a variable that refers to an object. Instead of referring to the object itself, the handle is used to refer to the object.

An object is an entity within an object oriented programming language with two main characteristics: a state and a behaviour. The settings of the object are stored in its properties and its abilities are accessed through methods.
The application is either CADFEKO or POSTFEKO.
cf / pf / feko
Each application has a “namespace” that groups all objects and properties for that particular application. The CADFEKO namespace is cf and the POSTFEKO namespace is pf. This means that all objects, static functions and nested namespaces will be accessed using the application’s namespace. As an example, cf.GetApplication() calls the GetApplication() static function in the cf namespace. For functions that can be shared between the applications, a common namespace feko is also defined.
The project is the specific CADFEKO model the user is working on, for example, patch_antenna.cfx.
Note: project is specific to CADFEKO.

Each object has a type. Lua supports the following standard types: number, boolean, string, table, function, userdata and nil. Objects created in CADFEKO or POSTFEKO will usually have a type property.

A collection is a special object that contains objects of which there can be more than one. For example, there can be multiple sources, far fields, geometry parts and so on. When referencing an item in a collection, an index must always be specified, for example farfield[1] or farfield[“FarField”].

An enumerated list or enum is a set of options. In the graphical user interface these options relate to grouped options in a dropdown box or a radio button group. The user is unable to modify the list of options and must select one of the options.

Examples of enums:
  • For the Create dielectric medium dialog select either the Frequency independent, Debye relaxation, Cole-Cole, Havriliak-Negami, Djordjevic-Sarkar or the Frequency list option for the Definition method.

  • For the Create mesh dialog, select either the Fine, Standard, Coarse or Custom option for the Mesh size.

A method is a function that acts on a particular object. Methods are called using the “:” after the object to which the method belongs. For example, Cuboid:ConvertToPrimitive() returns the geometry in its primitive base form, whereas farField:Duplicate() returns a duplicate far field solution entity. Cuboid and farField are the objects and ConvertToPrimitive and Duplicate are the methods.
Note: Use “.” instead of “:” after cf.
static function
A static function is a function that is not associated with an object, as opposed to a method that works on a particular object. Static functions are called using “.”.
Note: Use “.” instead of “:” after cf.
For example, cf.Cuboid.GetDefaultProperties() is a static function that creates the properties table for a cuboid. cf.GetApplication() is a static function that returns the application object.