Skip to content

Your cart is empty

Continue shopping

Have an account?

Log in to check out faster.

Your cart

Loading...

Estimated total

€0,00 EUR

Tax included and shipping and discounts calculated at checkout

NEW - CM/DM Filter for Analog Hotspot

  • New
  • Swag
  • HotSpot
  • Repeater
    • Build Your Own Repeater
    • ON0ORA
  • BalUn/UnUn
    • Balun/LineIsolator/Choke
    • Unun/Transformers
    • Lightning & Surge Protection
    • AC/DC Choke/LineIsolator
    • Grounding
    • Anti-Corrosion
  • Filters
    • VHF-UHF Filter
    • Line Filters
  • Antenna
    • HF Active RX Antenna
    • HF End Fed Wire Antenna
    • HF Verticals - V-Dipoles
    • HF Rigid Loops
    • HF Doublets - Inverted Vs
    • HF Stealth POTA/SOTA Antennas
    • UHF Antenna
    • VHF Antenna
    • Dualband VHF-UHF
    • Grounding
    • Masts
    • Guy Ropes & Accessories
    • GPS Antenna
    • Mobile Antenna
    • Handheld Antenna
    • ISM Antenna 433/868
    • Antenna Tools
    • Anti-Corrosion Lubricants
    • Dummy Load
  • Coax
    • Coaxial Seal
    • Coax Connectors
    • Panel Mount Connectors
    • Coax Adaptors
    • Coax Tools
    • Coax Cable
    • Coax Surge protection
    • Jumper - Patch cable
  • 19"
  • 13.8 V
    • DC-DC
    • AC-DC
    • Powerpole
    • 13.8 V Cable
  • PA
    • VHF Power Amplifiers
    • UHF Power Amplifiers
  • Parts
    • Ferrite
    • Pi
    • Routers
    • Enclosures
  • PCB
  • SDR
  • APRS
  • KB
    • Why we started RF.Guru
    • Mission Statement
    • Product Whitepapers
    • Knowledge Base
    • Transmit Antennas
    • Baluns and Ununs
    • Receive Antennas & Arrays
    • Technical Deep Dives
    • Debunking Myths
    • Transmission lines
    • Radio Interference
    • Grounding and safety
    • Ham Radio 101
    • Calculators
    • Ham Florida Man
    • Errata & Modern Context
    • The Scientists Who Built RF
    • %λΦ#@!Ω
  • ON6URE
    • on the road ...
    • collaborations ...
    • on4aow ...
    • on4pra ...
Log in

Country/region

  • Belgium EUR €
  • Germany EUR €
  • Italy EUR €
  • Sweden EUR €
  • Australia AUD $
  • Austria EUR €
  • Belgium EUR €
  • Bulgaria EUR €
  • Canada EUR €
  • Croatia EUR €
  • Czechia EUR €
  • Denmark EUR €
  • Estonia EUR €
  • Finland EUR €
  • France EUR €
  • Germany EUR €
  • Greece EUR €
  • Hungary EUR €
  • Ireland EUR €
  • Italy EUR €
  • Latvia EUR €
  • Lithuania EUR €
  • Luxembourg EUR €
  • Netherlands EUR €
  • New Zealand NZD $
  • Norway EUR €
  • Poland EUR €
  • Portugal EUR €
  • Romania EUR €
  • Slovakia EUR €
  • Slovenia EUR €
  • Spain EUR €
  • Sweden EUR €
  • Switzerland EUR €
  • United Kingdom EUR €
  • United States USD $
  • YouTube
