Speed, acceleration, distance, time question

Click For Summary
The discussion centers on creating a program to calculate realistic space travel parameters for a science fiction novel, focusing on thrust, acceleration, and velocity based on initial conditions like mass, distance, and time. The author seeks assistance with the underlying mathematics, particularly using SUVAT equations, while noting that traditional rocket equations are not applicable due to the use of an external unlimited fuel source. Participants suggest converting all measurements to SI units for accuracy and emphasize the importance of understanding the difference between mass and weight. The conversation highlights the need for clear calculations to ensure the scientific aspects of the story are credible for educated readers. The author expresses gratitude for the help and plans to share the book once published.
texasman1979
Messages
47
Reaction score
0
I am writing a science fiction book. I have several long and/or fast trips to make. I am writing a program where i can pull specific speeds and other data along the time line.

I essentially need to do this several different times with several different trips.

What I need to do is I want to plug in the mass of the ship and the length of time and distance to get there and it gives me all other relevant data such as acceleration, thrust, etc.

Being that it is a novel, it doesn't have to be perfectly correct numbers but i want them to be realistic results that make sense for the more higher educated readers Ill have.

I can write the code to the program but the math is kind of kicking my butt a bit. I have posted a picof the program I'm modifying.

I would appreciate any help i can get to make this novel better for you, the potential reader. :)
 

Attachments

  • Untitled.png
    Untitled.png
    13.3 KB · Views: 596
Physics news on Phys.org
x=x0 +v0 t+1/2at2

Something like that but more. I need to input mass, distance, and time and be able to get all other data.
Again, i don't need help with the Code, just the math.

Thx
 
If you are including relativistic effects then this would be the right place to start
http://math.ucr.edu/home/baez/physics/Relativity/SR/rocket.html
 
Last edited by a moderator:
For my purposes, relativity is not a counted aspect of my story. You'll have to read my book to find out why.

So with that said, a lot of that stuff on that page is only partly useful. do you know a place that covers the topic that well neglecting relatively?
 
Lets hold off the thought of rockets for now. lol

Rocket equations won't work because my craft utilizes an external unlimited fuel source.

I have initial velocity, mass, time, and distance.

I need thrust, acceleration, and other velocities based on time.

ƒΓΔΘΛΠΣΦΨΩΞαβγδεζηθικλμνξοπρσςτυφχψωϑϒϖħ†
Those symbols mean nothing to me as i did not ever take advanced college calculus.

Maybe there is someone that knows high level math than can help me work this out?

I keep finding examples like calculate distance with a given acceleration and speed. That doesn't help.

Anyone else wish to chip in?

Thx Dalespam but i don't think we are on the same page.
 
It might be helpful to work through a specific example. Can you post one?
 
I think it is not possible to take the acceleration (force) as a result of initial conditions. To simulate motion you want the law of motion, the acceleration (force). Try finite difference method with central 1st derivative.
 
There has been an accident with a mining vessel and a new fast boat has been developed. It need to go just over an AU in 40 hours. Like I said, I have some initial info but need various realistic info to propagate the story correctly. This is also important for other parts of the story and will be used multiple times in various ways throughout an entire trilogy of novels and beyond. I need help getting the equations right s I can incorporate them into a computer program I am writing so I can have this readily available over the next several years of writing the books. I am at the point where I need the math to move the book forward.

I need help getting the equations and math right so I can move forward.
 
  • #10
and why has my topic been moved to the nose bleed section? i don't think the issue will be taken seriously here.

is no one willing to help me sort out the math of space flight in the solar system?

i may be writing a book but the math is not fantasy.
 
  • #11
texasman1979 said:
Rocket equations won't work because my craft utilizes an external unlimited fuel source.

I have initial velocity, mass, time, and distance.

I need thrust, acceleration, and other velocities based on time
Then it sounds like you want the so called SUVAT equations. You can use 2 to find acceleration and then 1 to find velocity at any time.

http://physicsforidiots.com/physics/dynamics/

