XNECVIEW(1) General Commands Manual XNECVIEW(1)
NAME
xnecview - A program for visualizing NEC2 input and output files
SYNOPSIS
xnecview [options] filename [filename....]
DESCRIPTION
Xnecview can visualize NEC2 input (structure of the antenna model) and output data files (gain as a function of direction, gain and imped-
ance as a function of frequency). Structure and gain are shown as a three-dimensional picture which can be rotated by the mouse. The pro-
gram will determine the type of data (input or output) from the files themselves.
More information and some examples can be found on the web at
http://www.cs.utwente.nl/~ptdeboer/ham/xnecview/
USAGE
On the commandline, the program expects to find one or more filenames, each containing either NEC2 structure (input) data, or output data
(impedance and radiation pattern). The program will determine the type of data from the data itself. Depending on the data found in the
file(s) specified, one or two windows are opened. Window 1 shows a 3D plot of the structure (wires etc.) of the antenna, and/or the spa-
tial distribution of the radiation. Window 2 shows a set of graphs of several quantities (SWR, gain, etc.) as a function of frequency.
Window 1
This window shows the antenna's structure and/or the gain pattern. Initially, the Z axis points up, the X axis points to lower left, and
the Y axis points to lower right (unless you changed those settings in the source code).
The view can be manipulated using the mouse as follows:
rotate move mouse while holding left button depressed (additionally, keep CTRL depressed to drag only a partial picture for higher speed)
zoom move mouse up/down while holding middle button depressed (additionally, keep CTRL depressed to drag only a partial picture for
higher speed); alternatively, click left mouse button for zooming in or click right mouse button for zooming out.
move picture
move mouse while holding right button depressed (additionally, keep CTRL depressed to drag only a partial picture for higher speed)
go back to original view
click middle mouse button
The view can also be rotated using the arrow keys. The keys PageUp and PageDown select a different frequency, if radiation data is avail-
able at more than one frequency.
The top of the window contains a set of buttons and other indicators; from left to right these are:
quit to stop the program; keyboard shortcut: Q
reload to reload the files; keyboard shortcuts: R and .
export for saving the picture as an (encapsulated) PostScript or a PNG file.
none/struct/+tags/currents/animation
toggles displaying of antenna structure on and off; in '+tags' mode, segment tag numbers are displayed too (which can be helpful
when trying to modify an antenna structure). For display of currents and animations, see below.
none/slice/frame/opaque/near
toggles display of gain pattern: either none is shown, or only slices in the coordinate planes, or the entire 3D structure (of
course subject to the availability of data in NEC's output file, and thus ultimately to the RP cards used in the input file). The
3D structure can either be shown as a wire mesh (i.e., transparent), or as an opaque surface (i.e., with hidden lines removed); the
latter usually gives a clearer picture, but is often somewhat slower, and is not available if the NEC output data do not cover a
theta range from 0 to 90 or 180 degrees, and a phi range from 0 to between 270 and 360 degrees; note that the gain surface is only
opaque w.r.t. itself, not to other elements of the picture such as the antenna structure. For display of near fields, see under
'animation' below.
lin.P/lin.V/arrl/log
toggles gain scaling (linear in power, linear in voltage, ARRL-style, or logarithmic with -40 dB at the center).
total/hor./vert./lhcp/rhcp/colour
determines the handling of radiation's polarization: whether the gain shown is according to the total power regardless of polariza-
tion, or only the horizontal/vertical/left-hand circular/right-hand circular component. Choosing "colour" also shows the total
power, but uses colour to show whether the radiation is mostly linearly polarized, or lhcp or rhcp. This setting also influences
the gain-vs-frequency plots in window 2, and the currents display in window 1 (see below).
X, Y and Z
rotate view to viewing along X, Y or Z axis respectively. A gain scale will appear, with lines at several gain levels. All of
these gains are with respect to the maximum gain in the entire set of output data.
Though xnecview should be quite liberal in accepting output data from NEC, you might want to start out by using this line (card) in your
input:
RP 0, 37, 72, 1000, 0, 0, 5, 5
This will instruct NEC to calculate the gain at 5 degree intervals.
Window 2:
This window contains plots of several quantities as a function of frequency, if the NEC output file contains data for several frequencies.
The following quantities can be plotted:
SWR
real and imaginary part of the input impedance
phase and magnitude of the input impedance
If the antenna has multiple sources, SWR and impedance are only plotted for whichever source's data appears first in the output
file.
maximum gain and corresponding front/back ratio
The gain as plotted is the maximum gain observed over the entire radiation pattern; this may not be the direction in which the
antenna was supposed to radiate! The front/back ratio is just the ratio of the maximum observed gain to the gain in the exactly
opposite direction; again, this may not be the front/back ratio you're interested in, e.g. if the main lobe is elevated so the
'back' direction points into the ground.
If a specific polarization (rather than total power) has been chosen (by command-line option or by the button in the top row of win-
dow 1), this also influences the graph. Two gain lines then appear: a solid line showing the gain in the selected polarization, and
a dashed line showing the total gain (for comparison). Also, two f/b lines appear: for both, the front power is only the selected
polarization component, while the back power is also the selected polarization (solid line), or the total power (dashed line).
direction (phi and theta) of maximum gain
vgain and corresponding front/back ratio
This is the gain in the direction towards viewer (as set by rotating the picture in window 1) and the corresponding front/back
ratio.
The row of buttons at the top have the following functions:
quit to stop the program; keyboard shortcut: Q
reload to reload the files; keyboard shortcuts: R and .
export for saving the picture as an (encapsulated) PostScript or a PNG file.
Z0=... for setting the reference impedance for SWR calculations; furthermore, the impedance plots are limited to 20*Z0.
maxgain, vgain, SWR, Re/Im, phi/abs, and dir
for toggling the display of the graphs.
Finally, if radiation pattern data is available, a vertical line over the entire height of the window shows the frequency at which the
radiation pattern is being shown in the other window. With a mouse click or drag, or the keys PageUp, PageDown and arrow keys, another fre-
quency can be chosen.
Display of current distribution:
Window 1 can also be used to display the distribution of the current flowing in the antenna wires, if this information is available in the
NEC output file(s); by default, it is, but it may be switched off by a 'PT' card in the NEC input. This display is enabled by selecting
'currents' in the none/struct/+tags/currents menu. Then the thickness of each wire segment indicates the magnitude of the current flowing
there, while the colour indicates its phase. At the bottom of the window a few extra controls appear: two sliders for changing the colours
and scaling the thicknesses, and some buttons which are discussed below.
Contrary to what might be expected, the magnitude and phase of the current as plotted are not necessarily directly the values present in
the NEC output file. Taking that data directly would typically not result in a meaningful display, since there is a 180 degree phase ambi-
guity: if the endpoints of a wire are exchanged, then the 'positive direction' in that wire is reversed, so the phase calculated by NEC
changes by 180 degrees even though the antenna and its properties don't change. Therefore, it is preferable to project the current in each
segment onto some reference direction, e.g., horizontal. The result of this is a measure for the contribution of that segment to the hori-
zontally polarized radiation of the antenna. The polarization actually used, is the one selected by the polarization button in the top
row; choosing "total" there (default), switches the projection operation off, so 'raw' phases and magnitudes are used. If left-hand or
right-hand circular polarization is selected, the projection is also not performed, but every current gets an extra phase shift propor-
tional to the angle its projection perpendicular to the viewing direction makes with horizontal.
Actually, the phase displayed as discussed above is still not very interesting. Consider the following: if one segment is further away
from the target to which the antenna is supposed to radiate than another segment, then the radiation from the former segment will incur a
larger delay before reaching the target than the radiation from the latter segment. Effectively, this introduces another phase-shift,
whose value depends on the position of the segments in space. Xnecview can compensate for this effect, by calculating this additional
phase-shift in the direction toward the viewer (i.e., perpendicular to the screen); this option can be switched on and off by the first
button on the bottom row.
The second button locks the direction used in the phase-shift calculation; its use can best be explained by an example. Consider a yagi
antenna which is aimed along the X axis. Then in order to get the correct phase-shift, one needs to rotate the picture such that the X
axis points to the viewer. Unfortunately, in that orientation all elements are behind each other, so it is impossible to distinguish them
in order to compare their colours. This problem is resolved by pressing the 'lock' button to lock the phase-shift calculation and then
rotating the antenna to an orientation in which the elements are distinguishable.
Animated display of currents, charges and near fields:
Antennas as modeled by NEC are driven by a source (or more than one) which applies a voltage or current to the antenna, varying sinu-
soidally in time. Consequently, the currents in the antenna wires, the charges on the wires, and also the electric and magnetic field in
the surrounding space, vary sinusoidally in time too, at the same frequency as the driving force, but possibly with a different phase. The
display of the currents as described in the previous section represents these time-varying currents by their amplitude (thickness in the
picture) and phase w.r.t. the source (colour in the picture).
For some purposes, this is not very intuitive. Therefore, xnecview can also show the currents (and charges and field strengths) exactly as
they vary in time: an animation. Basically, the process which in reality happens at a frequency of thousands or more cycles per second is
slowed down to a frequency of about 1 cycle per second, and at that speed the currents and charges are displayed.
The animated display of currents and charges is enabled by selecting 'animation' from the none/struct/+tags/currents/animation menu. Then
each segment of each wire is replaced by a short blue line, one end of which is at the center of the wire, while the other end indicates
the direction and (relative) magnitude of the current. Furthermore, around each segment a square is drawn. This square represents the
charge built up on that segment. The size of the square is proportional to the magnitude of the charge, while the colour shows the sign:
cyan for positive charge, magenta for negative.
The animated display of the electric and magnetic field near the antenna is chosen by selecting 'near' from the none/slice/frame/near menu.
Then at every point for which near field data is found in the NEC output file, three coloured lines (vectors) are drawn. A red one indi-
cates the direction and (relative) magnitude of the electric field, and a green one indicates the direction and (relative) magnitude of the
magnetic field. From the electric and magnetic field vectors, the so-called Poynting vector is calculated, and displayed in yellow. This
vector can be interpreted as the flow of energy; see a textbook on electromagnetic theory for details.
When either or both of the animated displays is selected, an additional set of controls appears at the bottom of the window. The left four
of these are sliders to control the scaling of (from left to right) currents, charges, electric and magnetic field strength. To the right
of these, an on/off control labelled 'P' is shown, which controls whether or not the Poynting vectors are drawn. The rightmost slider con-
trols the speed of the animation: if your computer is fast enough, the number at the slider is the number of animated cycles per second.
By setting this slider to 0, or hitting the 'z' key, the animation can be frozen. Then the phase can be changed back and forth by typing
'<' and '>' on the keyboard.
Obviously, xnecview can only show currents, charges and near fields if such information is available in the NEC output file being visual-
ized. As discussed earlier in this manual, the inclusion of currents is controlled by the PT card in the NEC input. The inclusion of
charge information is controlled by the PQ card, and the calculation of near electric and magnetic fields is controlled by NE and NH cards,
respectively. Examples are:
PQ 0, 0
NE 0, 1,20,20, 0,0.05,0.05, 0,0.05,0.05
NH 0, 1,20,20, 0,0.05,0.05, 0,0.05,0.05
These instruct NEC to include the charge information, and to calculate the near fields at 20 x 20 points in a grid with stepsize 0.05, in
the Y-Z-plane. For more information see NEC documentation.
COMMAND-LINE OPTIONS
In normal usage of xnecview, command-line options (other than the names of the files to be displayed) are rarely needed. However, they can
be useful to bring xnecview quickly in the desired state, or to use xnecview for non-interactive, automated generation of plots.
Command-line options can not only be given on the command line with which xnecview is started, but they can also be embedded as a CM card
(line) in the NEC input file to be read. In order for the content of a CM card to be recognized as xnecview options, the CM card should
contain the word xnecview: (including the colon) before those options.
The following options are available:
-h, --help
show usage information
--struct
set structure view to 'struct'
--tags set structure view to 'struct+tags'
--currents
set structure view to 'currents'
--animation
set structure view to 'animation'
--slice
set radiation view to 'slice'
--frame
set radiation view to 'frame'
--opaque
set radiation view to 'opaque'
--near set radiation view to 'near field'
--linpower
set radiation scale linear in power
--linvoltage
set radiation scale linear in voltage
--arrl set radiation scale to ARRL style
--log set radiation scale to logarithmic
--pol=x
choose polarization; x may be total, hor, vert, lhcp, rhcp or colour .
--qscale num
set charges scale (animation)
--iscale num
set currents scale (animation)
--escale num
set electric field scale
--hscale num
set magnetic field scale
--hidepoynting
hide Poynting vector in near field display
--afreq num
set animation frequency (Hz)
--aphase num
set animation phase (degrees)
--aupdate num
set animation update interval (milliseconds). Default is 100, but on a slow computer and/or with a large data set it may be useful
to set the update interval higher. Conversely, on a fast computer and with a simple data set, a smaller setting provides smoother
movement.
--freq num
set frequency (MHz)
--z0 num
set reference impedance (ohm)
--expeps filename
no X11 display, just export picture to .eps-file
--exppng
no X11 display, just export picture to .png-file (only available if linked against the libpng library)
--view phi,theta,zoom,trx,try
set viewing direction and zoom
Note: typing 'v' in window 1 writes the current values for all of these settings to the standard output.
AUTHOR
Pieter-Tjerk de Boer; Internet e-mail: pa3fwm@amsat.org, amateur packet-radio: PA3FWM @ PI8DAZ.#TWE.NLD.EU.
XNECVIEW(1)