
SuperNEC
GUI Input User Reference
Manual
Version 2.7
Document
Status: Release
A1.Table of Contents
1.3 Setting the model frequency
1.4 Adding an assembly to the model
1.5 Adding a primitive to the model
1.5.4 Adding
loads to segments
1.5.5 Adding
dielectric sheath to wire segments
1.5.6 Changing
the wire conductivity of segments
1.5.7 Adding
sources to the structure
1.5.8 Adding
a transmission line to the structure
1.5.9 Adding
a two-port network to the structure
1.6 Adding a ground to the model
1.7 Removing the ground from the model
1.8 Manipulating the structure in the
editor
1.8.1 Selecting
elements of the structure
1.8.3 Selecting
the entire structure
1.8.4 Selecting
more or less of the structure
1.8.5.1 Connecting or moving
network ports
1.8.5.2 Removing loads and
sources from segments
1.8.6 Deleting
parts of the structure
1.8.7 Reflecting
the structure
1.8.9 Translating
the structure
1.8.10 Assigning
segments for coupling calculation
1.8.11 Removing
segments from the coupling calculation.
1.9.1 Setting
the simulation frequencies
1.9.3 Setting
the interaction range
1.9.4 Requesting
currents and charges
1.9.5 Setting
the UTD interactions
1.9.5.1 The plate-plate
interactions
1.9.5.2 The cylinder-cylinder
interactions
1.9.5.3 The plate-cylinder
interactions
1.9.6 Defining
an external excitation
1.9.6.2 Hertzian dipole
excitation
1.9.7 Requesting
near field plots
1.9.8 Requesting
radiation patterns
1.9.8.1 Space-wave request
(assuming voltage sources applied to the structure)
1.9.8.2 Space-wave request
(assuming external excitation of the structure)
1.11.2 Segment
length to radius ratio
1.11.3 Segment
length and radius at junctions
1.11.5 Segment
length to radius ratio at junctions
1.11.6 Wire
spacing guidelines
1.11.7 The
SuperNEC checking facility
1.11.7.1 Checking the structure
integrity
1.12 Writing your own assemblies
1.12.1 Writing
the assembly code
1.13 Editing the interface of an existing
assembly
1.14 Running SuperNEC from the Matlab
command line
1.14.1 Command-line
structure editor commands
1.15 Representing SuperNEC structures in
the m-file language
1.15.1 Representing
an assembly in the m-file language
1.15.2 Representing
a segment in the m-file language
1.15.3 Representing
a load in the m-file language
1.15.4 Representing
an excitation in the m-file language
1.15.5 Representing
a plate in the m-file language
1.15.6 Representing
a cylinder in the m-file language
1.15.7 Representing
a transmission line in the m-file language
1.15.8 Representing
a two-port network in the m-file language
1.15.9 Representing
a ground in the m-file language
1.15.10 Setting
the simulation settings in the m-file language
1.16.2 Two
non-computer generated structure assemblies (snecfile and snsigfile)
1.16.2.1 The snecfile assembly
(snecfile)
1.16.2.2 The snsigfile assembly
(snsigfile)
1.16.3 The
bowtie assembly (snbowtie)
1.16.4 The bent
folded monopole (snbentfoldedmonopole)
1.16.5 The
coniclogspiral (snconiclogspiral)
1.16.6 The
dipole with corner reflector assembly (sncorner)
1.16.7 The
dipole array with corner reflector assembly (sncornerarray)
1.16.8 The
dipole assembly (sndipole)
1.16.9 The
discone antenna (sndiscone)
1.16.10 The
folded dipole assembly (snfdipole)
1.16.11 The
Yagi antenna with folded dipole feed (snfdyagi)
1.16.12 The
helix antenna (snhelix)
1.16.13 The
Horn Antenna (snhorn)
1.16.14 The
circular loop antenna (snloop)
1.16.15 The
log periodic dipole antenna (snlpda)
1.16.16 The
log periodic monopole antenna (snlpmagnd)
1.16.17 The
monopole antenna (snmonopole)
1.16.18 The
patch antenna (snpatch)
1.16.19 The
patch antenna with L-feed capacitive feed (snpatchLfeed)
1.16.20 The
quadrifilar helix antenna (snquadhelix)
1.16.21 The
quad patch antenna (snquadpatch)
1.16.22 The
rectangular loop antenna (snrecloop)
1.16.23 The
wire conic antenna (snwireconic)
1.16.24 The
Yagi antenna (snyagi)
1.16.25 The
UTD disk structure (UTDdisk)
1.16.26 The
UTD Poly (UTDpoly)
1.16.27 The
UTD rectangular pipe structure (UTDrectpipe)
1.16.28 The
UTD triangle structure (UTDtriangle)
1.16.29 The
box structure (snbox)
1.16.30 The
cone structure (sncone)
1.16.31 The
cylinder structure (sncylinder)
1.16.32 The
ellipse structure (snellipse)
1.16.33 The
extrusion structure (snextrusion)
1.16.34 The
flanged cylinder (snflangedcylinder)
1.16.35 The
mast structure (snmast)
1.16.36 The
parabolic dish structure (snpardish)
1.16.37 The
plate structure (snplate)
1.16.38 The
rectangular pipe structure assembly
1.16.39 The
semi-cylinder structure (snsemicylinder)
1.16.40 The
staged cylinder assembly (snstagedcylinder)
1.16.41 The
sphere structure (snsphere)
1.16.42 The
wire structure (snwire)
1.16.43 The
multiple wires structure (snwires)
1.17 Some Modelling suggestions
1.17.1 Simulation
frequency limitations of a wire-grid model
1.17.3 Modelling
a monopole on a symmetry plane
1.17.4 Checking
the average radiated power of a structure
1.17.5 Modelling
lossy surfaces
The SuperNEC input user interface is launched by selecting the SuperNEC program from the Windows Start menu. The SuperNEC input interface is shown in Figure 1.

