Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

A formula would be preferred. :-)

  1. Nov 20, 2015 #1
    Sorry, there's going to be a lot of preamble here.

    I've written a book that involves a lot of space travel, therefore a lot of time dilation (all sub-light travel). I've been calculating the transit times and subjective durations by brute force, i.e. I wrote a program to calculate tau on a second-by-second basis, accumulate time, calculate 'real' acceleration, and accumulate velocity. It works up to a point, but beyond a certain distance, even double-precision variables aren't enough.

    It occurs to me that there should be formulae to calculate the results without using an iterative approach. something like

    SubjectiveElapsedTime = MagicFunction1(distance,acceleration);
    MaximumSpeed= MagicFunction2(distance,acceleration);
    ObjectiveElapsedTime = MagicFunction3(distance,acceleration);

    So, given a distance that you want to travel, and a given constant acceleration, you could calculate the total time experienced by the occupants, the elapsed time to the universe at large, and the maximum speed of the craft.

    Also, of course you accelerate for half the journey and decelerate for the second half, so just consider the first half.

    Aaaaaaaaaaaaaanyway, finally coming to the end of my preamble, someone must have derived these formulae at some point, but I can't find them anywhere. Any pointers?
  2. jcsd
  3. Nov 20, 2015 #2
    Focus on what's called proper time. That's the time on your wrist watch. When the traveler returns he finds that less proper time has elapsed on his watch that on the watches of the people back home.

    But those two halves put the traveler in a far-away location. Don't you want him to return home?

    The easiest way to do this is to just assume a constant speed for the traveler. That speed is ##\beta##, a number between 0 and 1, where 1 is the speed of light. Then you calculate the value of ##\gamma## using the formula $$\gamma=\displaystyle \frac{1}{\sqrt{1-\beta^2}}.$$ Then relate the time passed at home ##\Delta t## to the time passed by the traveler ##\Delta \tau## using ##\Delta t=\gamma \Delta \tau##.

    So, for example, when ##\beta=0.87##, ##\gamma \approx 2##. Thus, if one year passes for the traveler before returning home, two years pass for the people at home.
  4. Nov 20, 2015 #3
    See if this helps:
    subsection Acceleration in (1+1)D
    Last edited: Nov 20, 2015
  5. Nov 20, 2015 #4
    I think the equations you are looking for are in this article.



    Where a0 is the acceleration and tau is the proper time.
    Sorry I keep forgetting the Latex syntax, I have to look it up each time . . . :(
  6. Nov 20, 2015 #5


    User Avatar

    Staff: Mentor

  7. Nov 21, 2015 #6
    Thanks all. I'm going to try to extract the most straightforward versions of the formulae and run them.
  8. Nov 21, 2015 #7
    On reflection I'd go for the Baez ones as they contain c explicitly and have a direct expression for v.
  9. Nov 21, 2015 #8
    The baez formulae were the easiest to convert into something practical. I wrote this:

    static void Main(string[] args)
    double ObjTime = 0;
    double SubjTime = 0;
    double Accel = 9.8;
    double C = 300000000;
    double Distance = C * 10.5*365*86400;

    // t = sqrt[(d/c)2 + 2d/a]
    ObjTime = Math.Sqrt(Math.Pow(Distance / C, 2) + 2 * Distance / Accel);
    ObjTime = ObjTime / (86400 * 365);
    Console.WriteLine("Takes " + ObjTime.ToString() + " years");

    // T = (c/a) cosh-1 [ad/c2 + 1]
    SubjTime = (C / Accel) * arcosh(Accel * Distance / Math.Pow(C, 2) + 1);
    SubjTime = SubjTime / (86400 * 365);

    Console.WriteLine("Experience " + SubjTime.ToString() + " years");

    // acosh(z) = ln(z +/- sqrt(z * z - 1))
    static double arcosh(double z)
    returnMath.Log(z + Math.Sqrt(z + 1) * Math.Sqrt(z - 1),Math.E);


    Takes 11.4295610709807 years
    Experience 3.06828961086255 years

    It's within range of what I was getting with the brute-force approach. On an first-cut basis, this looks good.

    Thanks, all.
  10. Nov 21, 2015 #9


    User Avatar
    Science Advisor

    A useful check - if you change units to c=1 (which is what the formulae m4r35n357 quotes do) and measure time in years, then you measure distance in light years and it turns out that g≈1 light year per year squared.

    You seem to be talking about a journey of 10.5 light years (presumably it's 21 ly one way, with a turn-over half way). Plugging x=10.5 and a0=g=1 into m4r35n357's first expression gives you that the experienced time is [itex]\tau=\cosh^{-1}(10.5+1)=3.13[/itex], which you can plug in to the second expression to get the time according to an observer at rest with respect to the traveller's starting point [itex]t=\sinh(3.13)=11.5[/itex].

    I don't agree with you exactly, but my figure for g is only good to about 5% - so I think you're good.

    Calling these "objective" and "subjective" time is making my teeth itch a bit. You've got two different subjective times - there isn't really anything one can call "objective time". The one you are calling objective is the one that everybody sitting at home will use, but it's not objectively correct.

    By the way - you can use code tags to display code nicely (quote my post to see how):
    Code (Text):

    class C {
        void someMethod() {
    Last edited: Nov 21, 2015
  11. Nov 21, 2015 #10
    Thanks for the pointer about the code tag. I should know about that (probably did at one time) but I don't use it enough to remember.

    As for the objective/subjective thing, I know I'm playing fast and loose, but I think it's obvious that I'm talking about observer at rest vs accelerated observer, and anyway the average reader isn't going to sweat it. They just want to know that the story takes into account relativistic effects.

    The 10.5 is actually the distance to Epsilon Eridani, which is my hero's first stop. And yeah, he actually brakes so I redid the calc with a turnover halfway. It looks like my iterative approach was a little optimistic, by which I mean it calculated the tau effects a little high.

  12. Nov 21, 2015 #11


    User Avatar
    Science Advisor

    Agreed - although you do get pedantic physicists (if that's not a tautology) reading SF. If you're using it in your text you could consider throwing in a line about your characters knowing it's not quite right, but it being a convenient jargon.

    Again, ballpark, I make that 2.5 years "subjective" and 6.2 years "objective" for each half journey (so 5.0 years and 12.3 years for the full trip).
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Similar Discussions: A formula would be preferred. :-)
  1. A preferred frame? (Replies: 12)

  2. Preferred Coordinates (Replies: 9)

  3. Preferred frame (Replies: 2)