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 (2024). Schwarzschild black hole simulation (https://www.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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.