This repository contains a suite of Python simulations that model the core phenomena of General Relativity. Rather than relying on abstract tensor calculus or Schwarzschild radial coordinates, these simulations explore gravitational physics strictly through the Isotropic Coordinate Grid. By viewing the universe through this Cartesian-like frame, gravity ceases to be a mysterious pulling force. Instead, it is modeled via the Optical-Mechanical Analogy: a refractive geometric landscape where the local coordinate speed of light (
This optical approach traces its conceptual roots directly to Albert Einstein's own developmental work. In his 1911 publication, On the Influence of Gravitation on the Propagation of Light, Einstein first proposed that a gravitational field physically alters the coordinate speed of light. To mathematically model the bending of starlight, he explicitly invoked Huygens' principle, demonstrating how this varying speed limit acts as a refractive lens that steers the wavefronts of passing light.
While his 1911 calculation solely accounted for time dilation (yielding a deflection of 0.83 arcseconds), his finalized 1915 General Theory of Relativity introduced spatial curvature, doubling the effect to the correct 1.75 arcseconds.
The Isotropic Grid beautifully unifies these two eras of Einstein's thought. By translating the full 1915 metric into a single isotropic speed limit (
In this framework, the equations of motion are broken down into intuitive components:
- Static Steering (Radial): The spatial gradient of the vacuum physically refracts trajectories inward.
- Dynamic Braking/Accelerating (Longitudinal): The inertia of massive particles resists the changing coordinate speed limit, actively draining or boosting their forward momentum.
-
Earth_Gravity_Profile.py: Maps the baseline optical density and spatial gradients of the Earth.
-
Shapiro_Delay.py: Numerically integrates radar time deficits using historical JPL DE440 ephemeris data.
-
Gravitational_Redshift.py: Demonstrates coordinate frequency conservation and wavelength stretching of solar emission lines.
-
Starlight_Deflection.py: Proves mathematical equivalence between Isotropic optical steering and Schwarzschild tensor mechanics.
-
Black_Hole_Photon_Ring.py: Shows how the Event Horizon and the Photon Sphere naturally emerge from the extreme limits of the optical gradient.
-
Mercury_Precession.py: Splits the 1st Post-Newtonian orbital equations into competing static and dynamic components.
-
Equivalence_Principle.py: Visualizes the local core tangents of accelerating versus resting reference frames.
To understand how this repository functions, we must first unlearn the concept of gravity as a pulling force. Below is the output of Earth_Gravity_Profile.py, which maps the gravitational landscape of our own planet using the Optical-Mechanical Analogy.
In this framework, Earth's mass does not generate a downward pull; it simply alters the physical structure of the surrounding vacuum.
The dashed blue line represents the local coordinate speed of light (
- In deep space,
$c_{eff}$ is equal to the absolute vacuum speed$c_0$ . - At Earth's surface, the vacuum is dense enough that light slows down by a microscopic fraction of a meter per second.
- At the exact center of the Earth's core, the vacuum reaches its maximum density.
In classical physics, acceleration is treated as a fundamental force. On the isotropic grid, acceleration is simply the spatial gradient (the slope) of the
Because particles adhere to the Principle of Least Time, their quantum wave functions are physically steered inward by this gradient.
-
At the Core:
$c_{eff}$ is at its absolute lowest, but the gradient (the slope of the blue curve) is perfectly flat. Therefore, the acceleration (green line) is exactly 0 m/s². You float weightless. - At the Surface: The slope of the blue curve is at its absolute steepest. The universe is trying to refract your momentum inward with maximum intensity, resulting in the peak gravitational acceleration of 9.81 m/s².
In classical physics, gravity is driven by an invisible "potential" (
In the weak-field limit, this pure geometric relationship is expressed as:
Where:
-
$c_0$ is the absolute speed of light in a pure vacuum. -
$G$ is the gravitational constant. -
$M$ is the mass of the celestial body. -
$r$ is the coordinate distance from the center of the mass.
Because the vacuum dictates the mechanics of all particles passing through it, what classical physics calls the "Newtonian gravitational potential" is not the source of gravity. It is merely a macroscopic mathematical consequence of the
This single
All simulations in this repository—from the deflection of starlight to the 43-arcsecond precession of Mercury—are governed by this exact same refractive principle.
If the physical vacuum thickens and
The script Shapiro_Delay.py models this exact effect using historical JPL DE440 ephemeris data (via Skyfield) for the 1970 superior conjunction of Venus.
Rather than using an analytical shortcut, the script mathematically constructs the physical line-of-sight vector between Earth and Venus at each daily timestep. It then numerically integrates the vacuum deficit (
The resulting calculation faithfully reproduces the ~175 microsecond peak round-trip delay observed by the MIT Lincoln Laboratory in 1970. Because of Venus's orbital inclination, the planet passed just outside the Sun's physical radius from Earth's perspective during this specific conjunction, allowing the radar signal to graze the deepest part of the
The standard explanation of gravitational redshift claims that a photon "loses energy" as it fights to climb out of a gravity well. The script Gravitational_Redshift.py demonstrates that on the Isotropic Grid, the wave loses no coordinate energy whatsoever during transit.
-
The Lazy Emitter: Because the physical vacuum is denser at the surface of the Sun (
$c_{eff}$ is low), the internal quantum phase clock of an emitting atom is suppressed. It emits a photon with a lower initial coordinate frequency ($f$ ). - Conserved Frequency (Red Line): Once emitted, the coordinate frequency of the wave is strictly conserved. It climbs all the way to deep space without the frequency dropping by even a fraction of a Hertz.
-
The Stretching Wave (Blue Line): Because
$f$ is locked, but the local speed limit ($c_{eff}$ ) increases as the wave moves away from the Sun, the fundamental wave equation ($v = f \lambda$ ) demands that the coordinate wavelength ($\lambda$ ) must physically stretch.
When the wave arrives at Earth, it has exactly the coordinate frequency it was born with. It registers as "redshifted" only because the observer compares it to an Earth-based atom, which is sitting in a thinner vacuum, ticking faster, and emitting at a higher baseline frequency.
The most famous test of General Relativity was the 1919 Eddington eclipse expedition, which proved that the Sun's gravity bends passing starlight by roughly 1.75 arcseconds.
The script Starlight_Deflection.py replicates this phenomenon entirely through optical refraction on the Isotropic Grid.
Because a photon is massless, it possesses no inertia. Therefore, it does not "fight" the
- The Steering Mechanism (Panel 2): As the vacuum thickens near the Sun, the spatial gradient physically refracts the photon's trajectory inward toward the mass.
-
The Speed Limit Correction (Panel 3): As the photon navigates the
$c_{eff}$ drop, the vacuum dynamically drains and then boosts its longitudinal coordinate velocity to enforce the local coordinate speed limit. - Resultant Acceleration (Panel 4): The total coordinate acceleration is decomposed into its perpendicular (steering) and longitudinal (braking/accelerating) components, illustrating exactly how the two mechanisms interact.
- The Macroscopic Outcome (Panel 5): The integration of these optical fluid dynamics yields a cumulative deflection curve that converges flawlessly on the theoretical 1.75 arcsecond limit, achieving the exact geometric reality of curved spacetime using only classical optical principles.
Building directly on the starlight deflection model, we can push the optical-mechanical analogy to its absolute limit: a black hole.
The script Black_Hole_Photon_Ring.py demonstrates how the extreme geometric outcomes of Schwarzschild tensor metrics—specifically the Event Horizon and the Photon Sphere—map flawlessly to the Isotropic optical gradient.
In the Isotropic framework, the defining features of a black hole emerge naturally from the baseline weak-field equation:
1. The Event Horizon (
2. The Photon Sphere (
From our classical limit derivation above, we know the static inward acceleration of the vacuum is
Next, we substitute the squared vacuum equation,
Multiply both sides by
Rearrange the equation to isolate
Since the event horizon is
As the local coordinate speed of light (
- Refracted Escape (< 135.00°): The vacuum acts as an extreme optical lens. The light ray is violently bent but ultimately escapes the gradient, executing a "boomerang" U-turn back into deep space.
-
The Photon Sphere (= 135.00°): At exactly
$1.5 r_s$ , the inward optical steering perfectly balances the tangential velocity of the wave. The light ray becomes trapped in a perfect circular orbit, forming the famous photon ring. - Optical Capture (> 135.00°): If the launch angle is even slightly steeper, the extreme density of the vacuum overwhelms the photon, refracting it in an inescapable spiral toward the event horizon.
Curved spacetime is not strictly required to trap light; an infinitely dense optical vacuum achieves the exact same geometric reality.
The anomalous precession of Mercury's perihelion was the first successful confirmation of General Relativity. The script Mercury_Precession.py models this orbital shift over a 100-year timespan using the 1st Post-Newtonian equations translated into the Isotropic coordinate frame.
Rather than treating gravity as a unified geometric tensor, the Isotropic framework explicitly splits the relativistic forces into two competing optical mechanics, which are toggled and analyzed independently within the integration loop:
-
Isotropic Steering (Panel 2): Because Mercury possesses mass, it does not perfectly surf the
$c_{eff}$ gradient like a photon. However, the varying thickness of the vacuum still exerts a net inward, radial steering force, which independently pushes the orbit into a retrograde precession. - Isotropic Speed Limit (Panel 3): As Mercury plunges toward perihelion, it must navigate the thickening vacuum. To prevent the planet from violating the localized speed limit, the vacuum actively drains its longitudinal momentum (Braking) as it approaches the Sun, and pays it back (Accelerating) as it recedes. This longitudinal interaction pushes the orbit into a massive prograde precession.
- The Precession Split (Panel 4): By running three parallel universe simulations, the script proves that the observed 43 arcsecond/century macroscopic outcome is actually the sum of the prograde dynamic braking completely overwhelming the retrograde static steering.
Einstein's Equivalence Principle states that the localized experience of resting in a gravitational field is completely indistinguishable from uniformly accelerating in deep space.
The script Equivalence_Principle.py visualizes exactly why this principle holds true by mapping the optical strain surrounding a localized particle.
In this framework, a particle is defined by a Gaussian well—a localized dip in the coordinate speed of light created by its own energy density. This provides a direct physical explanation for why inertial mass and gravitational mass are exactly equal: they are not two distinct properties, but rather two different geometric interactions with the exact same
The script generates a matrix to compare three specific kinematic states across varying levels of applied force:
- Gravity (Left Column): When a particle is held at rest on a planet, the external gravitational gradient acts as a slanted background. This tilts the net optical strain, forcing the core tangent to slope. This tilted tangent is the experience of weight.
- Inertia (Middle Column): When a particle accelerates through flat deep space, it outruns its own propagating field. The script uses an error function (
erf) to model this lagging inertial wake, physically skewing the particle's well. This internal skew tilts the core tangent to the exact same degree as the external gravitational background. - Free-Fall (Right Column): When a particle is dropped in a gravitational field, it accelerates downward. The lagging inertial wake created by its acceleration perfectly cancels the tilt of the external gravitational background. The core tangent flattens out entirely, resulting in zero experienced force (weightlessness).
Why does classical physics work so well if gravity is actually an optical phenomenon caused by the vacuum?
In the Isotropic framework, Newtonian gravity is not a separate physical law. It is simply the mathematical limit of the optical-mechanical analogy when an object is moving slowly in a weak vacuum gradient. Here is how Newton's famous inverse-square law effortlessly emerges from the
As demonstrated in the orbital simulations, an object navigating the vacuum experiences two geometric accelerations: static steering and dynamic braking.
However, the dynamic longitudinal term (
By the chain rule of calculus, the product of a function and its spatial gradient is exactly equal to half the gradient of that function squared:
If we take our foundational weak-field vacuum equation,
When we plug this squared speed limit into our acceleration formula, the constant absolute speed of light (
The Conceptual Paradigm Shift: Newton's invisible "pulling force" does not exist. The acceleration of
The simulations in this repository demonstrate that the macroscopic predictions of General Relativity can be achieved without invoking curved spacetime. Below is a comparative matrix illustrating how the exact same physical phenomena are conceptually mapped in standard Tensor Calculus versus the Isotropic Grid, as well as the advanced phenomena where the scalar optical analogy reaches its limits.
| Physical Phenomenon | Tensor Calculus (Pseudo-Riemannian Geometry) | Isotropic Grid (Optical-Mechanical Analogy) |
|---|---|---|
| Mathematical Framework | Spacetime is a curved pseudo-Riemannian manifold defined by a 16-component metric tensor |
Space is a flat Euclidean grid; dynamics are dictated by a single scalar coordinate speed limit field ( |
| Coordinate Basis |
4D Spacetime |
3D Space + Speed Limit |
| Path Optimization | Particles follow geodesics (maximizing proper time / shortest spacetime path, |
Particles strictly follow Fermat's Principle of Least Time through a varying refractive vacuum. |
| Origin of Gravity | Mass-energy curves the geometric fabric of 4D spacetime. | Mass-energy thickens the physical vacuum, lowering the absolute coordinate speed of light. |
| Shapiro Time Delay | Radar signals take longer because they must traverse a longer physical path through the "dip" of curved spacetime. | The spatial path remains purely flat and Euclidean, but the coordinate wave speed ( |
| Starlight Deflection | Photons travel in perfectly straight lines, but the spacetime geometry they travel through is curved. | Photons are refracted (Huygens' principle); the inner edge of the wavefront moves slower than the outer edge. |
| Orbital Precession | Planets follow non-closing elliptical geodesics dictated by the spatial curvature of the Schwarzschild metric. | Planets navigate the vacuum via a continuous feedback loop of static steering (radial) and dynamic braking (longitudinal). |
| The Event Horizon | A geometric boundary where the escape velocity exceeds |
The strict mathematical boundary where the vacuum refractive index approaches infinity and |
| Frame Dragging (Lense-Thirring) | Rotating masses dynamically drag the fabric of spacetime, requiring off-diagonal tensor components (e.g., |
Not Modeled: A single scalar |
| Gravitational Waves | Dynamic, propagating ripples in the spacetime metric tensor (spin-2 radiation). | Not Modeled: The scalar optical analogy focuses on static gradients and lacks a natural mechanism for transverse tensor radiation. |
Ultimately, whether you choose to view gravity as the geometric curvature of spacetime or the fluid dynamics of a refractive vacuum, the core kinematics of the solar system behave the exact same way. The Isotropic Grid simply offers a strictly Cartesian, fundamentally optical lens through which to write the code.
To maintain strict physical rigor, these simulations adhere to the following coordinate rules:
- Spatial Projections: In all ray-tracing and kinematic models, the spatial projection strictly follows the opposite direction of the local inertial frame.
-
Velocity Vectors: In kinematic plots, the local invariant speed of a photon is labeled strictly as
$c$ . The term "apparent" is intentionally omitted to maintain the distinction between the calculated coordinate speed ($c_{eff}$ ) and the locally measured invariant speed.
The simulations are built in Python, heavily utilizing standard data science libraries:
SciPy(Specifically thesolve_ivpDOP853 solver for high-precision, continuous Runge-Kutta integration)NumPyfor vectorized array operationsMatplotlibfor multi-layered kinematic and phase-space plottingSkyfieldfor using historical JPL DE440 ephemeris data
To run these simulations locally, it is recommended to use Conda to manage the environment and dependencies.
Clone the repository and build the environment using the provided environment.yml file:
git clone https://github.com/yourusername/isotropic-relativity.git
cd isotropic-relativity
conda env create -f environment.yml
conda activate isotropic-envThis project is licensed under the MIT License—see the LICENSE file for details.
Maintained by Bart Leplae.
The physical hypothesis is original research.
The Python codebase—specifically the numerical integrations using SciPy's DOP853 solver, the historical Skyfield ephemeris architecture, and the Matplotlib publication-grade data visualizations—was co-authored and refactored with the assistance of Google's Gemini AI. Gemini was utilized to translate the theoretical physics into optimized, computationally efficient code and to ensure the repository meets professional software engineering standards.






