What is this? A simulation of electrodynamic forces on the surface of a flat torus, where the user can view the surface in both intrinsic and extrinsic (embedded in 3D) views. The user can add positive and negative charges and visualize their movement and the resulting electric field on the torus.

How to use the simulation

- In the intrinsic view, we look at the flat torus as a standalone surface, which can be viewed as a square with the pairs of top and bottom as well as left and right edges identified. In the extrinsic mode, we embed the torus in \(\mathbb{R}^3\) and project to our viewing plane: this gives us the usual donut picture of a torus. Click on the buttons at the bottom to switch between the two views.
- In intrinsic mode, click on the screen to add charges. Use \(+\) or \(-\) to control whether the added particle is a proton (positive charge) or electron (negative charge). The arrows at each grid point represent the electric field at that point.
- In extrinsic mode, drag the screen to rotate the torus.

Math and physics behind the project
The electrostatic force between two point charges \( q_1 \) and \( q_2\) has the following magnitude, given by
Coulomb's law: \[ || \vec{\mathbf{F}} ||= k\frac{q_1q_2}{r^2}\] where \( k \) is Coulomb's constant (in \( N
\cdotp m^2 \cdotp C^{-2} \)) and \( r \) is the distance between the two charges (in \(m\)). The force is
attractive if the charges have opposite signs, and repulsive otherwise.
The electric field \( \mathbf{\vec{E}} \) produced by a charge at a point \(x \) is a vector field defined at each
point (except at the point \(x\)) given by \[ \mathbf{\vec{E}}= \frac{\mathbf{\vec{F}}}{q} \] where
\(\mathbf{\vec{F}}\) is the force between the charge at point \(x \) and the charge \(q\) at an arbitrary point of
space.

Given \( N \) point charges denoted by \( q_i \) where \( i = 1, ..., N \), we seek to study the electric field
they generate. We define the potential function \( V_p: \mathbb{R}^3 \rightarrow \mathbb{R} \) as the fundamental
solution to Poisson's Equation:
\[
- \Delta V_p = \delta_p. \]Here, the dirac delta \( \delta_p \) is the distribution (a generalized function) which
concentrates all the mass at one point, \( x = p \) (intuitively, it can be thought of as the \(
\text{``derivative''} \) as the Heavyside function where the jump from \( 0 \) to \( 1 \) occurs at \( x = p \)):
\[
H(x) := \begin{cases}
0 & \text{ if } x < p, \\ 1 & \text{ if } x \geq p. \end{cases} \] This simulation seeks to study a generalization
of this problem, where instead we study electric fields on general Riemannian spaces rather than just flat space
\( \mathbb{R}^3 \).

The mathematical justification for our project comes from the following example in the paper, *Geometrical and
topological aspects of electrostatics on Riemannian manifolds*:

**Example.** Let us consider the Euclidean plane, with coordinates \( x \), and the additive action of \(
\mathbb{Z}^2 \) on \( \mathbb{R}^2 \). Define the following sum over the lattice \( \mathbb{Z}^2 \):
\[
\sum_{n \in \mathbb{Z}^2} := \lim_{k \rightarrow \infty} \sum_{n_1 = -k}^k \sum_{n = -k}^k.
\]
Given a configuration of point charges \( q_i \) and locations \( x_i \), denoted by \( \mathcal{C} := \{ (q_i,
x_i)_{i \in I} \} \). This configuration induces a potential of the form:
\[
V = - \frac{1}{2\pi} \sum_{n \in \mathbb{Z}^2} \sum_{i=1}^N q_i \log | x- x_i + n | - c_n.
\]
In our model one can add any number of positive and negative charges. When the positive and negative charges are
equal, then we in the case of *conservative charges*. Here, the charges sum to zero. This is justified by
the following proposition:

**Proposition.*** The electric field generated by the charge configuration \( \mathcal{C} \) on a closed
\(2\)-manifold (a \( 2 \)-manifold is a two-dimensional manifold: the most well-known one is the sphere; the
donut is the example that we focus on) exists if and only if \( \sum_{i \in I} q_i = 0 \) where \( I \) is
some index set.
*

Without loss of generality, the configuration \( \mathcal{C} \) studied can be reduced to \( \mathcal{C} := \{\ ]-1, 0\ [\ , ]\ 1, x_0[\ \} \). We want the above sum for \( V \) to be uniformly convergent on compact sets
which do not contain point charges. Under such restrictions, we obtain the following choice for \( c_n \):
\[
c_n = \frac{|x_0 \cdot n|^2}{1+|n|^4} - \frac{|x_0|^2}{2+2|n|^2}.
\]

__Enciso, Alberto and Peralta-Salas, Daniel (2008).__ **Geometrical and topological aspects of electrostatics
on Riemannian manifolds**. *Journal of Geometry and Physics*, **58**(9): 1267-1269.