Figure 1 : The SuperNEC input interface.
The structure that one wishes to simulate is built up using primitives and assemblies. Primitives are the basic building blocks of all structures in SuperNEC and assemblies are high-level collections of primitives. Assemblies offer a fast and convenient method for specifying parts of a structure. If you are not running the run-time version of the code, then provision is made for you to write and execute your own assemblies. The primitives currently supported by SuperNEC include :
1. Segments : These are short pieces of wire which may be joined end to end to create structures and model surfaces.
2. UTD Plates : This is flat, multi-faceted, dielectric-covered plate. These plates are treated in a simulation using the Uniform Theory of Diffraction. This is a high-frequency technique for analysing the electromagnetic response of structures. It is only valid when the dimensions of the plate are larger than the wavelength of simulation.
3. UTD Cylinders : This is an elliptical cylinder whose ends may be cut off so as to form an arbitrary angle with respect to the x-z plane. The cylinder is also analysed using the UTD and hence must be large with respect to the wavelength of simulation.
4. Loads : There are five types of lumped element loads and a dielectric sheath that maybe attached to wire segments. Loads may not be attached to UTD primitives. Four of the six loads are combinations of RLC networks. The fifth load is frequency independent lumped impedance defined in terms of its resistance and reactance. The sixth load is a dielectric wire sheath defined by its conductivity, relative permittivity and thickness in metres.
5. Sources : There are two types of applied voltage sources that maybe attached to segments (not UTD primitives). The voltage sources are the applied field voltage source (AFVS) and the current slope discontinuity voltage source (CSDVS).
6. Transmission Lines : Single segments form the ports of the transmission lines.
7. Two-port networks : Similar to transmission lines, except they are defined in terms of their y-parameters.
There are a large number of assemblies built into the SuperNEC package. The list of supported assemblies is continuously growing and it therefore not possible to give an exhaustive list of all available assemblies. To give you an idea of what an assembly is, here are a few examples :
· Box : This is a closed rectangular box that is constructed using segments.
· Cylinder : A cylinder modelled by segments. This cylinder does not suffer from the limitations imposed on the UTD cylinder in that it does not have to be large with respect to the simulation wavelength.
· Helix : A helical structure made from segments and excited using an applied field voltage source.
· LPDA : A log-periodic dipole array antenna complete with crossed transmission lines and applied excitation.
One important distinction between primitives and assemblies, is that assemblies are frequency-dependent structures. Thus the model of a 1m by 1m by 1m box generated at 100 MHz will look very different to one generated at 300 MHz. The latter model will have many more segments. The interface allows one to define a structure using only assemblies at one frequency and then to change the model frequency, thereby generating a model of the same structure but valid at a different frequency. See section 1.3 for the limitations regarding the frequency independence of the models.
As mentioned earlier, if you have Matlab, you can write your own assemblies to define your own structures using the Matlab m-file language. For example, you may be doing an investigation into antenna placement on aircraft at different frequencies. In this case it could be very useful to write an assembly that generates the aircraft body, so that all you have to do is add the relevant antennas to the structure and simulate to find their electromagnetic response.
The following sections will go systematically through all the features of the interface. First, some of the basics.
The editor offers full zoom and pan facilities. These features are very useful when you have difficulty selecting sections of the structure.
To zoom :
1. Ensure that the zoom toggle button is depressed (or that the View | Zoom menu item is checked).
2. Hold the <shift> key on the keyboard down.
3. Place the mouse pointer anywhere in the window but not in the frame box holding the editor buttons or such that you select an item in the structure.
4. Push the left mouse button and move the mouse forward (towards its tail) to zoom in and the opposite direction to zoom out.
To pan the view :
1. Ensure that the zoom toggle button is depressed (or that the View | Zoom menu item is checked).
2. Place the mouse pointer anywhere in the window but not in the frame box holding the editor buttons or such that you select an item in the structure.
3. Push the right mouse button and move the mouse (you can also hold the <control> key on the keyboard down and push the left mouse button to get the same effect).
Points to note :
· If you have zoomed in so far that it is impossible to put the mouse pointer in the figure window without positioning it over some element of the structure, then use the View | Reset menu item to reset the view.
· If the depiction of the ground plane inhibits your ability to zoom, then uncheck the View | Ground menu item to hide the ground.
SuperNEC offers the ability to undo modifications made to the structure. If it is decided that the undo itself was a mistake, then the modification can be repeated. The undo command can be invoked by using the menu item Edit | Undo or by pushing the <Control> and Z keys simultaneously.
The redo command is executed from either the menu Edit | Redo or by pushing the <Control> and Y keys simultaneously.
If the structure is very large (has many components) then the undo and redo commands could take some time to execute.
The model frequency is the highest frequency for which you would like your model to be valid. The model frequency must not be confused with the frequency at which you wish to simulate the structure. The simulation frequencies are generally a number of frequencies that are less than or equal to the model frequency. The simulation frequency is set via the Edit | Simulation Settings menu item.
The model frequency is set by changing the text in the edit box opposite the text ‘Model Freq:’. The frequency is entered in the units of MHz. Enter a new frequency, push the tab key on your keyboard and then press the ‘Set’ button to the left of the edit box. Any assemblies that you have in the model will be re-segmented at the new model frequency.
The effect of model frequency on an assembly can be seen by performing the following steps :
1. Set the model frequency to 300 MHz (the default setting).
2. Add an LPDA to the model (Add | Assembly | Antennas | snlpda).
3. If the menu item View | Segment Ends is not ticked, then select that menu item. This results in markers being displayed at the end of each segment so that one can identify the individual segments.
4. Set the model frequency to 100 MHz.
5. Notice that the LPDA is now modelled using considerably fewer segments.
Note : Any changes that you have made to an assembly prior to changing the frequency are lost when you change the model frequency. For example, if you added an extra source to one of the segments and you then changed the model frequency, you lose the source.
Adding an assembly to the model is achieved via the Add | Assembly menu. The assemblies are organised under various sub-menus. Select the assembly you wish to add and a dialog box, similar to Figure 2, will appear.

