Skip to main content

Solver and tracer for electrostatic problems

Project description

Traceon

Traceon is a general software package used for numerical electron optics. Its main feature is the implementation of the Boundary Element Method (BEM) to quickly calculate the surface charge distribution. The program supports both radial symmetry and general three-dimensional geometries. Electron tracing can be done very quickly using accurate radial series interpolation in both geometries. The electron trajectories obtained can help determine the aberrations of the optical components under study.

The core of Traceon is completely free to use and open source. There is a commerical upgrade with more capabilities. The source code in this repository is distributed under the MPL 2.0 license.

Documentation

Website

Examples

API documentation v0.6.0

API documentation v0.5.0

API documentation v0.4.0

API documentation v0.3.1

Citation

Please cite the software as follows:

L.B. van Velzen. Traceon software (version 0.6.0). 2023. https://doi.org/10.5281/zenodo.11528404

Installation

Install using the Python package manager:

pip install traceon

The installation is known to work on Linux, Windows and Mac OS. Please reach out to me if you have any installation problems.

Validations

To ensure the accuracy of the package, different problems from the literature have been analyzed using this software. See /validation directory for more information. The validations can easily be executed from the command line, for example:

python3 ./validation/edwards2007.py --help
python3 ./validation/capacitance-sphere.py --help
etc...

License

MPL 2.0

Help! I have a problem!

Don't worry. You can reach me.

Open an issue

Send me an email

Gallery

Image of 3D deflector Image of Dohi mirror Image of Einzel lens traces

Features

v0.7.0:

  • Generate structured, high quality meshes using the new parametric mesher (drop GMSH)
  • Consistenly use 3D points and geometries throughout codebase
  • Add support for Fast Multipole Method (Traceon Pro)
  • Add support for Mac OS on x64
  • Big improvements to code quality, testing, infrastructure
  • Drop dependency on GSL

v0.6.0:

  • New methods to integrate triangle potential and field contribution over a triangle
  • Fix 3D convergence issues by more accurately calculating neighbouring triangle interactions
  • Fix error calculation in particle tracing
  • Introduce logging module to control verbosity of printing
  • Clean up unit tests
  • Remove higher order (curved) triangle support, in preparation of parametric meshers and improved FFM implementation

v0.5.0:

  • Add preliminary support for magnetostatics
  • Improve and generalize mesh class (allow import/export)
  • Make consistent use of SI units

v0.4.0:

  • Introduce Fast Multipole Method (FMM) for large 3D problems
  • Compute 3D radial expansion coefficients using analytical formulas
  • Further speed up computation of 3D radial expansion coefficients
  • Big code quality improvement of validation/ files

v0.3.0:

  • Use adaptive integration using GNU Scientific Library (GSL)
  • Add support for boundary constraint
  • Use Vedo for better plotting capabilities
  • Use higher order triangle elements for 3D (curved triangles)
  • Precompute jacobians/positions for better performance
  • First implementation of element splitting based on charges (work in progress)

v0.2.0:

  • Use higher order charge distribution on line elements in radial symmetry
  • Use higher order line elements (polynomials) in radial symmetry
  • Better integration techniques, especially with regards to the logarithmic singularities

v0.1.0:

  • Uses the powerful GMSH library for meshing
  • Solve for surface charge distribution using BEM
  • General 3D geometries and radially symmetric geometries
  • Dielectrics
  • Floating conductors
  • Accurate electron tracing using adaptive time steps
  • Field/potential calculation by integration over surface charges
  • Fast field/potential calculation by radial series expansion
  • Superposition of electrostatic fields

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

traceon-0.7.0.tar.gz (78.2 kB view details)

Uploaded Source

Built Distributions

traceon-0.7.0-cp37-abi3-win_amd64.whl (168.8 kB view details)

Uploaded CPython 3.7+ Windows x86-64

traceon-0.7.0-cp37-abi3-manylinux_2_31_x86_64.whl (169.2 kB view details)

Uploaded CPython 3.7+ manylinux: glibc 2.31+ x86-64

traceon-0.7.0-cp37-abi3-macosx_12_0_x86_64.whl (121.5 kB view details)

Uploaded CPython 3.7+ macOS 12.0+ x86-64

File details

Details for the file traceon-0.7.0.tar.gz.

File metadata

  • Download URL: traceon-0.7.0.tar.gz
  • Upload date:
  • Size: 78.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for traceon-0.7.0.tar.gz
Algorithm Hash digest
SHA256 211f58c05b6932c701db81f146503409b60ab1a1726e5287aaeff784924306d6
MD5 4d166d6c7c0c1d705ed29e4ddf543a7e
BLAKE2b-256 9c7e9b7fdb3fa2b9b7366af6541822e8f7dc777d978982b66ae21ca9f925516f

See more details on using hashes here.

File details

Details for the file traceon-0.7.0-cp37-abi3-win_amd64.whl.

File metadata

  • Download URL: traceon-0.7.0-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 168.8 kB
  • Tags: CPython 3.7+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for traceon-0.7.0-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 81d83784e9aa7440bf69eb1929fcdbbc97d61f46ce76a3c29097d489f60943a9
MD5 1d4bcc34a0e6fcd31a0c95a8b031e78b
BLAKE2b-256 6aa3259a8c6015eaae27d5d44074cea56262b79e200761a33fe59ab434bf90d2

See more details on using hashes here.

File details

Details for the file traceon-0.7.0-cp37-abi3-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for traceon-0.7.0-cp37-abi3-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 b733977f0bbbc6d85c97de8718acfde1804ca0d2d6f40fc24f4478551f63b22b
MD5 a967a9688e6cb86161e5749f31f9dd04
BLAKE2b-256 5d28bbbcbbbfba645457074dc5dd1564f3f571f07ad0d46672c251280250ca6e

See more details on using hashes here.

File details

Details for the file traceon-0.7.0-cp37-abi3-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for traceon-0.7.0-cp37-abi3-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 ec46583c2e618cd19b245dd94efec20ea382b67adcaab080cbd334ccf49c86ca
MD5 27a711416c168af532e57b38f60847d6
BLAKE2b-256 6c3de88afd1da592d8f8a10b8b0cdf0c488994967e6347b1e5bcfcb61e42b08c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page