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.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.5.0). 2023. https://doi.org/10.5281/zenodo.10775276

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.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.6.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distributions

traceon-0.6.0-cp312-cp312-manylinux_2_31_x86_64.whl (161.9 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.31+ x86-64

traceon-0.6.0-cp311-cp311-win_amd64.whl (157.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

traceon-0.6.0-cp310-cp310-win_amd64.whl (157.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

traceon-0.6.0-cp310-cp310-manylinux_2_31_x86_64.whl (161.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.31+ x86-64

traceon-0.6.0-cp39-cp39-win_amd64.whl (160.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

traceon-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (162.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

traceon-0.6.0-cp38-cp38-win_amd64.whl (160.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

traceon-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (162.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

traceon-0.6.0-cp37-cp37m-win_amd64.whl (160.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

traceon-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (162.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: traceon-0.6.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.2

File hashes

Hashes for traceon-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ec7aa919d641b7d2abeb3d19dc1a3c71b1b60f3bfc11818c3777c628176bfd5b
MD5 7471fd4734c99de77e57a11923e95f5a
BLAKE2b-256 c3d92b04a7efb6d15f1dfc06f574d4e3a4acc94005b9aa08d9d01f9a9191374a

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for traceon-0.6.0-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 baeb41b74a8afb229bebacfd4e4701aee4d26e2b900a7c3d86a915e12cc6e5d9
MD5 44898faf3894e209e3654d89a6249fc6
BLAKE2b-256 fa94e411c044eca3c145b5bb83d319564b75293486cd00722d3e1977edd839b6

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: traceon-0.6.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 157.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for traceon-0.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1d0a694e3215ff3887b16ad720283cd09e9de128df89553a3d45873b83f6bbe9
MD5 75c55552022adcff12ef71df0539fe45
BLAKE2b-256 d6e2b1da404d237111568e6c11dd707273e99d8dd04db957cb676c18b9f1d07c

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: traceon-0.6.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 157.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for traceon-0.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 560f283dc36e4cd6eefd41d6ca2eefa47833b1d9efa2dcb104709b255225b850
MD5 5b8e950430a433f18219827731e240e4
BLAKE2b-256 7c13e5ce4b89141520242271ef1ebea19067af02921933a141d3989fba2ea295

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp310-cp310-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for traceon-0.6.0-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 060cc91359d426f1c9288d86f0d765294e6c5f69f826d30bc007c1f3669db570
MD5 572d6540e997aa20f9cfdcfcd5474057
BLAKE2b-256 0706094b55d0aca01518028554f9d0bc0b26f0a5eea0c021a12126a3949bafe3

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: traceon-0.6.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 160.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for traceon-0.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7f6d7decb1bd7647a3e9f0a70b2d0a48feeaf09cde9713bc5f18cfed37b22c4a
MD5 e7f84f3077a600824cf344de321bd779
BLAKE2b-256 03e052ff2c829b9e2a63c80feac5889bca0244fbed344c487c3b29b9b8e5ffd8

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for traceon-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8b4b795d961f028ceb7dcd65720fdbbe8895dde29f8891e304fb93d18f9bf18
MD5 e98f61dacf16b87d8a2af7ca233160e1
BLAKE2b-256 f0a155ae36ad9632265b587dbe92efb01c4a8aaff59fb3fc28a911599668584b

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: traceon-0.6.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 160.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for traceon-0.6.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 690d4b8b66092495a1092bedd894b38706c01b073877d7ab96617bd5b18c85be
MD5 4f901b2ab0757b963e3ca0b50a637d3d
BLAKE2b-256 d60e951305f8d9e67b162b96125142277fe227ee68f1a456dfd7f3b41436b0e1

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for traceon-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 946b2f5639d7870a79ef68233459117ab5b2534272455adae278ba9ec1030645
MD5 b1483a8e2dcacac0e1d239894ff95a8e
BLAKE2b-256 e1947686974b52e466319185f4308fc9b1e2e90082e164f4329b443904d8043d

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: traceon-0.6.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 160.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for traceon-0.6.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 b9b781cbe51ae874e741ed8996683446f8d774ca3546ccacec878c03c02a636b
MD5 4cf364fa8355e246c9a025d82e0d0855
BLAKE2b-256 2b60e789896cb9739dcd6dbdec39417f2fecee44f52c86e6e6c2a848f1c76838

See more details on using hashes here.

File details

Details for the file traceon-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for traceon-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3ad0b8cfbcc5c6d1c137f8e8ea950f0f212d953b9eb38915bc19959df24f1e5
MD5 e8e90466ffdb3dd6e486fdcb9d9ea3b3
BLAKE2b-256 f59a3a02932614647e3c487987dbe449692158fb6eb1562bc317d165e2ff9a1d

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