Page 1 of 1

General Relativity Project

Posted: 21.11.2006, 20:19
by TimeHorse
I am looking at the Celestia source (1.4.1) and it looks like most of the work would be in simulation.cpp and render.cpp for Relativistic motion in an accelerated frame and render.cpp for Gravatation Lensing. Also, astro.cpp for extending time to the Geological and Universal scale. Time IMHO should extend from ~-13.9 Gyr to about a google years in the future, but after about +25 Gyr, time should be measured logrithmically since it would take too long to get to a google years at maximum time speed-up. Obviously, this would mean simulations of the early universe and of geologic time but I take it these can be done using add-ons and do not require changes to the code once astro.cpp has been modified to accept Astronomical Time.

Basically, I intend to add General Relative similar to a post by SW when I suggested this back in 2004 but it's been 15 years since I took Modern Physics at McGill I will probably have some questions. Also, is anyone else working on this? I'd be happy to make this a team effort. Otherwise, does anyone have any other suggestions besides the ones I have here?[/url]

Re: General Relativity Project

Posted: 21.11.2006, 20:29
by t00fri
TimeHorse wrote:I am looking at the Celestia source (1.4.1) and it looks like most of the work would be in simulation.cpp and render.cpp for Relativistic motion in an accelerated frame and render.cpp for Gravatation Lensing. Also, astro.cpp for extending time to the Geological and Universal scale. Time IMHO should extend from ~-13.9 Gyr to about a google years in the future, but after about +25 Gyr, time should be measured logrithmically since it would take too long to get to a google years at maximum time speed-up. Obviously, this would mean simulations of the early universe and of geologic time but I take it these can be done using add-ons and do not require changes to the code once astro.cpp has been modified to accept Astronomical Time.

Basically, I intend to add General Relative similar to a post by SW when I suggested this back in 2004 but it's been 15 years since I took Modern Physics at McGill I will probably have some questions. Also, is anyone else working on this? I'd be happy to make this a team effort. Otherwise, does anyone have any other suggestions besides the ones I have here?[/url]


While I am presently not working on this (lack of time) I have tried already a long time ago (before 2004) to get my dev colleagues interested in implementing a cosmological Celestia mode

http://www.celestiaproject.net/forum/viewtopic ... 24&start=0

including a most promising conformal mapping of the Universe

http://arxiv.org/abs/astro-ph/?0310571

that caused great attention among professionals and media alike.

Of course this implies an incorporation of General Relativity which at least for me is "professional bread and butter".

Bye Fridger

Posted: 23.11.2006, 15:39
by TimeHorse
Thanks Fridger,

I read the discussion and like the idea of co-moving coordinates. Indeed, you bring up a few fascinating issues that remind me how interesting things could be. Namely, I think that your Gott et al. -style 3D transform sounds cool, although I'd probably not set the origin at the center of Earth as the crust of the Earth would obscure your view. I would not set it at the surface either as I think the correct transform from the surface would implicitly have the Earth as a warped spheroid blocking your view, similarly to how it does in a 120* view in the existing Celestia. Rendering a log(r) with 360* view would however be cool from say an L3 point between the Sun and Earth.

That having been said, I'm less concerned with the static rendering in Celestia (except for Gravatational Lensing) and more concerned with NON-inertial reference frames for the observer. More specifically, I want to assume the ship is 0-mass -- so it's gravity does not effect observation -- but allow transforms on dy, dy, dz and dt. In other words, I want to emulate accelerated reference frames with full Lorentz transforms on both the view screen, the blue and red shift of objects and time dialation. I especially would like to generate a warp matrix view such that one could actually SEE what it is like to travel at near the speed of light. That is something that I thing would be very cool and is hard to find demonstrated.

As I see it, this is my priority of tasks:

    1) Transform Time-Cordinates to allow for Years between 2**63 - 1 and -2**63.
    2) Allow for logrithmic time for y (year) > 2**63 - 1.
    3) Split time into 3 concepts:
      a) Duration or Ship Time is the amount of time the simulation has been running, regardless of time on Earth.
      b) Time on Earth to fix observational.
      c) Time since Big Bang as universal time for cosmological observation. Unfortunately, this would be something like +/- 100Myr and thus could not be very well related to b) Earth time.
    4) Add Time Dialation due to Acceleration / Deceleration in Celestia (adjusting time on Earth and universal time).
    5) Display velocity in terms of ship-time, so that distance (dx[Universe], non-transformed) over time (dt[Ship], ship time) can exceed c (similar to how it is done now).
      a) Allow the user to switch between dx[Universe]/dt[Universe], dx[Ship]/dt[Ship], dx[Universe]/dx[Ship] and dx[Ship]/dx[Universe] for velocity.
    6) Contract the display for a given velocity based on the lorentz transforms.
    7) Apply red/blue shift to lorentz-contracted transform.
    8) Apply Gravatational Lensing
    9) Allow planetary evolution by making an add-on for geologic transforms of Earth in ~50Myr intervals.
    10) Allow stellar evolution by giving definite lifetimes of stars.
    11) Provide estimates of unknown quantities:
      a) What existed before the Solar System.
      b) What will exist after the sun dies.
      c) Randomly generate stars in distant galaxies that can be visited.
      d) Generate the universe at 10*100yr.
    12) Make it impossible to visit the edge of the universe as we see it without moving back in time and by moving back in time, make the observable universe restricted by what could be observed for the given era. (This is where co-moving co-ordinates make the most difference.)
    13) Add supernovae and other 1-time events.
    14) Allow infra-red view, ultra-violet view, radio, micro, x-, gamma- and other light filters with frequency transforms into the visible spectrum.


All of this would be independent of the Observation matrix specified in Gott et al. I think that would be a very nice user option in addition to all of what I specified above. Most of what I specify above would also be optional features.