Once you have acceleration, just multiply that by mass to get the thrust (f=ma)
 
  • #12
texasman1979 said:
and why has my topic been moved to the nose bleed section?
It isn't the nose bleed section, it is the science fiction section. You are writing a science fiction book using a fictional unlimited external power source. This is the best place for it. And it seems to have more attention now, not less.
 
  • #13
thats perfect. thx
 
  • #14
after reviewing that page, it is a bit helpful, but there are still questions.

like s, what the heck is s. what is displacement and how does it correlate with my particular problem?

this page assumes the reader has taken some kind of physics class. i never took a physics class. the highest math i know is college algebra, which doesn't help here. I am sorry to say but i need a bit more help than just a page full of equations. there is a middle ground that I am just not certain about.

I have initial velocity, mass, time, and distance.

I need thrust, acceleration, and other velocities based on time

which and how do i use these equations to get to where i need to be?
 
  • #15
Equation 1:
distance = velocity X time
If you know any 2, you can solve for the third

Equation 2:
velocity = acceleration X time

Equation 3:
distance = 1/2 acceleration X time X time
If acceleration is constant, this tells you how far you have gone

equation 4
force = mass X acceleration

If you look at the units of distance, time, velocity and acceleration, you can do unit analysis to find what you want.

For example, let's derive equation 2.

The units of velocity are feet/second
The unit of acceleration = feet/second/second (that's (feet per second) per second which can be though of as velocity per second (which make sense that acceleration is velocity change per second)

so if you have acceleration [(feet/second)/second] and want velocity[ feet/second], you just multiply by time [seconds]

You may have to break up your problem into periods of acceleration, then periods of constant velocity, then periods of negative acceleration. And, maybe even periods of different acceleration.

EDIT: As the next poster pointed out, change feet to meters, for mass use kilograms, then force becomes Newtons (kilogram-meter/sec/sec) , etc etc. He is correct, its much simpler.
 
Last edited:
  • #16
The poster just prior to me is corrent, though I'd like to point out how much easier things are if you stick to non-hobbit units of measurment :)
 
  • #17
texasman1979 said:
like s, what the heck is s. what is displacement and how does it correlate with my particular problem?

this page assumes the reader has taken some kind of physics class. i never took a physics class. the highest math i know is college algebra, which doesn't help here.
All you need is algebra and these SUVAT equations.
s=distance travelled
u=initial velocity
v=final velocity
a=acceleration
t=time

Again. Use equation 2 to find a (you will need to do a little algebra). Then you can plug that back into equation 1 to find v at any t.
 
  • #18
I'm posting my work, something isn’t right. a and thrust are not coming out right.

The values I have are as follow:
Distance = 100,000,000 miles = 160,934,400 Km = 80,467,200 Km to half way point
Time = 40 hours = 20 hours or 72000 seconds to half way point
Initial velocity = 3.07 Km/s = geosynchronous Earth orbit
Mass of vessel = 60 tons = 54431 Kg weight = 534,000 Newton’s mass = 534 KN <-- This is probably wrong

The values for velocity, acceleration, and thrust are as follows:
Velocity = 1117.6 Km/s
Acceleration = 0.0155 Km/s squared <----- This is wrong
Thrust = 8.266 Newton’s <----- This is wrong

Trying to do the math for a craft of 54431 Kg (weight at rest on surface of Earth not mass) going just over 1 AU (160,934,400 Km) in 40 hours. I did split the time and distance in half because acceleration is half the journey and deceleration is other half.

Where and how did I mess up? Please be very specific as I have several trips to figure.

Thx
 

Attachments

  • work.jpg
    work.jpg
    30.6 KB · Views: 418
Last edited:
  • #19
I redid some math and everything checked out except for:
Mass = 5554
Thrust or force = 86087 <---- still seems wrong

That thrust equates to only 8778 Kg. If a ship weighing 60 tons is accelerated to 1116.7 Km/s, there is going to be more than 8778 Kg pushing it.

Mass is what is stumping me.
 
  • #20
If the craft weighs at rest on the surface of the earth, 120000 lbs, then what is its mass?
 
  • #21
Its mass is its weight on Earth converted to Kg. You got that number (54431 Kg) correct but called it "weight".

Weight and mass are funny things. Mass is constant regardless of gravity. 1Kg on Earth is 1Kg on the moon (always measured with a Balance against a reference). The same is not true of weight as in Lbs. Weight is actually the same as force. Pounds are a unit of force. There is a force exerted by a mass under the influence of gravity and we call it weight.

The mass of a thing that weighs 1 Lb on Earth is 1/32 slug http://hyperphysics.phy-astr.gsu.edu/hbase/mechanics/slug.html

Newtons is a measure of force. F (Newtons) = mass (Kg) X acceleration (meters per second per second)
So, intuitively, if you apply a constant force to a mass, it will have constant acceleration (its velocity will continue to increase)

I'll let you try the formulas again with that in mind.
 
  • #22
texasman1979 said:
I'm posting my work, something isn’t right. a and thrust are not coming out right.
First tip, I would convert everything into base SI units. So instead of 80,467,200 km I would use 80,467,200,000 m. Also, I don't know if your calculator uses scientific notation, but I find that convenient, e.g. 8.047E10 m.

So, in the math you forgot the factor of 1/2 for the acceleration. So with: ##s=ut+(1/2)at^2## solving for a you get ##a=2(s-tu)/t^2##, plugging in your values above you should get ##a=30.96 m/s^2##, or about 3 g's. Thrust is then 54431 kg times that, or about 1.685E6 N.
 
Last edited:
  • #23
I see. I prefer the actual numbers as long as the number is still rationally long. 18 digits would be a pain.

With that said, we are now off to a great start and I have learned much about putting my thoughts into mathematical form.

Just to check though, what is the thrust in kg for that 1.685 million N?

I came up with around 172k kg of thrust. Is this correct?
 
  • #24
Thrust is measured in Newtons, not in kilograms. Mass is measured in kilograms. Thrust is force, not mass.
 
  • #25
To a reader Newton's don't mean anything. What do those Newton's equate to in something more readily understandable?

Like a titan rocket having somewhere in the order of a million lbs of thrust. While I'll include the value in Newton's, I need to also include a value that many can understand.

So what do those Newton's equate to in kg?

And thanks for yall help in this.

When the book is published on Kindle, I will update this thread with a free weekend so yall can have it. :-)
 
  • #26