Figure 2 : An example of an assembly dialog box
The top section of the assembly dialog box is common to all assemblies (with two exceptions, those being the snecfile and snsigfile assemblies).
The location vector is used to define the position of the assembly with respect to its default location. The default location varies from assembly to assembly and is tabulated in Table 4 and Table 5 in section 1.16.
The orientation vector defines the amount by which the assembly should be rotated about each of the three Cartesian axis (of the reference coordinate system). The first entry defines the rotation about the x-axis, the second entry refers to rotation about the y-axis and the third entry refers to rotation about the z-axis. The order of the rotation is x, y and then the z-axis. The orientation is done before the translation. Obviously the result of the orientation and translation will depend on the default position and orientation of the assembly. A summary of the default assembly positions is found in Table 4 and Table 5.
The segment length field is used to define the length of the segments to be used when generating the structure. The value is given in wavelengths and its default value is 0.1.
The frequency scaling field is used to under or over segment the structure. The frequency at which the assembly is segmented is the value of this parameter multiplied by the model frequency.
The section of the dialog box between the OK and Cancel button is a region where some help with the assembly parameters is printed. To get help on a specific field, place the mouse pointer over the item. The text between the two buttons will change according to your selection.
Fill in the parameters as required for your application and push OK. The segmented assembly will appear in the structure editor window.
For a more complete description of the assemblies available in SuperNEC see section 1.16.
If you have Matlab (and you are not running the run-time version of the code), you can write your own assemblies using the Matlab m-file language. See section 1.12 for more information in this regard.
The following primitives can be added to a model: segments, plates, cylinders, loads, two-port networks and transmission lines. The physical dimensions of primitives are not affected by the model frequency. For example, the length of a segment is not affected when the model frequency is changed.
Invoking the Add | Primitive | Segment menu item results in the following dialog box appearing :

Figure 3 : The segment dialog box
The first section of the dialog box is used to enter the segment coordinates (in meters), radius (in meters) and conductivity (in Siemens per meter).
The second section of the dialog box is used to specify whether or not the segment is to be excited. There are two types of applied excitation supported by SuperNEC, namely, the applied field voltage source (AFVS) and the current slope discontinuity voltage source (CSDVS). See the MOM-UTD Hybrid User Reference Manual for details concerning these source types. A segment may contain multiple excitations in which case they act in series.
Lumped loads and a wire sheath may be specified for the segment. The load types include: series RLC network (resistance, inductance, capacitance), series RLC network in per meter quantities (of segment length), parallel RLC network, parallel RLC network in per meter quantities, a lumped impedance (resistance and reactance) and a wire sheath (conductivity, relative permittivity and thickness in metres). The load type is chosen from the combo-box and the values (of R, L and C or Conductivity, Relative Permittivity and Thickness for a wire sheath) are entered in the edit boxes. Multiple loads applied to a segment are connected in series.
The tick box labelled “Compute Coupling” should be ticked if the coupling between this segment and other segments is required.
Invoking Add | Primitive | UTD Plate will result in the following dialog box being displayed:

Figure 4 : The UTD plate dialog box.
SuperNEC allows multi-faceted, flat UTD plates to be defined. The plates may contain multiple layers of dielectric defined in terms of their thickness, conductivity, permeability and permittivity. It is also possible to define which edges of the plate are to be used in the diffraction calculations. For example, one could define a square plate with only two ‘active’ edges. Any ray incident on these ‘active’ edges will be diffracted. Rays incident on ‘inactive’ edges will not be diffracted.
The physical dimensions of the plate are defined by giving the (x, y, z) coordinates of each of the corners of the plate. This is illustrated in Figure 5, where the coordinates of the vertices for a plate centred at (0, 0, 0) and whose side lengths are 1m, are defined. The column of numbers under the title ‘Active’ is used to define whether or not the edge is to be used in the diffraction calculation. The first entry in the ‘Active’ column corresponds to the setting applied to edge number 1 which is defined to extend from corner 1 to corner 2. Similarly, the second entry applies to edge 2 of the plate which extends from corner 2 to corner 3. In the example below, edges 1, 2 and 4 are set active, whilst edge 3 is set inactive.

Figure 5 : Defining the vertices for a 1m by 1m plate centred at the origin
Figure 6 shows the plate that is generated from the above settings. Note that three of the edges are coloured dark red and one of them is coloured grey. The grey coloured edges are those edges from which diffraction will not be computed.

Figure 6 : Illustrating a plate with one non-diffracting edge
There is an easier way of defining the coordinates of a rectangular plate. This is achieved by entering the length of two adjacent edges of the plate and its centre point in the top section of the plate edit box. One can then push the ‘Generate Vertices’ button to automatically compute the coordinates of the vertices. This process is illustrated in Figure 7. The plate dimensions are the same as before, only now the vertices have been generated using the ‘Generate Vertices’ button. The drop-down menu items with ‘x-length’ and ‘y-length’ currently displayed can be changed, if one wishes, to generate a plate in another plane.

Figure 7 : Generating the plate vertices by specifying the length of the sides and centre of the plate.
Dielectric layers can be added to the plate by entering the thickness, conductivity, relative permeability and relative permittivity in the lower section of the dialog box. Figure 8 shows the entry of a plate that has two dielectric layers each 0.01m thick. The conductivity of each layer is set to 1000 and 2000 S/m respectively. The relative permeability and permittivity of the two layers are set to m0 = 1, e0 = 4 and m0 = 2, e0 = 1.

Figure 8 : Defining a plate with two dielectric layers.
It is also possible to define a dielectric slab of material (without a metal backing plate). This is achieved by ticking the ‘Transparent’ check box. Obviously, in this case, it is mandatory to have at least one defined dielectric layer.
Cylinders that are treated using the UTD theory may be added to the structure by selecting the menu item Add | Primitive | UTD Cylinder. The cylinder entry dialog box is displayed in Figure 9.