RF.Guru Logo
  • New
  • Swag
  • HotSpot
  • Repeater
    • Build Your Own Repeater
    • ON0ORA
  • BalUn/UnUn
    • Balun/LineIsolator/Choke
    • Unun/Transformers
    • Lightning & Surge Protection
    • AC/DC Choke/LineIsolator
    • Grounding
    • Anti-Corrosion
  • Filters
    • VHF-UHF Filter
    • Line Filters
  • Antenna
    • HF Active RX Antenna
    • HF End Fed Wire Antenna
    • HF Verticals - V-Dipoles
    • HF Rigid Loops
    • HF Doublets - Inverted Vs
    • HF Stealth POTA/SOTA Antennas
    • UHF Antenna
    • VHF Antenna
    • Dualband VHF-UHF
    • Grounding
    • Masts
    • Guy Ropes & Accessories
    • GPS Antenna
    • Mobile Antenna
    • Handheld Antenna
    • ISM Antenna 433/868
    • Antenna Tools
    • Anti-Corrosion Lubricants
    • Dummy Load
  • Coax
    • Coaxial Seal
    • Coax Connectors
    • Panel Mount Connectors
    • Coax Adaptors
    • Coax Tools
    • Coax Cable
    • Coax Surge protection
    • Jumper - Patch cable
  • 19"
  • 13.8 V
    • DC-DC
    • AC-DC
    • Powerpole
    • 13.8 V Cable
  • PA
    • VHF Power Amplifiers
    • UHF Power Amplifiers
  • Parts
    • Ferrite
    • Pi
    • Routers
    • Enclosures
  • PCB
  • SDR
  • APRS
  • KB
    • Why we started RF.Guru
    • Mission Statement
    • Product Whitepapers
    • Knowledge Base
    • Transmit Antennas
    • Baluns and Ununs
    • Receive Antennas & Arrays
    • Technical Deep Dives
    • Debunking Myths
    • Transmission lines
    • Radio Interference
    • Grounding and safety
    • Ham Radio 101
    • Calculators
    • Ham Florida Man
    • Errata & Modern Context
    • The Scientists Who Built RF
    • %λΦ#@!Ω
  • ON6URE
    • on the road ...
    • collaborations ...
    • on4aow ...
    • on4pra ...
Log in Cart

Modeling Antennas with Python: No NEC or MMANA Required

Related Reading:
Reciprocity Is a Mathematical Theorem
The Ham’s Obsession with Resonance
Why Comparing Antennas Is Like Comparing Apples and Oranges
The Limitations of NEC

Modeling Antennas Without NEC or MMANA

You do not always need NEC, MMANA, or another dedicated antenna simulator to explore how antennas behave. At its core, antenna pattern prediction is applied electromagnetic theory: geometry, wavelength, phase, current distribution, and the summation of many small radiating contributions.

Modern tools such as Python, NumPy, and Matplotlib make it possible to translate those ideas directly into working simulations. With surprisingly little code, you can visualize lobes, nulls, beam steering, takeoff angles, and the effect of spacing or phasing.

That does not mean a simple Python model replaces NEC. It means the model answers a different question. NEC tries to solve the electromagnetic problem from the geometry. A lightweight analytical or numerical model usually starts from an assumed current distribution and calculates the resulting far-field pattern.

That distinction matters.

Simple Pattern Model vs NEC/MMANA
Simple Python / Analytical Model NEC / MMANA-Type Model
Assumes or defines the current distribution Solves for current distribution using the antenna geometry
Excellent for far-field pattern insight Excellent for impedance, current, and geometry studies
Very fast for sweeps and animations More computationally involved
Easy to modify and understand Can hide assumptions inside the solver setup
Best for lobes, nulls, phasing, and trends Best for detailed wire interaction and feedpoint behaviour
Does not automatically include losses, ground, feedlines, or common mode Can include more detail, but only if correctly modelled

A simple model is not “fake NEC.” It is a direct way to calculate the far-field pattern once the currents are known or assumed.

The Important Difference: Solving Currents vs Summing Fields

NEC-like tools use the Method of Moments to calculate how current flows on conductors. Once those currents are known, the far-field pattern is found by summing the radiation from the current elements.

A lightweight Python model often skips the hard part: it does not solve the current distribution from first principles. Instead, you define or approximate the currents yourself. For example, you may assume a sinusoidal current on a dipole, a phase ramp on a traveling-wave antenna, or equal-amplitude phased elements in an array.

This is not a weakness when the goal is pattern insight. In fact, it is often the advantage. You can control the assumptions directly and immediately see how geometry, current phase, spacing, and wavelength shape the pattern.

But it also means the model is not automatically predicting the exact behaviour of a real installation. It is calculating the radiation pattern of the antenna system you described mathematically.

The Math Behind the Patterns

Whether you are looking at a single dipole, an inverted-V, a delta loop, a phased receive array, or a triangular loop system, the basic far-field calculation follows the same idea: divide the antenna into small current elements and sum their contributions in every observation direction.

  • Step 1 — Discretize the antenna: Break the wire or structure into many short segments. Each segment has a midpoint, a length, and a direction.
  • Step 2 — Assign currents: Give every segment a current magnitude and phase. This may be sinusoidal, constant, tapered, traveling-wave, or defined by an array phasing rule.
  • Step 3 — Define observation angles: Sweep azimuth and elevation using far-field unit vectors.
  • Step 4 — Calculate each segment’s field: Each small current element contributes a phase-shifted transverse field in the observation direction.
  • Step 5 — Sum all contributions: Add the complex field contributions from all segments.
  • Step 6 — Normalize: Divide by the maximum field value to plot a relative radiation pattern.