Maybe use tonne-force. 1 tonne-force = 9807 N.
 
  • #27
One Newton is equal to 0.22481 pounds.
 
  • #28
There are some issues that are caused by your intuitive thinking and experiences that are not really how things work (a very common thing).

pounds is a unit of force, not mass. On Earth it is the force 0.453 Kg exerts on the ground due to gravity. It is correct to give thrust in pounds. 1 Newton = 0.22 lbs
In the English system (lbs, feet) mass is measured in slugs, which are seldom used.

The main confusion you are having is: it seems that if one measures thrust in lbs, one should be able to convert that to Kg. But, that is not correct. When you convert Kg to pounds (of force on Earth) you need to include the acceleration of gravity (32 ft/sec/sec) on a slug . (that will seem strange also, that gravity is an acceleration, not a force)

F = ma
Newtons = Kg X acceleration
lbs = slugs X acceleration
lbs = 4.45 X Newtons

On earth, 1Kg exerts 9.8 Newtons due to gravity. You can express your weight in Newtons, or your mass in Kg.

In the end, You can express force in pounds, and acceleration in gravities.

A problem is that, in space, objects have little or no weight compared to being on earth, but they still have the same mass. So when you say a rocket weighs X, I suppose you are actually saying it weighs X on Earth.
 
  • #29
texasman1979 said:
I'm posting my work, something isn’t right. a and thrust are not coming out right.