Figure 9 : The cylinder entry dialog box.
The default location and orientation of the cylinder is such that the middle of the cylinder is centred at the origin and it extends along the z-axis. The location (in meters) and the orientation (in degrees) can be set using the first two edit boxes.
The orientation is specified in terms of rotation about the x, y and z axes (in that order). When positioning the cylinder, the orientation is performed and then the cylinder is translated.
The length of the cylinder is defined from the centre of the top of the cylinder to the centre of the bottom of the cylinder. This definition is important to consider when defining a cylinder whose ends have elevations not equal to 0°. The elevation of the cylinder end is defined as the angle the top (or bottom) edge of the cylinder makes with the x-axis when the cylinder is viewed looking down the y-axis and it is in its default position. Figure 10 shows a cylinder whose top and bottom elevations are defined to be 45°. Note that parts of the cylinder extend beyond z = 0.5 m and z = -0.5 m even though the length of the cylinder is defined to be 1 m.
The cylinder may be defined to be elliptical in cross-section by specifying different x and y radii.

Figure 10 : A cylinder in its default location with ends cut at an angle of 45°.
The check boxes labelled ‘Top Active’ and ‘Bottom Active’ are used to specify whether or not diffraction off the end caps should be taken into account in the simulation.
Lumped RLC (resistance, inductance, capacitance) networks, a lumped, frequency independent impedance and a wire sheath can be applied to any wire segment in the structure. They cannot be applied to UTD plates or cylinders.
To add a load to a wire segment :
1. Select the segment(s) to be loaded using the mouse.
2. Select the Add | Primitive | Load menu item. This will bring up a dialog box as shown in Figure 11.
3. Select the type of load required and supply the values of RLC (or impedance or conductivity, relative permittivity and thickness).
4. Push the OK button to add the load.

Figure 11 : The load dialog box.
If you wish to change the load on a specific segment, then you can double-click on the segment to be loaded with the “Group level” set to low. This will bring up the segment edit box from which the segment loading can be adjusted.
There are 6 different loads that can be added to a segment :
· Series RLC network
· Series RLC network in per meter quantities. In other words, the values of the resistance, inductance and capacitance are entered as W/m, H/m and C/m respectively.
· Parallel RLC network.
· Parallel RLC network in per meter quantities.
· Lumped impedance (resistance + reactance). This is a frequency independent load.
· Wire sheath (conductivity, relative permittivity and thickness in metres)
Loaded elements can be identified in the structure by the black marking in the centre of the segment. Figure 12 shows a wire with 6 segments. The top and bottom segments are loaded.

Figure 12 : Illustrating a loaded structure.
There are 2 ways in which a dielectric wire sheath can be added to a wire segment. They are:
· By adding segments as outlined in section 1.5.1 and selecting the load type to be a wire sheath.
· By adding loads to segments as outlined in section 1.5.4 and selecting the load type to be a wire sheath.
In each case the conductivity, relative permittivity and thickness of the wire sheath need to be input in the edit box.
Wire conductivity is not a primitive, however, the topic is raised here because, in NEC-2, the wire conductivity was set by adding a load card to the card deck.
The conductivity of a segment can be set by editing the segment and filling in the conductivity edit box (see Figure 3).
An alternative method is to select all those segments (see section 1.8.1 for details on how to select entities) whose conductivity needs to be set and use the menu item Edit | Wire Conductivity to set the conductivity. Wires whose conductivity is not infinite (Inf in Matlab terms) are coloured light blue when unselected as illustrated in Figure 13.

Figure 13 : Illustrating wires whose conductivity is finite.
SuperNEC supports two types of applied sources, namely, the applied field voltage source and the current slope discontinuity voltage source.
To add a source to the structure :
1. Select the feed segment(s) of the structure using the mouse.
2. Select the menu item Add | Primitive | Source. This will result in the dialog box as shown in Figure 14 being displayed.
3. Select the type of source and specify the voltage.
4. Push the OK button.

Figure 14 : Applying a source to the structure.
If you wish to change the excitation for a specific segment, then you can double-click on the segment to be loaded with the “Group level” set to low. This will bring up the segment edit box from which the segment excitation can be adjusted.
Sources are displayed on the structure as yellow cylindrical protrusions as shown in Figure 15. Unselected segments that have sources are coloured yellow. When selected, the segment is coloured red.

Figure 15 : A source applied to the middle segment of a wire.
Transmission lines may be defined to exist between selected segments. To add a transmission line between two segments :
1. Select the two segments that will form the port connections for the transmission line. See section 1.8.1 for information on selecting multiple segments. The first (second) selected segment will be connected to port 1 (port 2) of the transmission line.
2. Select the menu item Add | Primitive | Network | Transmission Line. The dialog box as shown in Figure 16 will appear.
3. Set the parameters of the transmission line.
4. Push the OK button. You will be asked how the segments are to be linked using the dialog as shown in Figure 17. Select the ‘Pairs’ option.
5. The transmission line will appear between the two selected segments as a dark-green symbol as shown in Figure 18.

Figure 16 : The transmission line dialog box.
The edit boxes in the transmission line dialog box allow one to set the characteristic impedance and the admittance of the load connected across each of the ports. When the first check box in the dialog box is ticked, the length of the transmission line is set to the straight line distance between the segments to which the transmission line is connected. If this box is un-ticked, then the user is allowed to specify the length of the line in meters. One can specify a 180° phase shift in the voltage between the two ports by ticking the check box labelled ‘Cross transmission line’.

Figure 17 : Asking how the segments should be linked by the transmission line.
If there are many segments that you wish to connect using transmission lines with the same characteristics, then you can add the transmission lines by selecting all the segments to be connected. After you have specified the transmission line characteristics (using the dialog in Figure 16) and pushed the OK button, the dialog as shown in Figure 17 will appear. If you select the ‘Pairs’ option, then a transmission line will be used to join the segments taken two at a time. The ‘Linked’ option will result in all segments, except the first and the last, being joined together by a chain of transmission lines. This feature was used to join the segments shown in Figure 19. The ‘Circularly Linked’ option is the same as the ‘Linked’ option, except the first and last segments are linked as well.

