Metadata-Version: 2.1
Name: necpp
Version: 1.7.3.5
Summary: Python Antenna Simulation Module (nec2++) C-style interface
Home-page: http://github.com/tmolteno/necpp
Author: Tim Molteno
Author-email: tim@physics.otago.ac.nz
License: GPLv2
Description: # python-necpp: Antenna simulation in python
        
        This module allows you to do antenna simulations in Python using the nec2++ antenna
        simulation package. 
        
        This is a wrapper using SWIG of the C interface, so the syntax
        is quite simple. Have a look at the file necpp_src/example/test.py, for an example of how this 
        library can be used.
        
        Tim Molteno. tim@physics.otago.ac.nz
        
        ## NEWS
        
        * Version 1.7.3 Includes Python3 support. Also some bug fixes and updating nec++ to the 
          latest version.
        * Version 1.7.0.3 includes nec_medium_parameters(). You could simulate an antenna in seawater!
        * Version 1.7.0 includes support for getting elements of radiation patterns. At the moment
          this is just through the function nec_get_gain().
        
        
        ## Install
        
        As of version 1.6.1.2 swig is no longer required for installation. Simply use PIP as 
        follows:
        
            pip install necpp
        
        ## Documentation
        
        Try help(necpp) to list the available functions. The functions available are documented in the C-style API of nec2++. 
        This is [available here](http://tmolteno.github.io/necpp/libnecpp_8h.html)
        
        ## Using
        
        The following code calculates the impedance of a simple vertical monopole antenna
        over a perfect ground. 
        
            import necpp
        
            def handle_nec(result):
              if (result != 0):
                print necpp.nec_error_message()
        
            def impedance(frequency, z0, height):
              
              nec = necpp.nec_create()
              handle_nec(necpp.nec_wire(nec, 1, 17, 0, 0, z0, 0, 0, z0+height, 0.1, 1, 1))
              handle_nec(necpp.nec_geometry_complete(nec, 1, 0))
              handle_nec(necpp.nec_gn_card(nec, 1, 0, 0, 0, 0, 0, 0, 0))
              handle_nec(necpp.nec_fr_card(nec, 0, 1, frequency, 0))
              handle_nec(necpp.nec_ex_card(nec, 0, 0, 1, 0, 1.0, 0, 0, 0, 0, 0)) 
              handle_nec(necpp.nec_rp_card(nec, 0, 90, 1, 0,5,0,0, 0, 90, 1, 0, 0, 0))
              result_index = 0
              
              z = complex(necpp.nec_impedance_real(nec,result_index), 
                          necpp.nec_impedance_imag(nec,result_index))
              
              necpp.nec_delete(nec)
              return z
        
            if (__name__ == 'main'):
              z = impedance(frequency = 34.5, z0 = 0.5, height = 4.0)
              print "Impedance \t(%6.1f,%+6.1fI) Ohms" % (z.real, z.imag)
        
        ## More Information
              
        Have a look at [http://github.com/tmolteno/necpp] for more information on using nec2++.
        
Keywords: nec2 nec2++ antenna electromagnetism radio
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Communications :: Ham Radio
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Intended Audience :: Science/Research
Description-Content-Type: text/markdown