Far-Field Segment Contribution

A simplified vector form for the contribution of one short current segment is:

dE ∝ In · [r̂ × (r̂ × t̂n)] · ej k (r̂ · rn) · Δl

Term Meaning
In Complex current on segment n, including magnitude and phase
t̂n Unit vector along the segment direction
r̂ Unit vector toward the far-field observation direction
rn Position vector of the segment midpoint
k Wave number, equal to 2π/λ
Δl Segment length

For simple scalar pattern plots, this is often reduced to an orientation factor such as |t̂ × r̂| multiplied by a phase term. The sign convention of the exponential depends on the chosen coordinate system.

Why This Works

The far-field radiation of a thin-wire antenna can be approximated by summing the radiation from many short current elements. This is closely related to the Hertzian dipole idea: a small current element radiates with a known directional field, and a complete antenna can be built up by adding many such elements together with the correct phase.

For many educational and design tasks, this is exactly what we want. We are not trying to model every screw, connector, ferrite, tree, or coax bend. We are trying to understand why the pattern has a lobe here, a null there, or a lower takeoff angle at one height than another.

With this method, you can model broad pattern behaviour for:

  • Dipoles, inverted-V antennas, and off-center-fed wires
  • End-fed half-wave antennas with assumed current distributions
  • Delta loops, square loops, and irregular loops
  • Verticals and vertical arrays
  • Receive antennas and phased receive systems
  • Traveling-wave structures such as Beverages and long wires
  • Triangular, square, circular, or custom array geometries

The model is strongest when you use it to understand field behaviour, not when you pretend it knows every detail of a physical installation.

Arrays and Phase Control

Multi-element arrays are where this approach becomes especially powerful. Once every radiator has a position and a complex excitation, beam steering becomes a matter of changing phase and amplitude.

For example, in a three-element triangular receive array, you can define:

  • Element positions: The physical locations of the elements, usually expressed in wavelengths
  • Element amplitudes: Equal or weighted excitation values
  • Element phases: Fixed or variable phase shifts for steering
  • Observation direction: The azimuth and elevation angle being evaluated
  • Array factor: The combined result of spacing and phasing

Changing the phase relationships immediately changes the beam direction, null depth, and side-lobe behaviour. This makes simple numerical modelling extremely useful for systems such as EchoTriad, QuadraTus, or other phased receiving arrays where the principle is often more important than a single static simulation file.

What Phase Control Shows Clearly
Change Pattern Effect
Element spacing Changes beamwidth, null placement, and side-lobe behaviour
Element phase Steers the main lobe or null direction
Amplitude taper Can reduce side lobes at the cost of gain or sharpness
Frequency Changes electrical spacing even when physical spacing stays fixed
Array rotation Moves the pattern relative to the compass direction

For arrays, the pattern often becomes easier to understand when you separate the element pattern from the array factor.

What You Can See Without NEC

A lightweight model can show a lot. In fact, for many pattern-level questions, it may show the important answer more clearly than a full solver.

You can directly explore:

  • How antenna height changes elevation angle
  • How lobes and nulls form from phase addition and cancellation
  • How array spacing affects beamwidth
  • How phasing steers a receive or transmit pattern
  • How a fixed antenna changes behaviour across multiple bands
  • How the same geometry behaves at different wavelengths
  • How broadside and end-fire behaviour emerge from geometry
  • How current distribution shapes the far field

This is why these models are so useful for education, design exploration, and quick comparison. They are fast, transparent, and easy to modify.

What You Cannot See Without a More Complete Model

The important limitation is that simple far-field models normally calculate the field from the currents you provide. They do not automatically solve all the messy things that determine the real currents in a real antenna.