The values I have are as follow:
Distance = 100,000,000 miles = 160,934,400 Km = 80,467,200 Km to half way point
Time = 40 hours = 20 hours or 72000 seconds to half way point
Initial velocity = 3.07 Km/s = geosynchronous Earth orbit
Mass of vessel = 60 tons = 54431 Kg weight = 534,000 Newton’s mass = 534 KN <-- This is probably wrong

Note that the following calculations do not include gravitational effects from any planet the ship is leaving from or approaching.
For your halfway point:
80 million km = 8.0x1010 meters
Using the position equation assuming constant acceleration and zero initial velocity: X=Xo+Vot+1/2At2
8.0x1010=0 + 3000(72000) + 1/2 A(72,000 seconds)2
8.0x1010= 216,000,000 + 2,592,000,000A
79,784,000,000 = 2,592,000,000A
A = 30.78 m/s2
So the minimum required acceleration to get the ship there in 40 hours is 3.14 g's, exerted over the entire journey. A larger acceleration over a shorter period of time can be used if you want to coast part of the way (not sure why you'd want to do that though). Also note that this acceleration will be the same for ALL craft, regardless of their mass.

Final velocity at the halfway point: V=Vo + At
V = 3,000 + 30.78(72,000)
V = 2,219,160 m/s

Required thrust: F=MA
F = 54,431(30.78)
F = 1,675,386 Newtons
1,675,386 x 0.22481 = 376,643 pounds of thrust.
 
  • #30
Java:
package bookcalc;

import java.awt.Color;
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSeparator;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.text.JTextComponent;

import org.eclipse.wb.swing.FocusTraversalOnArray;

public class Bookcalc {

    private JFrame frmBookCalc;
    private JTextField txtDistance;
    private JTextField txtTime;
    private JTextField txtIVelocity;
    private JTextField txtMass;
    private JTextField txtVelocity;
    private JTextField txtAcceleration;
    private JTextField txtThrust;

    private String[] timeswitchtext = {"Seconds", "Minutes", "Hours", "Days", "Weeks", "Months", "Years", "Decades"};
    private int timeswitch = 0;

    private void Calculate()
    {
        double D = Double.parseDouble(txtDistance.getText());
        double T = Double.parseDouble(txtTime.getText());
        double IV = Double.parseDouble(txtIVelocity.getText());
        double M = Double.parseDouble(txtMass.getText());
    
        double hd = 0.5 * D * 1000;
        double ht = 0.5 * Time(T);
    
        double V = hd / ht;
        double A = (2 * (hd - ht * IV)) / (ht * ht);
        double F = M * A;
    
        txtVelocity.setText(String.valueOf(V));
        txtAcceleration.setText(String.valueOf(A));
        txtThrust.setText(String.valueOf(F));
    }

    private double Time(double t)
    {
        double x = 0;
    
        switch (timeswitch)
        {
            case 7:
                x = (x == 0 ? t : x) * 10;
            case 6:
                x = (x == 0 ? t : x) * 12;
            case 5:
                x = (x == 0 ? t : x) * 30;
            case 4:
                x = (x == 0 ? t : x) * 7;
            case 3:
                x = (x == 0 ? t : x) * 24;
            case 2:
                x = (x == 0 ? t : x) * 60;
            case 1:
                x = (x == 0 ? t : x) * 60;
            case 0:
                x = x == 0 ? t : x;
        }
    
        return x;
    }

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Bookcalc window = new Bookcalc();
                    window.frmBookCalc.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public Bookcalc() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frmBookCalc = new JFrame();
        frmBookCalc.getContentPane().setFont(new Font("Tahoma", Font.PLAIN, 16));
        frmBookCalc.setTitle("Book Calc");
        frmBookCalc.setBounds(100, 100, 602, 356);
        frmBookCalc.getContentPane().setLayout(null);
        frmBookCalc.getContentPane().setBackground(Color.WHITE);
        frmBookCalc.setLocationRelativeTo(null);
    
        JLabel lblDistance = new JLabel("Distance:");
        lblDistance.setHorizontalAlignment(SwingConstants.RIGHT);
        lblDistance.setFont(new Font("Tahoma", Font.PLAIN, 16));
        lblDistance.setBounds(24, 14, 121, 14);
        frmBookCalc.getContentPane().add(lblDistance);
    
