Antennas

OK1M-PyminiNEC3 – antenna modelling in Python

OK1M-PyminiNEC3 is an antenna modelling platform with the MININEC 3 calculation core and MMANA-GAL pro conventions. It reads antenna models in the MMANA-GAL format (.maa), computes them with the method of moments and produces the same results as MMANA-GAL pro: impedance, SWR, gain, F/B, elevation angle, radiation patterns and currents.

3D view of the 7-element 20-15-10 m Yagi at 21.225 MHz, segments coloured by current
3D view of the 7-element 20-15-10 m Yagi at 21.225 MHz, segments coloured by current

What it adds

  • Repeatable runs – each antenna is a project with its models, settings and results
  • HTML reports with plots and an interactive 3D view
  • Validation – point-by-point comparison with MMANA-GAL exports
  • Optimization of element lengths and positions (Levenberg-Marquardt), with a coarse grid scan to find the right starting area first
  • Comparison of two model versions, with a graphical overview of changed dimensions
Radiation patterns of the 7-element Yagi, model v0.3, at 21.225 MHz
Radiation patterns of the 7-element Yagi, model v0.3, at 21.225 MHz
SWR, impedance, gain and F/B of the same model across the 15 m band
SWR, impedance, gain and F/B of the same model across the 15 m band

How accurate is it?

The platform is only useful if its numbers match MMANA-GAL pro, so it is checked against that program on the same model. On the reference 9-element antenna the pulse positions are identical and the largest differences are:

R ±0.07 Ω · jX ±0.15 Ω · SWR ±0.007 · Ga ±0.013 dB · F/B ±0.02 dB

Two more antennas served as additional checks. The 7-element Yagi was not used for calibration, and a 40 m vertical with radials verified the feed at a junction of several wires.

Antennas in the repository

  • 9-element and 7-element multiband Yagi for 20, 15 and 10 m
  • 4-element Yagi for 15 m
  • 2-element antenna for 40 m
  • 40 m vertical and directed verticals for 40 and 80 m

Quick start

It needs Python 3.10 or newer.

git clone https://git.ok1kvk.cz/RybkaLabs/ok1m-pymininec3.git
cd ok1m-pymininec3
pip install -e .
python -m ok1m_pymininec3 path/to/antenna.maa

Source code and documentation: git.ok1kvk.cz/RybkaLabs/ok1m-pymininec3

73 & TNX