What a Simple Python Model Usually Misses
Missing Effect Why It Matters
Feedpoint impedance The model may show the pattern but not the SWR or matching behaviour
Mutual coupling Nearby elements can change each other’s current distribution
Conductor diameter Affects impedance, bandwidth, loss, and current distribution
Ground loss Especially important for verticals and low HF antennas
Real soil properties Moisture, layering, saltwater, mud, concrete, and rebar can change results
Common-mode current The coax shield may become part of the antenna and distort the pattern
Balun and choke behaviour Real ferrites have finite impedance, loss, heating, and frequency dependence
Nearby dielectric objects Trees, wet wood, fiberglass, plastic, walls, and roofs can detune antennas
Losses in traps and coils Can dominate efficiency in shortened or multiband antennas
Unknown installation coupling Balconies, boats, masts, gutters, and shack wiring may radiate too

The model can calculate the antenna you describe. It cannot automatically discover the antenna system you accidentally built.

The HF Reality: The Feedline May Be Part of the Antenna

This is especially important at HF. At HF, antennas are often large, compromised, low, bent, shortened, or installed close to objects. The feedline, counterpoise, ground, mast, balcony rail, boat rigging, or shack wiring may become part of the RF system.

A simple model may show a clean dipole pattern. A simple NEC model may also show a clean dipole pattern. But the real antenna may have significant current on the outside of the coax shield. That common-mode current can radiate, receive noise, alter the feedpoint impedance, and distort the pattern.

Common-mode current is not a moral failure of the antenna. It is a current path problem. If the return path is not controlled, RF will use whatever path is available.

That is why modelling should be combined with practical RF discipline:

  • Use appropriate common-mode chokes
  • Control feedline routing
  • Provide a real counterpoise or radial system when needed
  • Keep feedlines out of high-field regions where possible
  • Measure current on the feedline when behaviour looks suspicious
  • Validate the model with real-world observations

A clean model shows the intended antenna. Feedline current measurements reveal whether the coax quietly joined the antenna.

Ground Effects Can Be Added — Carefully

Ground is one of the most difficult parts of antenna modelling, especially at HF. A simple model can include an ideal ground reflection using image theory: mirror the antenna below a perfectly conducting ground plane and combine the direct and reflected fields.

That works well for understanding height effects and basic elevation patterns. It helps explain why a low horizontal antenna radiates upward and why a higher antenna develops lower-angle lobes.

But real ground is not a perfect mirror. It has conductivity, dielectric constant, moisture variation, layering, grass, mud, saltwater, concrete, rebar, roofs, and nearby objects. A simple image model is useful for insight, but it should not be mistaken for a complete real-world ground simulation.

Ground Modelling Levels
Approach Useful For Limitation
No ground, free space Understanding pure antenna geometry No takeoff-angle or earth-reflection behaviour
Perfect image ground Height and elevation-pattern insight Assumes ideal reflection and no ground loss
Simplified lossy ground More realistic HF trend estimates Still depends strongly on assumed soil values
Detailed numerical model More specific installations Only useful if the ground and environment are known accurately
Measurement Final installed truth Requires equipment, method, and interpretation

Ground models are excellent for learning trends. Real ground is often the biggest unknown in HF performance.

Advantages Over Black-Box Simulators

Dedicated antenna simulators are powerful, but they can become black boxes. A simple Python model gives you direct access to the physics.

  • Transparency: Every variable, formula, phase, and geometry choice is visible.
  • Speed: Thousands of observation points can be calculated almost instantly.
  • Flexibility: Odd geometries and custom arrays are easy to create.
  • Education: You learn why the lobes and nulls appear instead of only seeing the final plot.
  • Parameter sweeps: Height, frequency, spacing, phase, and orientation can be swept quickly.
  • Animation: Beam steering and frequency behaviour can be visualized dynamically.
  • Debugging insight: You can isolate one effect at a time instead of mixing many assumptions.

For antenna designers, this is extremely valuable. It gives a fast way to test concepts before building, before entering a detailed NEC model, and before spending time on mechanical details.

When NEC or MMANA Is Still the Better Tool

There are many cases where NEC, MMANA, or another full electromagnetic solver is the better tool. The point is not to avoid them. The point is to use the right model for the right question.

Use NEC-like tools when you need to study:

  • Feedpoint impedance
  • SWR and matching behaviour
  • Current distribution caused by actual geometry
  • Mutual coupling between nearby wires
  • Effect of bends, offsets, slopes, and asymmetry
  • Yagi, quad, or multi-element wire interaction
  • Traps, loading coils, and matching networks
  • Nearby conductors that are known and well defined
  • Changes caused by conductor diameter or segmentation