        JLabel lblTime = new JLabel("Time:");
        lblTime.setHorizontalAlignment(SwingConstants.RIGHT);
        lblTime.setFont(new Font("Tahoma", Font.PLAIN, 16));
        lblTime.setBounds(24, 48, 121, 14);
        frmBookCalc.getContentPane().add(lblTime);
    
        JLabel lblInitialVelocity = new JLabel("Initial Velocity:");
        lblInitialVelocity.setHorizontalAlignment(SwingConstants.RIGHT);
        lblInitialVelocity.setFont(new Font("Tahoma", Font.PLAIN, 16));
        lblInitialVelocity.setBounds(24, 84, 121, 14);
        frmBookCalc.getContentPane().add(lblInitialVelocity);
    
        JLabel lblMass = new JLabel("Mass:");
        lblMass.setHorizontalAlignment(SwingConstants.RIGHT);
        lblMass.setFont(new Font("Tahoma", Font.PLAIN, 16));
        lblMass.setBounds(24, 122, 121, 14);
        frmBookCalc.getContentPane().add(lblMass);
    
        JLabel lblVelocity = new JLabel("Terminal Velocity:");
        lblVelocity.setHorizontalAlignment(SwingConstants.RIGHT);
        lblVelocity.setFont(new Font("Tahoma", Font.PLAIN, 16));
        lblVelocity.setBounds(10, 183, 135, 14);
        frmBookCalc.getContentPane().add(lblVelocity);
    
        JLabel lblAcceration = new JLabel("Acceleration:");
        lblAcceration.setHorizontalAlignment(SwingConstants.RIGHT);
        lblAcceration.setFont(new Font("Tahoma", Font.PLAIN, 16));
        lblAcceration.setBounds(24, 217, 121, 14);
        frmBookCalc.getContentPane().add(lblAcceration);
    
        JLabel lblThrust = new JLabel("Thrust:");
        lblThrust.setHorizontalAlignment(SwingConstants.RIGHT);
        lblThrust.setFont(new Font("Tahoma", Font.PLAIN, 16));
        lblThrust.setBounds(24, 253, 121, 14);
        frmBookCalc.getContentPane().add(lblThrust);
    
        JSeparator separator = new JSeparator();
        separator.setBounds(10, 158, 565, 14);
        frmBookCalc.getContentPane().add(separator);
    
        txtDistance = new JTextField();
        txtDistance.setText("160934400");
        txtDistance.setFont(new Font("Tahoma", Font.PLAIN, 16));
        txtDistance.setBounds(151, 11, 311, 20);
        frmBookCalc.getContentPane().add(txtDistance);
        txtDistance.setColumns(10);
    
        txtTime = new JTextField();
        txtTime.setText("40");
        txtTime.setFont(new Font("Tahoma", Font.PLAIN, 16));
        txtTime.setColumns(10);
        txtTime.setBounds(151, 45, 311, 20);
        frmBookCalc.getContentPane().add(txtTime);
    
        txtIVelocity = new JTextField();
        txtIVelocity.setText("3.07");
        txtIVelocity.setFont(new Font("Tahoma", Font.PLAIN, 16));
        txtIVelocity.setColumns(10);
        txtIVelocity.setBounds(151, 81, 311, 20);
        frmBookCalc.getContentPane().add(txtIVelocity);
    
        txtMass = new JTextField();
        txtMass.setText("54431");
        txtMass.setFont(new Font("Tahoma", Font.PLAIN, 16));
        txtMass.setColumns(10);
        txtMass.setBounds(151, 119, 311, 20);
        frmBookCalc.getContentPane().add(txtMass);
    
        txtVelocity = new JTextField();
        txtVelocity.setFont(new Font("Tahoma", Font.PLAIN, 16));
        txtVelocity.setColumns(10);
        txtVelocity.setBounds(151, 178, 311, 20);
        frmBookCalc.getContentPane().add(txtVelocity);
    