Figure 18 : Two pairs of segments connected by transmission lines.

Figure 19 : Linking four segments using the ‘Linked’ option.

Figure 20 : Linking four segments using the ‘Circularly Linked’ option.
Two-port networks maybe used to link segments together. Adding a two-port network to the structure is done in a manner very similar to adding transmission lines. The only difference is in the specification of the two-port network parameters. The characteristics of two-port networks are entered in the dialog box shown in Figure 21.

Figure 21 : Specifying the two-port network parameters.
The Y-parameters of the network are specified, after which the OK button is pushed. The two-port network is symmetrical and hence Y12 is equal to Y21. Two-port networks are displayed as light-green symbols as shown in Figure 22.

Figure 22 : Illustrating the light-green symbols for a two-port network.
SuperNEC supports three models of a ground plane, namely, a perfect ground, a ground modelled using Fresnel reflection coefficients and a ground modelled using the Sommerfeld integrals. Ground cliffs are also supported, however, these features of the landscape are only taken into account in the far field calculations. Any one of these ground models can be added to the model. To do this :
1. Use the menu item Add | Ground. The dialog box as shown in Figure 23 will appear.

Figure 23 : The ground specification dialog box.
2. Select the ground model you wish to use from the type-radio buttons.
· If you select a finite ground (one that is modelled using Fresnel reflection coefficients) then you may choose to add a radial ground screen as well. This screen acts in parallel with the finite ground.
· You may choose to add a secondary ground or ground cliff by checking the ‘Secondary Ground’ check box (except if you choose not to have a primary ground).
3. Fill in the conductivity and permittivity of the ground (not required if you have chosen a perfect ground).
4. Press the OK button to accept the ground.
Points to note :
· The interpolate check box is used to specify whether or not currents of segments whose ends are connected to the ground are interpolated in their image.
· If the View | Ground menu item is checked, then the ground will be displayed as a large brown plate-like structure. You can disable the view of the ground by un-checking this menu item.
· The join distance parameter for the secondary ground is the distance from the origin at which you want the secondary ground to start. If the shape of the secondary ground is linear, then the primary and secondary grounds join at a line that runs parallel to the y-axis. The join distance, in this case, specifies the distance down the x-axis at which the primary and secondary grounds meet.
· The conductivity and permittivity of both primary and secondary grounds are specified in units of S/m and F/m respectively.
· The ‘Radial Wires’ characteristic of the radial ground screen is used to state how many wires are to be used in the modelling of the ground screen.
The ground can be removed from the model by selecting the menu item Edit | Remove Ground. Alternatively, if the ground is visible in the structure editor (the View | Ground menu item is checked), then one can double click on the ground and change its type to ‘None’. This effectively removes the ground from the model.
The editor provides a number of tools that can be used to manipulate the structure in the editor. These facilities include :
· Selecting all or parts of the structure. Selecting by primitive or assembly level.
· Zooming in on sections of the structure.
· Deleting parts of the structure.
· Reflecting the structure along various axes.
· Translating and rotating the structure.
· Undoing and redoing editing operations.
These operations will be discussed in the following sections.
Elements of a structure are selected by means of the mouse. The following mouse button / keyboard combinations are supported :
· Left mouse button : select the item and unselect all other items.
· Right mouse button : select the item if currently unselected, or unselect item if currently selected. Does not affect the selection status of other items in the structure.
· Left double click : edit the item.
These are the only selection modes that one requires to operate the editor. There are, however, other mouse / keyboard combinations that achieve the same effect as some of the above mouse moves, namely :
· Shift + left mouse button : Same as right mouse button.
· Control + left mouse button : Same as right mouse button.
· Right double click : Edit item if currently unselected. Unselect item if currently selected.
All of the above selection process depend on the ‘Group level’ setting.
The group level setting is related to the constituents of an assembly. On the most basic level, an assembly is made up of primitives. Provision is, however, made for defining an assembly in terms of other assemblies. The group level setting corresponds to the level at which one would like to access the assembly. Setting the group level to ‘low’ will result in the user having the ability to select the individual segments (or primitives) in the assembly. If the group level is set to ‘high’, then when the user left-clicks on a segment in the assembly, the entire assembly will be selected. Any intermediate group level setting will enable the user to select the sub-assemblies (if they exist) that make up the assembly.
An example of an assembly that has multiple levels is the LPDA. The LPDA is constructed out of wires. Wires are made up of segments (primitives). Thus the LPDA has 3 levels of access (low (1), 2 and high (3)). When the group level is set to ‘high’, then clicking on any segment will select the entire LPDA. Setting the group level to ‘2’ will enable you to access the wire assemblies (see Figure 24). The lowest group level setting gives access to the individual segments.
The group level setting applies only to selecting assemblies or primitives by clicking on segments. One can always select a transmission line or two-port network irrespective of the group level setting.
The group level settings are located at the bottom left hand side of the structure editor. The group level is adjusted by pushing the two buttons to the right of the text ‘Group Level’. The top button is used to increase the group number, whilst the bottom button is used to decrease the group level. The text box to the right of the selection buttons shows the current group level.

Figure 24 : Illustrating the selection of a wire from the LPDA assembly (group level 2).
The two buttons labelled ‘Select All’ and ‘Unselect All’ are used to select and unselect the entire structure irrespective of the group level setting. These commands can also be found under the Edit menu or accessed using the accelerator keys <Control-A> and <Control-U>.
The buttons labelled ‘M’ (more) and ‘L’ (less) are used to select more or less of the assembly. This mechanism works independently of the group level setting. To illustrate the working of the more and less button consider the LPDA shown in Figure 25. The group level is set to ‘low’ and hence a left-click will select the segments making up the assembly. In Figure 25, one segment has been selected. The ‘L’ button is disabled since one cannot select anything less than a segment without unselecting the entire assembly.

