Schwarzschild black hole simulation
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.
Example:
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 :
https://www.youtube.com/watch?v=WoCrkn8ZvQo&t=9s
Note that these function require the Lambert_W function available here:
https://www.mathworks.com/matlabcentral/fileexchange/43419-the-lambert-w-function
Cite As
ofer v (2026). Schwarzschild black hole simulation (https://uk.mathworks.com/matlabcentral/fileexchange/72254-schwarzschild-black-hole-simulation), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Sciences > Physics > General Physics >
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
