Schwarzschild black hole simulation

version 1.0.2 (5.55 KB) by ofer v
Simulation of observers moving and emitting light in a Schwarzschild spacetime, in either Schwarzschild or Kruskal-Szekeres coordinates.


Updated 29 Jul 2019

View License

This simulation show observers emitting light while in fixed positions or freely falling in a Schwarzschild spacetime. The simulation can be shown in either the standard Schwarzschild coordinates or in Kruskal-Szekeres coordinates that extend to times after an observer has crossed the event horizon. Each observer emits a light signal periodically according to his internal clock.

create a simulation with one fixed observer at r=2 and one free falling observer starting from r=1.5 (distances are in units of the Schwarzschild radius)

>> obs(1) = struct('type','fixed','r',2,'phi',pi/4,'pulsePeriod',0.5,'n',400) ;
>> obs(2) = struct('type','free','r',1.5,'phi',pi/4,'pulsePeriod',0.5,'n',400) ;
>> Tmax = 5; %simulation time

run in Schwarzschild coordinates :

>> AxisLimits = [0 2.5 0 2.5] ;
>> run_Schwarzschild(obs,Tmax , AxisLimits)

run in Kruskal coordinates :

>> obs_clock = 2 ; % adjust simulation time to observer 2 proper time
>> run_Kruskal( obs, obs_clock , Tmax)

Example video :

Note that these function require the Lambert_W function available here:

Cite As

ofer v (2022). Schwarzschild black hole simulation (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2019a
Compatible with R2016b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!