Figure 25 : A single segment selected from the LPDA.
Pushing the ‘M’ button once will result in the wire assembly being selected as shown in Figure 26. All commands such as edit, delete, reflect and so on, will act on the selected wire assembly.

Figure 26 : Selecting the wire assembly by pushing the ‘M’ button.
Pushing the ‘M’ once again will result in the entire assembly being selected. The selections can be reversed by pushing the ‘L’ button.
The ‘M’ and ‘L’ buttons only act on a single assembly. If you had two assemblies in the editor, then the ‘M’ and ‘L’ buttons will only affect the selection of the most recently left-clicked assembly.
The ‘M’ and ‘L’ buttons can also be used to unselect more or unselect less of the structure. Consider the structure shown in Figure 27, where the ‘Select All’ button was pushed and then one segment was unselected by right-clicking on the segment.

Figure 27 : Unselecting a single segment.
Pushing the ‘M’ button once will unselect the wire assembly (see Figure 28). Pushing it twice will unselect the entire structure. The ‘L’ button can be pushed to reverse the process.

Figure 28 : Unselecting more of the assembly.
There are two ways of editing components of the structure. The first is to select the component to be edited and then push the ‘Edit’ button. If more than one item is selected, then the most recently selected portion of the structure will be edited.
The second method of editing a component is to first set the group level to the level at which you wish to access the structure. Next, double-click on the item to be edited.
The LPDA in Figure 29 has one of its elements selected.

Figure 29 : An LPDA with one element selected.
Pushing the edit button or double-clicking on the element will bring up the wire dialog box (Figure 30).

Figure 30 : The wire dialog box.
The parameters of the wire can now be changed and the OK button pushed to accept the changes.
There are a number of important issues to note about editing an assembly :
· All changes to sub-assemblies or primitives of an assembly are lost when the model frequency is changed. For example, one may wish to increase the length of the element selected in Figure 29. This change is effected by changing the coordinates of the end points of the wire in Figure 30. If the model frequency were to be changed, then the length of this element will return to its original length.
· If the above change was made to the element of the LPDA and one then edited the entire LPDA, then the changes to the element would be lost.
· Any transmission lines or two-port networks connected to a sub-assembly will be disconnected from that sub-assembly when the assembly is changed. It is the users responsibility to reconnect or delete the networks (which ever is applicable). See section 1.8.5.1 for guidance in this regard. Unconnected ports are shown as dotted lines as shown in Figure 31.

Figure 31 : Illustrating two unconnected transmission line ports.
The ports of networks (transmission lines and two-port networks) can be moved (or reconnected) by :
1. Select the port of the network to be relocated.
2. Select the segment to which the port is to be connected using the right mouse button.
A dialog box as shown in Figure 32 will appear and the port and segment to be connected will be coloured light green. If the highlighted segment and port are correct, then push the ‘Yes’ button.

Figure 32 : The question dialog requesting the connection of network port to segment.
Loads and sources can be removed from the structure by :
1. Selecting those segments that need editing.
2. Use the menu items Edit | Remove Loads or Edit | Remove Sources to remove the undesired features.
It is also possible to edit the individual segments and adjust the properties from the dialog box.
Any part of the structure can be deleted. If segments that are connected to a network port are deleted and the network is not deleted, then the network remains part of the structure with unconnected ports. To delete an item from the structure :
1. Select the elements to be deleted
2. Push the ‘Delete’ button.
The entire structure or parts of the structure maybe reflected along any of the 3 principle axes (or in any of the 3 principle planes). To reflect the structure (or part thereof) :
1. Select the required elements of the structure to be reflected.
2. Push the ‘Reflect’ button.
3. Select the planes in which you want to reflect the structure.
4. Push the OK button.
Points to note :
1. When reflection along more than one axis is requested, the reflections are done in alphabetical order.
2. If the entire structure is selected and it is then reflected along one or more axes, reflective symmetry can be used in the simulation. The image sections of the structure will be displayed in grey. Figure 33 shows a Yagi-Uda antenna that has been reflected along the y and z axes. Note that the sources on each antenna have been reflected. Removing the sources does not affect the symmetry of the structure.

Figure 33 : A Yagi-Uda antenna reflected along the y and z axes.
3. Symmetry of the structure is lost if :
· Any segment or UTD based assembly or primitive is added to the structure.
· Loads are added to the structure.
4. Symmetry is retained if :
· Transmission lines or two-port networks are added to the structure.
· Applied excitations are added to the structure.
5. If segments cross the plane in which symmetry is requested then a warning is displayed and the components of the structure that are in error are highlighted in yellow. You can choose whether or not to ignore the warning.

Figure 34 : The warning delivered if reflection will result in errors in the structure.
6. If parts of the structure exist in the quadrant into which the image will be located, a warning is reported and symmetry will not be used in the simulation.

Figure 35 : The warning displayed if parts of the structure exist in the image quadrant.
The entire structure or parts of the structure can be rotated about the axes of the reference coordinate system. To rotate elements :
1. Select the parts of the structure to be rotated.
2. Push the ‘Rotate’ button.
3. Fill in the amount by which you wish to rotate the selected elements. This is entered as 3 numbers representing the rotation about each of the three axes. The rotation is performed about the axes in alphabetical order.
4. From the drop down menu, choose whether you wish to move the structure or duplicate copies of the structure displaced by the rotation vector that you have specified. If you choose to duplicate the elements, then you must fill in the edit box stating how many additional structures you require (see Figure 36).

Figure 36 : The rotate dialog box requesting a single duplication and rotation of the selected elements.
5. Push the OK button to execute the rotation.
If you have a rotationally symmetrical
structure, then you can make use of the structures symmetry by setting the
rotation vector to (0, 0, zDegree), where zDegree is the angle
between each section of the structure. You must then set the number of
duplications equal to
. For
example, setting the rotation vector to (0, 0, 90) and the number of
duplicates to 3 will result in rotational symmetry being used in the
simulation. Figure 37 shows a (red) helical antenna situated at (x, y)
= (1, 1) rotated about the z-axis using the above settings. The grey
helices are the images of the helix.