But remember: even NEC only knows what you put into the model. If the real installation includes a wet tree, a balcony rail, a floating mast, a lossy ground path, a poor choke, or common-mode current on the coax, the model must include those effects correctly to predict them.

Otherwise, NEC is still an idealized model — just a more detailed one.

From Code to Insight

Once the math is in place, the real value appears. You can quickly create plots that answer practical design questions:

  • What happens to a dipole pattern as height increases?
  • How does a loop behave when the frequency changes?
  • How does an array null move when phase is adjusted?
  • What happens if element spacing changes from 0.1λ to 0.25λ?
  • Why does a low HF antenna favour NVIS?
  • When does a higher antenna become better for DX?
  • How does a fixed physical array behave across multiple bands?

This is not just plotting. It is a way to build intuition. Once you understand the pattern mechanism, NEC results become easier to interpret, and real-world measurements become less mysterious.

Practical Modelling Discipline

Whether you use Python, NEC, MMANA, or another tool, the modelling discipline is the same:

  • Know what question you are asking
  • Keep the first model simple
  • Add complexity only when it answers a real question
  • Separate pattern insight from impedance prediction
  • Do not chase decimal dB values in uncertain HF installations
  • Check whether the feedline could be radiating
  • Remember that ground assumptions dominate many HF results
  • Use measurement to validate the final installation

A simple model that answers the right question is better than a complex model that answers the wrong one.

Takeaways for Hams and Antenna Designers

  • You can model useful antenna radiation patterns without NEC or MMANA
  • The core idea is to sum far-field contributions from many small current elements
  • Simple models are excellent for lobes, nulls, height effects, phasing, and array behaviour
  • They are not full replacements for NEC when impedance and coupling details matter
  • The biggest assumption is usually the current distribution
  • At HF, feedline common mode, ground, and installation coupling can dominate reality
  • NEC is more detailed, but it is still idealized unless the real environment is modelled correctly
  • Python models are powerful because they make the physics visible
  • Use analytical models for insight, NEC for refinement, and measurements for truth

Pattern modelling without NEC is not a shortcut around physics. It is physics made visible. The goal is not to replace every electromagnetic solver, but to understand what the solver is showing — and what the real antenna might still be hiding.

Mini-FAQ

  • Is this as accurate as NEC? — For far-field pattern shape and relative trends, it can be very close when the assumed currents are reasonable. NEC is better when the current distribution, impedance, and coupling must be solved from the actual geometry.
  • Can I model ground effects? — Yes. A basic model can use image currents for an ideal ground plane. More realistic lossy ground requires additional assumptions and should be treated carefully.
  • Does this work for receive antennas? — Yes. Receive and transmit patterns follow the same electromagnetic reciprocity principles, assuming the system is linear and passive.
  • How many segments should I use? — For smooth pattern plots, 20–50 segments per half-wavelength is often enough. More complex current distributions or geometries may need more.
  • Can this predict SWR? — Not by itself. A far-field summation model usually does not calculate feedpoint impedance unless additional solving methods are added.
  • Can it show common-mode current? — Only if you explicitly include the feedline or common-mode path and assign or solve its current. Otherwise, common mode is absent from the model.
  • Why use this if NEC exists? — Because it is fast, transparent, flexible, and excellent for understanding why the pattern behaves the way it does.
  • What should I trust in the end? — Use the simple model for insight, NEC for detailed refinement, and real measurements for final installed performance.

Interested in more technical content? Subscribe to our updates for deep-dive RF articles and lab notes.

Questions or experiences to share? Contact RF.Guru.

Joeri Van Dooren, ON6URE – RF engineer, antenna designer, and founder of RF.Guru, specializing in high-performance HF/VHF antennas and RF components.

Subscribe here to receive updates on our latest product launches

  • YouTube
Payment methods
  • Bancontact
  • iDEAL Wero
  • Klarna
  • Maestro
  • Mastercard
  • MobilePay
  • PayPal
  • Visa
© 2026, RF Guru Powered by Shopify
  • Refund policy
  • Privacy policy
  • Terms of service
  • Contact information
  • News
  • Guru's Lab
  • Press
  • DXpeditions
  • Fairs & Exhibitions
  • Order Withdrawal
  • Choosing a selection results in a full page refresh.
  • Opens in a new window.
Purchase options
Select a purchase option to pre order this product
Countdown header
Countdown message


DAYS
:
HRS
:
MINS
:
SECS