Part 2: Correcting the model
The initial model has several problems:
Diameter measurements were entered for the wires and the values should have been radius.
The elements pass through the boom, but they should be on top of the boom.
The boom intersects the elements in the middle of a wire segment rather than at a node.
This card deck (input file) solves the first two problems is listed below. The solution to the third problem (using an even number of segments so that the boom would line up under nodes) conflicts with putting the feed point at the middle of the driven element. So for now I'm going to ignore the third problem. At a later point I will compare the results with and without the boom to see if it is significant.
CM yagi4elem_2m.nec - Geometry Control Cards for 4-element Yagi
CM v2 - corrected wire radius, number of segments, boom offset, and feedpoint
CM
CM Tag NS X1 Y1 Z1 X2 Y2 Z2 RAD
CE
GW 1 11 -0.504E+00 0.140E+00 0.00E+00 0.504E+00 0.140E+00 0.000E+00 2.5E-03
GW 2 11 -0.481E+00 0.520E+00 0.00E+00 0.481E+00 0.520E+00 0.000E+00 2.5E-03
GW 3 11 -0.453E+00 0.711E+00 0.00E+00 0.453E+00 0.711E+00 0.000E+00 2.5E-03
GW 4 11 -0.457E+00 1.091E+00 0.00E+00 0.457E+00 1.091E+00 0.000E+00 2.5E-03
GW 5 11 0.000E+00 0.000E+00 -2.5E-03 0.000E+00 1.118E+00 -2.50E-03 1.1E-02
GM 0 0 0.000E+00 0.000E+00 0.00E+00 0.000E+00 0.000E+00 1.000E+00 0.000E+00
GE 1
EX 0 2 6 00 1.000E+00 0.000E+00
FR 0 9 0 0 1.420E+02 1.000E+00
RP 0 37 36 1001 0.000E+00 0.000E+00 5.000E+00 1.000E+01 0.000E+00 0.000E+00
EN 0 0 0 0
I also changed the start frequency on the FR card to center the frequency sweep over our frequencies of interest (144-148MHz).
Run the analysis again just to make sure we haven't introduced any obvious errors:
$ ./nec_run.sh yagi4elem_2m_v2.nec
# freq. Zr Zi SWR gain f/b phi theta
142 27.397 -20.415 2.22846 8.95 10.69 90 90
143 30.236 -11.676 1.78985 9.14 11.54 90 90
144 33.907 -2.7011 1.48255 9.28 11.91 90 90
145 38.862 6.5216 1.33879 9.37 11.8 90 90
146 45.877 15.831 1.40485 9.42 11.35 90 90
147 56.259 24.55 1.60522 9.43 10.72 90 90
148 72.002 30.46 1.85232 9.41 10.03 90 90
149 94.475 27.096 2.09738 9.34 9.36 90 90
150 115.21 1.729 2.30484 9.25 8.76 90 90
$
(click image to enlarge)
(click image to enlarge)
There is nothing obviously wrong, but we can't start any real analysis until we verify the average gain and check for convergence.
Average Gain
By examining the average gain we are calculating enough points to adequately characterize the antenna. To enable the average gain calculation the 5th field of the RP card must be changed from 1000 to 1001.
For this calculation, we only need one frequency, so choose 145 MHz because it is near minimum SWR. The calculation is for antenna in free space and the average gain must be calculated over a full volume without overlapping. So the theta points must cover 180 degrees and the phi points must cover 360.
The two modified cards now look like this:
FR 0 1 0 0 1.450E+02 1.000E+00
RP 0 37 36 1001 0.000E+00 0.000E+00 5.000E+00 1.000E+01 0.000E+00 0.000E+00
Run the analysis again and the search the output file to find the measurement:
$ ./nec_run.sh yagi4elem_2m_v2.nec
$ grep AVERAGE yagi4elem_2m_v2.out
AVERAGE POWER GAIN: 1.0241E+00 - SOLID ANGLE USED IN AVERAGING: ( 3.8889)*PI STERADIANS
$
Ideally the average gain should be 1, and this model is off by only 2%. That is well with in the acceptable range (0.95-1.05) stated by Cebik, but it didn't take long to run the analysis so let's try adding some more points and see what happens.
Run the analysis three more times, once with each of the following RP cards:
RP 0 37 360 1001 0.000E+00 0.000E+00 5.000E+00 1.000E+00 0.000E+00 0.000E+00
RP 0 181 36 1001 0.000E+00 0.000E+00 1.000E+00 1.000E+01 0.000E+00 0.000E+00
RP 0 181 360 1001 0.000E+00 0.000E+00 1.000E+00 1.000E+00 0.000E+00 0.000E+00
Here is a summary of the results:
The differences between the 37/360 and 181/360 results are insignificant, but the 37/360 takes less time to calculate, so I will use that.
Now check the average gain across the frequency range we're interested in and make sure it stays close to 1. Use the original FR card. The results are:
$ ./nec_run.sh yagi4elem_2m_v2.nec
$ grep AVERAGE yagi4elem_2m_v2.out
AVERAGE POWER GAIN: 9.9881E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
AVERAGE POWER GAIN: 9.9881E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
AVERAGE POWER GAIN: 9.9881E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
AVERAGE POWER GAIN: 9.9880E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
AVERAGE POWER GAIN: 9.9878E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
AVERAGE POWER GAIN: 9.9876E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
AVERAGE POWER GAIN: 9.9872E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
AVERAGE POWER GAIN: 9.9866E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
AVERAGE POWER GAIN: 9.9858E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
$
Convergence
Now that we know how many points to calculate, we need to determine if we have divided the wires in the model into enough segments. This is the convergence test.
To check for convergence we vary the number of wire segments and look at how the impedance (Zr/Zi) and gain change. We will run the analysis several times, each time we will increase the number of segments by 50% of the initial number of segments (5.5, rounded to 6, in our case). When the change in impedance and gain is smaller than we can measure, or than we are interested in, the model is said to have converged. If the length of a segment gets to be smaller than about 4x the wire diameter, then the model is not going to converge and we need to look for the problem.
Changing the number of segments is easy for this model because each of the elements is approximately the same length and there for the segments will be about the same length and the nodes will pretty well line up. If that had not been the case then we would have to fiddle with the number of segments on each element to try and keep the nodes aligned and the segments near the same length.
Each time we change the number of segments we will also have to change the driven segment number on the EX card. This table summarizes the values:
Here are the results:
# freq. Zr Zi SWR gain f/b phi theta
145 38.862 6.5216 1.33879 9.37 11.8 90 90
AVERAGE POWER GAIN: 9.9880E-01 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
# freq. Zr Zi SWR gain f/b phi theta
145 39.746 8.0158 1.33767 9.39 11.76 89 90
AVERAGE POWER GAIN: 1.0009E+00 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
# freq. Zr Zi SWR gain f/b phi theta
145 40.3 8.8567 1.33854 9.4 11.73 89 90
AVERAGE POWER GAIN: 1.0016E+00 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
# freq. Zr Zi SWR gain f/b phi theta
145 40.686 9.4108 1.3398 9.4 11.71 89 90
AVERAGE POWER GAIN: 1.0020E+00 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
# freq. Zr Zi SWR gain f/b phi theta
145 40.972 9.8057 1.34102 9.41 11.69 90 90
AVERAGE POWER GAIN: 1.0021E+00 - SOLID ANGLE USED IN AVERAGING: ( 3.9889)*PI STERADIANS
Not unexpectedly, since this is a simple model, the model is pretty well converged even with the minimum number of segments. Still, I'm going to use the 23 segment version because the gain variation is less that the reported precision and the calculation time is still quite reasonable on the computer I am using (and old laptop).
The converged and average gain tested model is attached, along with an update version of the nec_run.sh script that I used to run it.