Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matthewfilipovich/moving-point-charges
Electromagnetic numerical simulator for moving point charges published in the American Journal of Physics (AJP).
https://github.com/matthewfilipovich/moving-point-charges
electromagnetic-simulation physics-simulation
Last synced: 17 days ago
JSON representation
Electromagnetic numerical simulator for moving point charges published in the American Journal of Physics (AJP).
- Host: GitHub
- URL: https://github.com/matthewfilipovich/moving-point-charges
- Owner: MatthewFilipovich
- License: gpl-3.0
- Created: 2020-11-16T16:19:14.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-09-22T08:37:35.000Z (over 2 years ago)
- Last Synced: 2024-03-12T18:29:26.307Z (10 months ago)
- Topics: electromagnetic-simulation, physics-simulation
- Language: Jupyter Notebook
- Homepage: https://doi.org/10.1119/10.0003207
- Size: 44.2 MB
- Stars: 8
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# Space-Time Computation and Visualization of Electromagnetic Fields from Moving Point Charges
**moving-point-charges** is an open-source Python library designed to simulate the full 3D electromagnetic fields and potentials generated by moving point charges. This tool supports the analysis of charges in arbitrary motion at varying speeds. For an in-depth understanding, refer to the related [American Journal of Physics paper](https://doi.org/10.1119/10.0003207).
### Update Notice
For the latest version of this library, please visit the [PyCharge repository](https://github.com/MatthewFilipovich/pycharge).## Getting Started
### Key Components
- **MovingChargesField Class**: Calculates electromagnetic fields and potentials at each grid point by determining the delayed time of each point charge.
- **Charge Class**: An abstract class that allows the definition of a charge's trajectory in three dimensions.### Usage
Instantiate the `MovingChargesField` with a list of `Charge` objects to begin simulations. The class computes the electromagnetic components (`x`, `y`, `z`) and the individual Coulomb and radiation terms of the electric and magnetic fields.### Included Charge Models
The library includes several models for moving charges:
- `OscillatingCharge`
- `OrbittingCharge`
- `LinearAcceleratingCharge`
- `LinearDeceleratingCharge`
- `LinearVelocityCharge`### Visualizations
Examples of visualizations and animations are available in the `Paper_Figures` folder, showcasing the capabilities of the library using matplotlib for graphical outputs.