        txtAcceleration = new JTextField();
        txtAcceleration.setFont(new Font("Tahoma", Font.PLAIN, 16));
        txtAcceleration.setColumns(10);
        txtAcceleration.setBounds(151, 214, 311, 20);
        frmBookCalc.getContentPane().add(txtAcceleration);
    
        txtThrust = new JTextField();
        txtThrust.setFont(new Font("Tahoma", Font.PLAIN, 16));
        txtThrust.setColumns(10);
        txtThrust.setBounds(151, 250, 311, 20);
        frmBookCalc.getContentPane().add(txtThrust);
    
        JLabel lblKm = new JLabel("Km");
        lblKm.setBounds(472, 14, 46, 14);
        frmBookCalc.getContentPane().add(lblKm);
    
        JLabel lblKms = new JLabel("m/s");
        lblKms.setBounds(472, 86, 46, 14);
        frmBookCalc.getContentPane().add(lblKms);
    
        JLabel lblKg = new JLabel("Kg");
        lblKg.setBounds(472, 124, 46, 14);
        frmBookCalc.getContentPane().add(lblKg);
    
        JLabel lblMs = new JLabel("m/s");
        lblMs.setBounds(472, 183, 46, 14);
        frmBookCalc.getContentPane().add(lblMs);
    
        JLabel lblMs_1 = new JLabel("m/s^2");
        lblMs_1.setBounds(472, 217, 46, 14);
        frmBookCalc.getContentPane().add(lblMs_1);
    
        JLabel lblN = new JLabel("N");
        lblN.setBounds(472, 253, 46, 14);
        frmBookCalc.getContentPane().add(lblN);
    
        JButton btnCalculate = new JButton("Calculate");
        btnCalculate.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Calculate();
            }
        });
        btnCalculate.setFont(new Font("Tahoma", Font.PLAIN, 16));
        btnCalculate.setBounds(470, 281, 105, 23);
        frmBookCalc.getContentPane().add(btnCalculate);
    
        JButton btnExit = new JButton("Exit");
        btnExit.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                frmBookCalc.dispatchEvent(new WindowEvent(frmBookCalc, WindowEvent.WINDOW_CLOSING));
            }
        });
        btnExit.setFont(new Font("Tahoma", Font.PLAIN, 16));
        btnExit.setBounds(10, 281, 105, 23);
        frmBookCalc.getContentPane().add(btnExit);
    
        JButton btnClear = new JButton("Clear");
        btnClear.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Component[] components = frmBookCalc.getContentPane().getComponents();
                for (Component component : components) {
                    if (component instanceof JTextField || component instanceof JTextArea) {
                        JTextComponent specificObject = (JTextComponent) component;
                        specificObject.setText("");
                    }
                }
            }
        });
        btnClear.setFont(new Font("Tahoma", Font.PLAIN, 16));
        btnClear.setBounds(355, 281, 105, 23);
        frmBookCalc.getContentPane().add(btnClear);
    
        JComboBox cbxTime = new JComboBox();
        cbxTime.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                  timeswitch = cbxTime.getSelectedIndex();
              }
            });
        cbxTime.setModel(new DefaultComboBoxModel(timeswitchtext));
        cbxTime.setSelectedIndex(2);
        cbxTime.setFont(new Font("Tahoma", Font.PLAIN, 16));
        cbxTime.setBounds(470, 47, 105, 20);
        frmBookCalc.getContentPane().add(cbxTime);
        frmBookCalc.getContentPane().setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{txtDistance, txtTime, cbxTime, txtIVelocity, txtMass, txtVelocity, txtAcceleration, btnCalculate, btnExit, btnClear}));
        frmBookCalc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
 
Last edited:

Similar threads

  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 8 ·
Replies
8
Views
892
  • · Replies 6 ·
Replies
6
Views
2K
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 17 ·
Replies
17
Views
3K
  • Poll Poll
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 18 ·
Replies
18
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
3K