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
Citation
Please cite the software as follows:
L.B. van Velzen. Traceon software (version 0.3.0). 2023. https://doi.org/10.5281/zenodo.8079985
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
Help! I have a problem!
Don't worry. You can reach me.
Gallery
Features
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file traceon-0.3.1.tar.gz
.
File metadata
- Download URL: traceon-0.3.1.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6413c536f7166f7b51a40bf25b43032c75f3ffeda38a1e1b00fff212ea9fa605 |
|
MD5 | 2bb14bd05164dc307c9b870a323cb7fc |
|
BLAKE2b-256 | 71a074305467abe8253b0d5d8968d2c4ea134f23603e6b6402c86eb0213e5a86 |
File details
Details for the file traceon-0.3.1-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: traceon-0.3.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3bacd3eea7d36c83b12e61df7710a48ef1935ed39366f124efcde798c113a28 |
|
MD5 | 6108d88ed81b409eaee24849398f46e2 |
|
BLAKE2b-256 | b066e33490e385ff931ebd4a57a2b09310eab1a3e78027615d2ab0424103cc16 |
File details
Details for the file traceon-0.3.1-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: traceon-0.3.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55f652b09b0ab24932cc0aa801b88edcbb393906be876f7cbd19424662495a23 |
|
MD5 | a80d4aac3febff6fab5e5b6b35f63aa1 |
|
BLAKE2b-256 | eefd101956e8f759c9b83b97f987b9e7a18f834a530a693fd833c1eb65409579 |
File details
Details for the file traceon-0.3.1-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: traceon-0.3.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d63cfb6d8c8a00688d1878e4bab09691e9a74bf6c7dd7b05aee34acf2c66ab0 |
|
MD5 | 4ce74c430f7e94ef533e9346723fb11e |
|
BLAKE2b-256 | 8652ec26f76e608934f0c11882b473abe7ceb64075ab6eb24b6ad19855db31b4 |
File details
Details for the file traceon-0.3.1-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: traceon-0.3.1-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d561244ce998684f51488418d41d33b36a973a2836c9dd6c2d8d972e296cc60 |
|
MD5 | 6f5cf896ce633238fdd82c1c3ea27593 |
|
BLAKE2b-256 | d20497772db779090daf3ecdd362657e3c2ed5cbdb68edb477d831cc1f92a968 |
File details
Details for the file traceon-0.3.1-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: traceon-0.3.1-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac0b17e71f9d92865fd43b275aefeb6f7db72421ddc71f20af7cb8907b7bf989 |
|
MD5 | 868fdbdfcd48eb7e42aa635afacc8c1a |
|
BLAKE2b-256 | 7ad72b91b91eefb77f700b5c7fabeeb873293c3ff2745425a48ea321a445487c |