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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.7+ Windows x86-64

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

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

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

Uploaded CPython 3.7+ macOS 12.0+ x86-64

File details

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

File metadata

  • Download URL: traceon-0.7.0rc3.tar.gz
  • Upload date:
  • Size: 83.8 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.0rc3.tar.gz
Algorithm Hash digest
SHA256 fb79888cdb009ccc999309b68dadb19b3a403cb71c40b33871e13d32bf31167c
MD5 d3c98a955b62ac392de5ac65b8209227
BLAKE2b-256 9eea084ca3a4ad743ebc4472d85e183e0f4ceb2eadb2cd479ddcb0d1f283798a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: traceon-0.7.0rc3-cp37-abi3-win_amd64.whl
  • Upload date:
  • Size: 174.4 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.0rc3-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1a67b3dce642f59b536d63cde5e21376c0f7ed1df60aa3838f510a149f57ce37
MD5 44cd49b715988f84c7e9d7630a4f3e5c
BLAKE2b-256 4951732cc6161b0d13d85d696d0d62778f121c35eab2128d02682655cab6e6cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traceon-0.7.0rc3-cp37-abi3-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 38432b8805ae3a33ee2a353437454e82924f990017fb4618d346b1abbc1797ca
MD5 8be850aeb3c7c33607397ac1b80c0cd1
BLAKE2b-256 8faa01b3ad08695e2ef7003f72c9f7e48e84d175001a608bde5fa11b51334e57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traceon-0.7.0rc3-cp37-abi3-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 b111cb1834492c1924feb7f1e32cb29ae06dca140269f1079b1bfe000975e6a6
MD5 adefda3b54890ecf47aaa135dc07e2ec
BLAKE2b-256 e018eba588d3a3cde81e9051d738b5973e917c556740c79a0f4decc9eb42b7ac

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