skip to navigation
skip to content

PyNEC 1.7.3.1

Python Antenna Simulation Module (nec2++) object-oriented interface

This module wraps the C++ API for antenna simulation of nec2++. It is easier to work with, and more powerful than the C-style API wrapper.

Usage

Here is an example that plots a radiation pattern.

from PyNEC import * import numpy as np

#creation of a nec context context=nec_context()

#get the associated geometry geo = context.get_geometry()

#add wires to the geometry geo.wire(0, 36, 0, 0, 0, -0.042, 0.008, 0.017, 0.001, 1.0, 1.0) context.geometry_complete(0)

context.gn_card(-1, 0, 0, 0, 0, 0, 0, 0)

#add a “ex” card to specify an excitation context.ex_card(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0)

#add a “fr” card to specify the frequency context.fr_card(0, 2, 2400.0e6, 100.0e6)

#add a “rp” card to specify radiation pattern sampling parameters and to cause program execution context.rp_card(0, 91, 1, 0, 5, 0, 0, 0.0, 45.0, 4.0, 2.0, 1.0, 0.0)

#get the radiation_pattern rp = context.get_radiation_pattern(0)

# Gains are in decibels gains_db = rp.get_gain() gains = 10.0**(gains_db / 10.0) thetas = rp.get_theta_angles() * 3.1415 / 180.0 phis = rp.get_phi_angles() * 3.1415 / 180.0

# Plot stuff import matplotlib.pyplot as plt

ax = plt.subplot(111, polar=True) ax.plot(thetas, gains[:,0], color=’r’, linewidth=3) ax.grid(True)

ax.set_title(“Gain at an elevation of 45 degrees”, va=’bottom’) plt.savefig(‘RadiationPattern.png’) plt.show()

Install

git clone https://github.com/tmolteno/python-necpp.git cd python-necpp git submodule init git submodule update –remote cd PyNEC ./build.sh sudo python setup.py install

Testing

python example/test_rp.py
 
File Type Py Version Uploaded on Size
PyNEC-1.7.3.1.tar.gz (md5) Source 2017-09-24 57KB