GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - tmolteno/necpp: NEC2++ is a C++ rewrite of the Numerical Electromagnetics Code (NEC-2) with many new features like automatic error detection when you specify the structure incorrectly and much faster execution. The simulation engine in Nec2++ is compiled into a library for easy integration into automatic antenna design systems or GUI tools.

BranchesTags
Open more actions menu

Latest commit

 

History

473 Commits
473 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
.qwen
.qwen
 
 
antlr
antlr
 
 
cmake
cmake
 
 
docs
docs
 
 
example
example
 
 
python
python
 
 
scripts
scripts
 
 
src
src
 
 
templates
templates
 
 
testharness
testharness
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
AUTHORS
AUTHORS
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
COPYING
COPYING
 
 
Doxyfile
Doxyfile
 
 
INSTALL.md
INSTALL.md
 
 
NEWS
NEWS
 
 
README.md
README.md
 
 
TODO.md
TODO.md
 
 
nec2++.1
nec2++.1
 
 
nec2diff.1
nec2diff.1
 
 

Repository files navigation

NEC2++ Numerical Electromagnetic Code in C++

This is a free (GPL) electromagnetic simulation software compatable with NEC-2. It has been rewritten from the ground up.

Nec2++ consists of a library that can be called from C++, C, and python, and so it can incorporated into other projects like GUI tools and automatic antenna optimization systems.

There is also an executable necpp that can read antenna description files (like the original). Nec2++ is developed on Debian linux, but will work on a variety of other operating systems.

Features

  • NEC-2 syntax compatable.
  • C, C++, and Python libraries included. Ideal for antenna optimization.
  • Large designs can be simulated with tens of thousands of elements (to the limit of 64-bit address space)
  • Geometry error detection. Throws exceptions if wires intersect or lie too close to one another.
  • Simulate in different media (for example antennas in seawater) by modifying the dielectric properties.
  • Uses Eigen 5.0.1 (bundled) for fast linear algebra — no external BLAS/LAPACK needed.

Citing NEC2++

If you use nec2++, please cite it as follows:

Timothy C.A. Molteno, ''NEC2++: An NEC-2 compatible Numerical Electromagnetics Code'', Electronics Technical Reports No. 2014-3, ISSN 1172-496X, October 2014.

Documentation

Online documentation built form the source code is available at http://tmolteno.github.io/necpp/. A guide to using nec2++ from python.

Installation

nec2++ builds with CMake (≥ 3.16) and a C++17 compiler — Eigen is bundled, so there are no external dependencies. The short version:

cmake -B build && cmake --build build -j4 && sudo cmake --install build

Full instructions (debug builds, cross-compiling for Windows/macOS/WASM, packaging, and using the library via find_package or pkg-config) are in INSTALL.md.

Testing

Unit tests (Catch2)

From the repository root:

cmake -B build && cmake --build build ./build/tests/nec2++_tests -s

Or via CTest:

cd build && ctest

Regression test harness

The testharness/ directory compares nec2++ output against the nec2c (C) and FORTRAN reference engines. See testharness/README.md for setup and usage.

Links

  • http://tmolteno.github.io/necpp/ Documentation
  • https://github.com/lncgomz/UCNEC Java-Based GUI project
  • https://github.com/tmolteno/python-necpp/ Python packages
  • https://github.com/rcnlee/necpp.jl Julia wrapper for the python packages

About

NEC2++ is a C++ rewrite of the Numerical Electromagnetics Code (NEC-2) with many new features like automatic error detection when you specify the structure incorrectly and much faster execution. The simulation engine in Nec2++ is compiled into a library for easy integration into automatic antenna design systems or GUI tools.

tmolteno.github.io/necpp/

Resources

Readme
License
Activity

Stars

307 stars

Watchers

34 watching

Forks

85 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.