Figure 37 : Four helices constructed using rotation about the z-axis.
Points to note :
1. Symmetry of the structure is lost if :
· Any segment or UTD based assembly or primitive is added to the structure.
· Loads are added to the structure.
2. Symmetry is retained if :
· Transmission lines or two-port networks are added to the structure.
· Applied excitations are added to the structure.
The entire structure or sections of the structure may be translated by :
1. Selecting the portions of the structure to be moved.
2. Pushing the ‘Translate’ button.
3. Filling in the translate vector.
4. Selecting either ‘Move’ or ‘Duplicate’ from the drop down menu.
5. If ‘Duplicate’ is selected, then you must fill in the number of duplications.
6. Push the OK button.
Figure 39 shows a single red wire that has been duplicated 5 times by successive translation down the x axis by 0.1 m. The new wires are shown in blue. This was achieved by filling in the translate dialog box as shown in Figure 38.

Figure 38 : Duplicating the red wire 5 times.

Figure 39 : The red wire duplicated 5 times.
Points to note :
· Translation does not affect the symmetry status of the structure if the entire structure is moved (not duplicated).
Segments can be allocated for the coupling calculation by :
1. Selecting the segments whose coupling to other segments needs to be computed.
2. Choose the Add | Coupling menu option. This will tag the selected flags for the coupling calculation.
3. To view the segments that have been tagged for the coupling calculation, select the View | Coupling Segment menu item. The segments will be highlighted in a lime-green colour. Figure 40 shows four segments (that happen also to have voltage sources applied) that have been tagged for the coupling calculation.

Figure 40 : Illustrating the colour used to denote ‘tagged for coupling’.
Segments that have been allocated for the coupling calculation may be removed by :
1. Selecting the desired segments.
2. Selecting the menu item Edit | Remove Coupling.
You can confirm that the segments have been removed from the coupling list by displaying the segments tagged for the coupling calculation using the View | Coupling Segments menu item.
Once the structure has been defined in the editor, you are required to set some of the simulation settings before commencing with the simulation. These settings include :
· Specifying the frequency range of the simulation.
· Setting some internal program parameters.
· Specifying the desired output.
The dialog box used to specify these items is found under the Edit | Simulation Settings menu item. The dialog box is show in Figure 41.

Figure 41 : The simulation settings dialog box.
The top section of the dialog box (below the text ‘Summary’) describes the current settings of the simulation. The default simulation settings are as follows :
· Frequency : 299.8 MHz
· Kernel : Thin wire kernel
· Interaction range : 1 m
· Write currents and charges to output file.
· Some default UTD interactions
· No external excitations are defined
· No near field plots are requested
· No radiation patterns are requested.
The simulation settings are changed by selecting the item from the list that you wish to change using the mouse. The bottom part of the dialog will change according to your selection from the list. It is in this bottom part of the dialog that changes are made to the simulation settings. For example, if you click on the item ‘Radiation Patterns: <click here to add>’, the bottom part of the dialog changes to the radiation pattern editor. Note that selecting between the first four items in the list does not change the bottom part of the dialog.
Each simulation setting will be discussed in detail in the following sections.
The simulation frequencies are the frequencies at which the current on the structure are computed and all outputs are computed. Thus, if a range of frequencies and a radiation pattern is requested, then the structure will be simulated at each frequency and the radiation pattern will be computed at each simulation frequency.
Click on the line that reads ‘Frequency: [299.8] MHz’ in the top list box. The frequency is set in the edit box labelled ‘Frequency (MHz)’ in the bottom section of the dialog box.
There are a number of ways of defining the simulation frequencies :
1. You can list the frequencies one at a time leaving spaces or commas between each frequency. Once you have entered all the frequencies, push the <enter> or <tab> key to get the program to accept your entries. If the list of frequencies that you have entered can be condensed into a succinct Matlab array definition then the program will do so. Matlab defines arrays using the notation [start : increment : end]. For example, if you specified the frequencies 2, 4, 6, 8 and 10, then the program will convert this to the form [2:2:10]. If you appended the frequency 15 to the end of the above numbers, then Matlab will condense the list to [2:2:10,15].
2. You can enter the frequencies using the Matlab array notation.
3. You can enter a Matlab expression which, when evaluated, produces an array of numbers. For example, you could type linspace (1, 3, 10). The linspace function is a function that comes bundled with Matlab. Used in the above fashion, linspace produces an array of 10 linearly spaced points starting at 1 and ending at 3. Logarithmically spaced points can be generated using the logspace function.
4. You can use a combination of the above methods. For example, you could specify linspace (1,3,10), 15.
The kernel defines the manner in which the electromagnetic interaction between segments located closer than the interaction range (see next section) is computed. The thin wire kernel should be used for segments whose ratio of segment length to radius is greater than 8. Studies have show that the thin wire approximation leads to errors less than 1% for such segments. For thicker segments (those whose length to radius ratio is greater than 8 but less than 2), the extended thin wire kernel should be used.
The kernel is set by selecting the required radio button below the interaction range edit box.
The interaction range is the maximum distance between segments for which the thin wire kernel (or extended thin wire kernel) is used to compute the interaction between segments. The interaction between all segments further apart than this range is computed using the Hertzian dipole approximation.
The interaction range is set in the edit box below the frequency setting edit box.
The current distribution on the structure is always computed, however, it is possible to suppress the output of the currents to file by un-checking the check box opposite the text ‘Write Currents’. It is often very useful to view the current distribution on the structure and it is therefore recommended that this option only be used if disk space is at a premium. Un-check the checkbox opposite the text ‘Write Charges’ to suppress the writing of charges to the output file.
The UTD interaction panel is only of importance if you have included UTD primitives in your model. This panel enables you to specify which UTD rays to take into account in a simulation. A MoM/UTD hybrid simulation can be broken down into two stages. First, the interaction matrix is filled and the currents on the MoM structure are computed. The second stage involves the calculation of properties like near fields and radiation patterns. A facility has been provided for you to define different ray combinations for the two stages of the simulation.
Figure 42 shows some of the rays that can be taken into account when computing one element of the interaction matrix. The MoM structure, in this figure, consists of two segments and the UTD structure is a single plate. At the stage of the calculation depicted in the figure, the left-hand segment is considered to be a source segment and some point on the surface of the right-hand segment is the observation point. It is required to find the electric field tangential to the surface of the observation segment. This field value makes up an element of the interaction matrix.
The direct field is the field component that would be taken into account in a pure MoM solution. This field component is always present when filling the matrix in a MoM/UTD hybrid problem. The other three components are UTD specific interactions which can be included in the computation at the users discretion.

