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.

Traceon is completely free to use and open source. The source code is distributed under the AGPLv3 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 and Windows. 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

AGPLv3

Help! I have a problem!

Don't worry. You can reach me.

Open an issue

Send me an email

Gallery

Image of 3D deflector

Features

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.0rc1.tar.gz (83.5 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.7+ Windows x86-64

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

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

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

Uploaded CPython 3.7+ macOS 12.0+ x86-64

File details

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

File metadata

  • Download URL: traceon-0.7.0rc1.tar.gz
  • Upload date:
  • Size: 83.5 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.0rc1.tar.gz
Algorithm Hash digest
SHA256 3d5d33557e27306f6b29cc76257e88cac0dee75c590d6043a35f5244dead1504
MD5 0ecec92efe73462d78a6644ec33fa23e
BLAKE2b-256 776260f5215628b2f64e03610027056eb00d5c30cd152f84270aac2cca993d5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: traceon-0.7.0rc1-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 177.1 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.0rc1-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d6d85c7df1e6e2a3cae59e0f7916c57c2344220c02bef66f7a1abfa676a80fb6
MD5 3ec145c8eaa4c0f089ce71b897b1b81c
BLAKE2b-256 f9dbf2a81d8de47ac7b30a607697cbcb2604c587f7c417bfb026119fd586f550

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traceon-0.7.0rc1-cp37-abi3-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 99412e1770677c4e5d24c19d711f838be0f2e8f4aad67c87b6df6a07b54d38cd
MD5 8a1ffeb5f5c4ad76c4e3a7f6e130c495
BLAKE2b-256 7539bfa491256eec99d53e92a5732d6abaff9ce6b6de8d03c620bdbd85566d69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traceon-0.7.0rc1-cp37-abi3-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 848623a775bb9e25b8201a67f8fa0ec4c7ce1977dd71b8abe43aa9a230f878ba
MD5 a8bd598732cd2e5e1748abe6b80c997f
BLAKE2b-256 ff63f3ac4090e232ec8833c6c90a54b4b4f5d40c60e7ae9294999a18c5ea1a43

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