Skip to content

Electromagnetic numerical simulator for moving point charges published in the American Journal of Physics (AJP).

License

Notifications You must be signed in to change notification settings

MatthewFilipovich/moving-point-charges

Repository files navigation

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.

Update Notice

For the latest version of this library, please visit the PyCharge repository.

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.

About

Electromagnetic numerical simulator for moving point charges published in the American Journal of Physics (AJP).

Topics

Resources

License

Stars

Watchers

Forks