Figure 42 : Illustrating some of the field components taken into account when filling the matrix.
The question maybe asked, ‘Why exclude some of the UTD interactions, surely the more interactions I take into account, the more accurate the solution ?’.
The answer to this question is, yes, you will get a more accurate solution, but the more interactions you take into account, the longer the program takes to simulate the structure. Many of the UTD interactions will have very little effect on the current distribution on the MoM structure and hence it might not be necessary to include them. The importance of the various interactions will depend, first on the structure you are simulating and secondly on the electromagnetic property you are investigating.
Let us assume that you are interested in computing the radiation pattern of a monopole mounted at the centre of a one wavelength by one wavelength plate. Clearly, it is important to consider the interaction of the monopole with the plate, but which interactions should you take into account ? In this case the most important interaction is the reflection off the plate. Diffraction from the edges of the plate will change the current distribution slightly, but this change will have little noticeable effect on the radiation pattern. Double diffraction (a ray from a source point that diffracts of one edge of the plate and then off another before reaching the observation point) will have even less effect on the current distribution. In such a simulation, the only interaction that need be taken into account in the matrix-filling stage of the simulation is reflection off the plate.
The pattern calculation has a different requirement. In this calculation, the only mechanism that ensures that the simulation predicts some radiation on the underside of the plate, is diffraction. Thus it is important to include both reflection and diffraction for this calculation. Double diffraction can be included, but it has negligible effect on the pattern.
To illustrate an instance where it is important to consider diffraction in the matrix filling stage of the simulation, consider the following study that was first performed by Thiele et. al.
Thiele et. al. investigated the canonical problem of a monopole mounted on a perfectly conducting wedge as shown in Figure 43. The input impedance of the monopole was computed as the dimension ‘d’ was increased. The only mechanism that is going to affect the input impedance of the monopole is diffraction from the wedge. If diffraction was excluded form the matrix filling calculation, then the input impedance would be constant for all values of ‘d’. The results of this simulation performed by SuperNEC and the NEC-HYBRID code are compared to the published results of Thield et. al. in Figure 44 and Figure 45.

Figure 43: Monopole on a conducting wedge

Figure 44: Input resistance of a monopole on a 90° wedge. The SuperNEC results are compared with those of the NEC-HYBRID code and Thiele and Newhouse.

Figure 45: Input reactance of a monopole on a 90° wedge. The SuperNEC results are compared with those of Thiele and Newhouse.
The UTD interaction panel is shown in Figure 46.

Figure 46 : The default plate interactions for the filling stage of the simulation.
On the left-hand side of the panel are two groups of radio buttons. The first is framed with the text ‘Filling’ at the top and the second is labelled ‘Pattern’. The check boxes on the right-hand side correspond to the radio button that is selected on the left-hand side. In the above figure, the ‘Plates’ radio button is selected in the ‘Filling’ frame. Thus all check boxes that are ticked (on the right-hand side) correspond to plate interactions that are to be taken into account when filling the matrix. To see the settings for plate interactions when the patterns are computed, click on the ‘Plates’ radio button in the frame labelled ‘Pattern’.
There are three groups of interactions for both filling and pattern calculations. These groups are plates, cylinders and combined. The ‘plates’ group deals with interactions between plates and the MoM structure. The ‘cylinders’ group controls the interactions between cylinders and the MoM structure. The ‘combined’ group handles interactions between plates and cylinders and the MoM structure.
The only difference between the settings for the filling and pattern calculation lies in the ability to choose whether or not to include the direct ray in the pattern calculation. This ray is automatically included in the matrix filling calculation. The ‘direct ray’ check box is found in the ‘pattern’ frame.
The interactions between a single plate and the MoM structure and between multiple plates and the MoM structure are set using the check boxes as shown on the right-hand side of Figure 46.
The edit box labelled ‘Number of Reflections’ is used to specify how many reflections to take into account in the simulation (obviously). The default setting is three reflections. This means that all combinations of paths that involve 3 reflections from all combinations of plates will be taken into account in the simulation. For example, one ray might travel from the source point, hit plate 1, then plate 2, then back to plate 1 before reaching the observation point. If this path is possible and it is not shadowed by other plates in the structure, then this field will contribute to the total field at the observation point.
The plate interactions are divided into three groups of rays, namely, primary, secondary and tertiary rays. The primary rays are the single reflection and ground reflection paths.
If you have defined a structure that does not include any UTD primitives, but does include a ground, then the ground reflection will be included in the simulation results irrespective of the setting of the ‘Ground Reflection’ check box. The reason for this is that the UTD options are only used if the structure contains UTD primitives.
To clear up what is meant by the various combinations of rays, let us consider what is meant by a diffracted-reflected-diffracted ray. Such a ray will leave the source point, diffract off the edge of some plate, reflect off the surface of another plate, diffract off another edge (perhaps the first edge again) and finally be incident on the observation point. When computing this field component for a single source point and a single observation point, all combinations of plates and edges are considered.
Such computations can take considerable time and it is therefore important that the number of rays used in a simulation be minimised.