This page solves the charge-free region between fixed conductors and fixed walls. If you wanted free charge density inside the domain, the governing equation would become Poisson's equation instead.
∇2φ = ∂2φ/∂x2 + ∂2φ/∂y2 = 0
φi,j* = (φi+1,j + φi-1,j + φi,j+1 + φi,j-1) / 4
φi,j ← φi,j + ω (φi,j* - φi,j)
E = -∇φ
Discrete harmonic average. Every non-fixed cell relaxes toward the average of its four cardinal neighbors, which is the standard five-point finite-difference stencil for the 2D Laplacian.
Red-black ordering. Alternating checkerboard updates make Gauss-Seidel easy to parallelize conceptually while still using freshly updated values inside each sweep.
Successive over-relaxation. The ω slider intentionally exposes the classic convergence-speed tradeoff: too low is slow, too high overshoots.
Physical interpretation. Equipotential contours are orthogonal to the electric field in the continuous limit, so the arrows should cut across contour bands rather than flow along them.