11  UDO scripts

UDO (User Defined Object) language gives the possibility to create arbitrary complicated parametrised objects.

There are three basic advantages of application of parameterised objects in electromagnetic design:

·       In the vast majority of applications engineers design structures, which can be composed of typical primitive objects by simple putting them in proper place or by exercising Boolean operations on them.

·       In many practical cases design engineers deal with one type of a microwave structure for a long time. Not changing the general shape, they modify its dimensions to optimise performance or to redesign the device for a different set of parameters or a different frequency band. In such a case the most convenient way to proceed is to define the investigated structure as User Defined Object or as a set of such objects with some dimensions introduced as parameters. To change one of these dimensions it will be sufficient to call the object once more and to introduce new values of the parameters - the operation which can be accomplished in seconds.

·       Parameterized UDOs open new horizons for running QW-3D in an automatic optimisation loop using QW-OptimiserPlus, the old QW-Optimiser or other external optimisers like for example those available in MATLAB TOOLKIT (see QW-OptimiserPlus: External optimisers).

The QW-3D package includes QW-ObjectGenerator (UDO Parser). QW-ObjectGenerator is essentially an interpreter for source programs provided by QWED in a form of UDO library or prepared by the user in a specially developed UDO language. These source programs are stored in files with *.udo extension. It is recommended that each *.udo file contain a description of one User Defined Object. The UDO language is simple and yet gives the user the possibility to create his own arbitrarily complicated parametric objects, best suited for his particular requirements.

It should be noted that QW-ObjectGenerator is incorporated into the QW-Editor. This means that while inserting a new object or modifying the existing one, the user introduces its parameters via a dialogue window, which automatically appears in QW-Editor. Also any User Defined Object interpreted by the QW-ObjectGenerator naturally appears in all opened windows of the QW-Editor.

 

QuickWave installation is equipped in UDO Library containing over 500 parametrised and ready to use UDO scripts grouped into categories focusing on particular applications. In the default QuickWave installation, UDO Library is located in subdirectories of the installation directory:

<INSTALLDIR>\elib

 

For creation of new User Defined Objects, the user is recommended to use UDO Editor available from Tools of QW-Editor. It simplifies UDO script creation with syntax highlighting, command prompting, error analysis etc.

 

The Add Object dialogue is used for drawing from UDO script using UDO Library.

 

When a library object is added to the project, a full path to the proper library is recorded in the project (and its *.pro file). This direction will be used byQW-Editor to re-draw the object when the user modifies the object parameters. In *.pro files included in the installation, this full path is reduced to a relative one, so that a project from <PUBLICDIR>\qw_examp on the user’s computer will look for its libraries in <INSTALLDIR>\elib of the same installation. Hence in the installed examples, first modification of their objects proceeds smoothly.

Note that upon any Save command of QW-Editor, full paths to the applied library files will be recorded again. If the user moves *.pro files between computers, having different installation directories, or if the original <INSTALLDIR>\elib is uninstalled or re-installed, QW-Editor may be unable to find the file describing the object to be modified. An appropriate error message will appear. In such a case the user can indicate the proper path to the file describing the object using Set UDO’s Paths dialogue. At the next modification of the object the software will be sweeping these paths in search for the *.udo file of the modified object.

 

The biphased elements do not enforce any mesh snapping in the DRAFT phase of QW-Editor operation. The DRAFT phase is used to set the proper distribution of mesh sublayers. Then in the FINAL phase the biphased elements are drawn in a way to fit the mesh.

 

The syntax of the UDO language is described in the Syntax of the User Defined Object (UDO) language chapter.

All UDO commands are listed in the UDO commands and functions in alphabetic order chapter.