A plain language Python wrapper for NEC
Project description
NECBOL
NECBOL is a Python library that provides a geometry-first interface for building antenna models using the NEC (Numerical Electromagnetics Code) engine.
⚠️ some function name and module name changes were made at version V2.0.0
If you have been using previous versions with your own python files, you'll need to change the import statements and the name of the wire viewer function. See the file CHANGES from V1.0.0.md for details.
Features
- Component-based antenna construction: Easily create antennas using predefined components.
- Flexible length units: Specify antenna dimensions in mm, m, cm, ft or in as needed.
- Automatic wire joining: Automatically connects wire ends to other wires, simplifying model creation.
- Flexible connector placement: Add connectors between specific points on different objects.
- Configurable simulation parameters: Set frequency, ground type, and pattern observation points.
- Current component library: Helix, circular arc/loop, rectangular loop, straight wire, straight connector
- Easy to place: feedpoint, series RLC load(s), prarallel RLC load(s) specified in ohms, uH and pF
- Easy to define meshed grids which can also be joined edge to edge to create box structures (see the car model)
- Dielectric sheet model: currently experimental, not validated, built in to a flat sheet geometry component
- Optimiser: Optimise VSWR and / or Gain in a specified direction
- More coming soon: See next steps/future plans
- Extensible design: It's written in Python, so you can use the core and add your own code
- Example files: Simple dipole, Hentenna with reflector with example parameter sweep, Circular version of Skeleton Slot Cube with Optimiser code
🛠 Installation
Install using pip: open a command window and type
pip install necbol
User Guide
Copies of the files installed by pip are in the necbol folder) on this repository. There are several example files intended to highlight different aspects of necbol and different ways of doing similar things. You can copy these examples and modify to see how they work, or start your own from scratch.
Tip: Look inside necbol/components.py to see which antenna components and modification methods are currently available. I'm planning to make an automated help file from the comments inside this file (and then the others).
For a quick and basic overview, see the file example_dipole_with_detailed_comments.py for a minimal explanation of how to use this framework.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file necbol-2.1.0.tar.gz.
File metadata
- Download URL: necbol-2.1.0.tar.gz
- Upload date:
- Size: 17.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3eecf382354db38f55b3f623d5754e4d7b04fde3286f8d8449fd5f49ad01be2
|
|
| MD5 |
a0e4d3c59772c02f1b4449b42e5a68b2
|
|
| BLAKE2b-256 |
04ce3b1a0f35f0af54198e27b0eb7a7a8b1419f59cec84b9797835f787e3faf6
|
File details
Details for the file necbol-2.1.0-py3-none-any.whl.
File metadata
- Download URL: necbol-2.1.0-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
442f0e789d92e79a79a6f9e37f276a9d139952e8299c591bab9b3e0cd6f435eb
|
|
| MD5 |
6affa14d6f3225b93813f9765412fdab
|
|
| BLAKE2b-256 |
9a0e39727f52ed9fd289f6cee83bb9f8b392f1c35dd6aade1cfb515a8d6f70a6
|