traceon


Nametraceon JSON
Version 0.5.0 PyPI version JSON
download
home_pagehttps://github.com/leon-vv/Traceon
SummarySolver and tracer for electrostatic problems
upload_time2024-03-03 16:09:56
maintainer
docs_urlNone
authorLéon van Velzen
requires_python
licenseAGPLv3
keywords boundary element method bem electrostatic electromagnetic electron microscope electron tracing particle tracer electron optics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

[Examples](https://github.com/leon-vv/Traceon/tree/main/examples)

[API documentation](https://leon.science/traceon/index.html)

## Citation

Please cite the software as follows:

```
L.B. van Velzen. Traceon software (version 0.4.0). 2023. https://doi.org/10.5281/zenodo.10035301
```

## 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](https://github.com/leon-vv/Traceon/tree/main/validation) directory for more information. The validations can easily be executed from the command line, for example:
```bash
python3 ./validation/edwards2007.py --help
python3 ./validation/capacitance-sphere.py --help
etc...
```

## License

[AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html)


## Help! I have a problem!

Don't worry. You can reach me.

[Open an issue](https://github.com/leon-vv/Traceon/issues)

[Send me an email](mailto:leonvanvelzen@protonmail.com)

## Gallery

![Image of 3D deflector](https://raw.githubusercontent.com/leon-vv/traceon/main/images/deflector-image.png)

## Features

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](https://vedo.embl.es/) 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](https://gmsh.info/) 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



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/leon-vv/Traceon",
    "name": "traceon",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "boundary element method,BEM,electrostatic,electromagnetic,electron microscope,electron,tracing,particle,tracer,electron optics",
    "author": "L\u00e9on van Velzen",
    "author_email": "leonvanvelzen@protonmail.com",
    "download_url": "https://files.pythonhosted.org/packages/bb/65/a94e64bb66924e8f29c7e6ea81b9d84c5ce2c5d3bd0594e1e84d8e44d239/traceon-0.5.0.tar.gz",
    "platform": null,
    "description": "# Traceon\r\n\r\nTraceon 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.\r\n\r\nTraceon is completely free to use and open source. The source code is distributed under the `AGPLv3` license.\r\n\r\n## Documentation\r\n\r\n[Examples](https://github.com/leon-vv/Traceon/tree/main/examples)\r\n\r\n[API documentation](https://leon.science/traceon/index.html)\r\n\r\n## Citation\r\n\r\nPlease cite the software as follows:\r\n\r\n```\r\nL.B. van Velzen. Traceon software (version 0.4.0). 2023. https://doi.org/10.5281/zenodo.10035301\r\n```\r\n\r\n## Installation\r\n\r\nInstall using the Python package manager:\r\n```\r\npip install traceon\r\n```\r\n\r\nThe installation is known to work on Linux and Windows. Please reach out to me if you have any installation problems.\r\n\r\n## Validations\r\n\r\nTo ensure the accuracy of the package, different problems from the literature have been analyzed using this software. See [/validation](https://github.com/leon-vv/Traceon/tree/main/validation) directory for more information. The validations can easily be executed from the command line, for example:\r\n```bash\r\npython3 ./validation/edwards2007.py --help\r\npython3 ./validation/capacitance-sphere.py --help\r\netc...\r\n```\r\n\r\n## License\r\n\r\n[AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html)\r\n\r\n\r\n## Help! I have a problem!\r\n\r\nDon't worry. You can reach me.\r\n\r\n[Open an issue](https://github.com/leon-vv/Traceon/issues)\r\n\r\n[Send me an email](mailto:leonvanvelzen@protonmail.com)\r\n\r\n## Gallery\r\n\r\n![Image of 3D deflector](https://raw.githubusercontent.com/leon-vv/traceon/main/images/deflector-image.png)\r\n\r\n## Features\r\n\r\nv0.4.0:\r\n- Introduce Fast Multipole Method (FMM) for large 3D problems\r\n- Compute 3D radial expansion coefficients using analytical formulas\r\n- Further speed up computation of 3D radial expansion coefficients \r\n- Big code quality improvement of validation/ files\r\n\r\nv0.3.0:\r\n- Use adaptive integration using GNU Scientific Library (GSL)\r\n- Add support for boundary constraint\r\n- Use [Vedo](https://vedo.embl.es/) for better plotting capabilities\r\n- Use higher order triangle elements for 3D (curved triangles)\r\n- Precompute jacobians/positions for better performance\r\n- First implementation of element splitting based on charges (work in progress)\r\n\r\nv0.2.0:\r\n- Use higher order charge distribution on line elements in radial symmetry\r\n- Use higher order line elements (polynomials) in radial symmetry\r\n- Better integration techniques, especially with regards to the logarithmic singularities\r\n\r\nv0.1.0:\r\n- Uses the powerful [GMSH library](https://gmsh.info/) for meshing\r\n- Solve for surface charge distribution using BEM\r\n- General 3D geometries and radially symmetric geometries\r\n- Dielectrics\r\n- Floating conductors\r\n- Accurate electron tracing using adaptive time steps\r\n- Field/potential calculation by integration over surface charges\r\n- Fast field/potential calculation by radial series expansion\r\n- Superposition of electrostatic fields\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": "AGPLv3",
    "summary": "Solver and tracer for electrostatic problems",
    "version": "0.5.0",
    "project_urls": {
        "Code": "https://github.com/leon-vv/traceon",
        "Documentation": "https://leon.science/traceon",
        "Homepage": "https://github.com/leon-vv/Traceon",
        "Issues": "https://github.com/leon-vv/traceon/issues"
    },
    "split_keywords": [
        "boundary element method",
        "bem",
        "electrostatic",
        "electromagnetic",
        "electron microscope",
        "electron",
        "tracing",
        "particle",
        "tracer",
        "electron optics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d19cfaa851c116b05dc5f4f38a6cbcc07819304a85068902c61a63a6f6803db6",
                "md5": "cad0e95116cbc2dc390c8e9c793a10a8",
                "sha256": "b63cdf12b85f227427ffd614dbc602b9562fe786449cb6eacf52e395ec45b84f"
            },
            "downloads": -1,
            "filename": "traceon-0.5.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "cad0e95116cbc2dc390c8e9c793a10a8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 1138656,
            "upload_time": "2024-03-03T16:08:44",
            "upload_time_iso_8601": "2024-03-03T16:08:44.807080Z",
            "url": "https://files.pythonhosted.org/packages/d1/9c/faa851c116b05dc5f4f38a6cbcc07819304a85068902c61a63a6f6803db6/traceon-0.5.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a80a17a9ecc3bc4ee87b4fb7235cb4201f49ffed740fe4e32ab15bbc3f2967e8",
                "md5": "51aff1d82f821e5eb94e75407b1ff326",
                "sha256": "c9c959d65539e9deea0bc6bfbc859a59b10e0f622b04491c1562c47a7c3b58cb"
            },
            "downloads": -1,
            "filename": "traceon-0.5.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "51aff1d82f821e5eb94e75407b1ff326",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 1138656,
            "upload_time": "2024-03-03T16:08:47",
            "upload_time_iso_8601": "2024-03-03T16:08:47.224443Z",
            "url": "https://files.pythonhosted.org/packages/a8/0a/17a9ecc3bc4ee87b4fb7235cb4201f49ffed740fe4e32ab15bbc3f2967e8/traceon-0.5.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71d2b9bad73756445c8cb0470db36226ed277a00e154bca9c06a05dbbae767e3",
                "md5": "6184ec64aaa0af5d3d798bd343cdb0af",
                "sha256": "234686c139ac65f7fe4eb750772c11d997ff2ec96c15b77fa7bd89a64e42496d"
            },
            "downloads": -1,
            "filename": "traceon-0.5.0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6184ec64aaa0af5d3d798bd343cdb0af",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 1139725,
            "upload_time": "2024-03-03T16:08:49",
            "upload_time_iso_8601": "2024-03-03T16:08:49.134481Z",
            "url": "https://files.pythonhosted.org/packages/71/d2/b9bad73756445c8cb0470db36226ed277a00e154bca9c06a05dbbae767e3/traceon-0.5.0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1b21081e5ebe1f06819cfe9286a4469a6573555b2f713b55424d3edc962a6fde",
                "md5": "e8e4af461c151c075d5ffaba46d0e24f",
                "sha256": "0ef62dfa0bfc9d43f7b08fee7cc1b509c24451c8473604b317e210ba08797bf3"
            },
            "downloads": -1,
            "filename": "traceon-0.5.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e8e4af461c151c075d5ffaba46d0e24f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 1139721,
            "upload_time": "2024-03-03T16:08:50",
            "upload_time_iso_8601": "2024-03-03T16:08:50.570865Z",
            "url": "https://files.pythonhosted.org/packages/1b/21/081e5ebe1f06819cfe9286a4469a6573555b2f713b55424d3edc962a6fde/traceon-0.5.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6660cb2327d6b4c57080ecf7099cc510dcc9543c6034895269ef809f301a9953",
                "md5": "8c7cbc1e9cde75ed98332043907dc4d7",
                "sha256": "8bab0fd12ae0dfc9145b16c2a070a9862c1367f5fdf86d1aa17c3520d7433f38"
            },
            "downloads": -1,
            "filename": "traceon-0.5.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8c7cbc1e9cde75ed98332043907dc4d7",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 1139742,
            "upload_time": "2024-03-03T16:08:52",
            "upload_time_iso_8601": "2024-03-03T16:08:52.624603Z",
            "url": "https://files.pythonhosted.org/packages/66/60/cb2327d6b4c57080ecf7099cc510dcc9543c6034895269ef809f301a9953/traceon-0.5.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb65a94e64bb66924e8f29c7e6ea81b9d84c5ce2c5d3bd0594e1e84d8e44d239",
                "md5": "027f19429cc7d231fa5a4a5b4b26525e",
                "sha256": "00991ade70ea70be52f9119c910bd102e19fba0d7dc76fbfa8f94ba7761b0198"
            },
            "downloads": -1,
            "filename": "traceon-0.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "027f19429cc7d231fa5a4a5b4b26525e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 1039873,
            "upload_time": "2024-03-03T16:09:56",
            "upload_time_iso_8601": "2024-03-03T16:09:56.113717Z",
            "url": "https://files.pythonhosted.org/packages/bb/65/a94e64bb66924e8f29c7e6ea81b9d84c5ce2c5d3bd0594e1e84d8e44d239/traceon-0.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-03 16:09:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "leon-vv",
    "github_project": "Traceon",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "traceon"
}
        
Elapsed time: 0.20759s