Skip to main content
added 61 characters in body
Source Link
Russell Borogove
  • 172k
  • 14
  • 606
  • 714

Given sea level and vacuum specific impulse figures for an engine, I linearly interpolate the specific impulse as air pressure goes from 1 to 0 atmospheres; implementing a more reasonable curve for thisatmospheres. This is also on my list a very good match to the actual performance of the Saturn V's F-1 engines; I haven't found Isp- I'll probably model it off Saturn V postversus-flight data and try and find something else to crosspressure curves for other engines, but the F-check against1s are so linear that I suspect there's a fundamental physical law controlling it.

Given sea level and vacuum specific impulse figures for an engine, I linearly interpolate the specific impulse as air pressure goes from 1 to 0 atmospheres; implementing a more reasonable curve for this is also on my list -- I'll probably model it off Saturn V post-flight data and try and find something else to cross-check against.

Given sea level and vacuum specific impulse figures for an engine, I linearly interpolate the specific impulse as air pressure goes from 1 to 0 atmospheres. This is a very good match to the actual performance of the Saturn V's F-1 engines; I haven't found Isp-versus-pressure curves for other engines, but the F-1s are so linear that I suspect there's a fundamental physical law controlling it.

added 118 characters in body
Source Link
Russell Borogove
  • 172k
  • 14
  • 606
  • 714

I don't know exactly how Flight Club does it, but I've created a simulation modeled on Joan Creus-Costa's launchsim and I believe it's probably not too dissimilar from what Flight Club does. I also got a lot of insight from Braeunig's Saturn V simulation page.

The basic approach is discrete time simulation: start with known initial conditions and simulate the passage of time in short chunks, updating the state of the simulation according to physical law at each step. I use a time step of 1/100 second; even at that rate, my laptop is fast enough to simulate a launch at about 50 times faster than real time (i.e. ascent to Earth orbit for most launchers in around 12 seconds).

Given the known mass of the rocket (recalculated on each time step as fuel is consumed) and the thrust of the currently active stage's engines, acceleration from thrust is applied, along with acceleration from gravity, and retarding force from drag. I do use RK4 when applying the physics, but with a small enough time step it doesn't matter much.

For drag purposes I just track cross section and an arbitrarily fixed coefficient of drag -- varying Cd with speed is on my list of to-dos. (See discussion here and here.)

I simulate varying air density with altitude according to a fixed model based on this NASA page. I don't do anything for weather, crosswind, etc. Nothing in my sim presently is randomized.

Given sea level and vacuum specific impulse figures for an engine, I linearly interpolate the specific impulse as air pressure goes from 1 to 0 atmospheres; findingimplementing a more accuratereasonable curve for this is also on my list -- I'll probably model it off Saturn V post-flight data and try and find something else to cross-check against.

A guidance system is simulated to determine what direction to apply thrust in -- I don't simulate the actual gimbal angle and control authority, I just assume the desired thrust angle is achievable. I've got a variety of guidance algorithms that I'm not yet happy with.

When the fuel runs out on a stage I just disconnect the mass and engines associated with the stage and activate the next instantly; it would be more realistic to add some interstage delay time.

Launchers are defined as a list of stages. Stages have dry mass, fuel mass, cross sectional area, and a list of engines. Engines have fuel flow rate, specific-impulse-by-altitude function, min and max throttle settings, etc. In my launcher definition code, I can add scheduled events, like throttle-down or jettisoning LES systems (and thus reducing mass of the remaining rocket) at a given point in the flight. I'm not yet modeling Isp falloff with throttle-down. In principle, you can define any rocket you like, real or fictional; you just need the stage masses and engine specs.

The Earth (or whatever body being launched from) is modeled as a uniformly rotating sphere; my coordinate system supports launch site latitude, but always rotates the world so that the launch site is at the coordinate system's zero X coordinate. Initial velocity from planetary rotation is included. Gravitational falloff with altitude is modeled.

Here's a screenshot of my embarrassingly bad UI:

enter image description here

This is modeling the ascent of an Apollo LM from the moon (in the service of answering an earlier question on the site). Graph 1 on the left is altitude versus time; graph 2 is acceleration versus time. We're paused at 25 simulated seconds after insertion into a 18 km x 87 km orbit.

Flight Club does things like tracking the detached first stage separately; my sim only works with one vehicle at a time, but it wouldn't be too difficult to change that.

I don't know exactly how Flight Club does it, but I've created a simulation modeled on Joan Creus-Costa's launchsim and I believe it's probably not too dissimilar. I also got a lot of insight from Braeunig's Saturn V simulation page.

The basic approach is discrete time simulation: start with known initial conditions and simulate the passage of time in short chunks, updating the state of the simulation according to physical law at each step. I use a time step of 1/100 second; even at that rate, my laptop is fast enough to simulate a launch at about 50 times faster than real time (i.e. ascent to Earth orbit for most launchers in around 12 seconds).

Given the known mass of the rocket (recalculated on each time step as fuel is consumed) and the thrust of the currently active stage's engines, acceleration from thrust is applied, along with acceleration from gravity, and retarding force from drag. I do use RK4 when applying the physics, but with a small enough time step it doesn't matter much.

For drag purposes I just track cross section and an arbitrarily fixed coefficient of drag -- varying Cd with speed is on my list of to-dos. (See discussion here and here.)

I simulate varying air density with altitude according to a fixed model based on this NASA page. I don't do anything for weather, crosswind, etc. Nothing in my sim presently is randomized.

Given sea level and vacuum specific impulse figures for an engine, I linearly interpolate the specific impulse as air pressure goes from 1 to 0 atmospheres; finding a more accurate curve for this is also on my list.

A guidance system is simulated to determine what direction to apply thrust in -- I don't simulate the actual gimbal angle and control authority, I just assume the desired thrust angle is achievable. I've got a variety of guidance algorithms that I'm not yet happy with.

When the fuel runs out on a stage I just disconnect the mass and engines associated with the stage and activate the next instantly; it would be more realistic to add some interstage delay time.

Launchers are defined as a list of stages. Stages have dry mass, fuel mass, cross sectional area, and a list of engines. Engines have fuel flow rate, specific-impulse-by-altitude function, min and max throttle settings, etc. In my launcher definition code, I can add scheduled events, like throttle-down or jettisoning LES systems (and thus reducing mass of the remaining rocket) at a given point in the flight. I'm not yet modeling Isp falloff with throttle-down. In principle, you can define any rocket you like, real or fictional; you just need the stage masses and engine specs.

The Earth (or whatever body being launched from) is modeled as a uniformly rotating sphere; my coordinate system supports launch site latitude, but always rotates the world so that the launch site is at the coordinate system's zero X coordinate. Initial velocity from planetary rotation is included. Gravitational falloff with altitude is modeled.

Here's a screenshot of my embarrassingly bad UI:

enter image description here

This is modeling the ascent of an Apollo LM from the moon (in the service of answering an earlier question on the site). Graph 1 on the left is altitude versus time; graph 2 is acceleration versus time. We're paused at 25 simulated seconds after insertion into a 18 km x 87 km orbit.

Flight Club does things like tracking the detached first stage separately; my sim only works with one vehicle at a time, but it wouldn't be too difficult to change that.

I don't know exactly how Flight Club does it, but I've created a simulation modeled on Joan Creus-Costa's launchsim and I believe it's probably not too dissimilar from what Flight Club does. I also got a lot of insight from Braeunig's Saturn V simulation page.

The basic approach is discrete time simulation: start with known initial conditions and simulate the passage of time in short chunks, updating the state of the simulation according to physical law at each step. I use a time step of 1/100 second; even at that rate, my laptop is fast enough to simulate a launch at about 50 times faster than real time (i.e. ascent to Earth orbit for most launchers in around 12 seconds).

Given the known mass of the rocket (recalculated on each time step as fuel is consumed) and the thrust of the currently active stage's engines, acceleration from thrust is applied, along with acceleration from gravity, and retarding force from drag. I do use RK4 when applying the physics, but with a small enough time step it doesn't matter much.

For drag purposes I just track cross section and an arbitrarily fixed coefficient of drag -- varying Cd with speed is on my list of to-dos. (See discussion here and here.)

I simulate varying air density with altitude according to a fixed model based on this NASA page. I don't do anything for weather, crosswind, etc. Nothing in my sim presently is randomized.

Given sea level and vacuum specific impulse figures for an engine, I linearly interpolate the specific impulse as air pressure goes from 1 to 0 atmospheres; implementing a more reasonable curve for this is also on my list -- I'll probably model it off Saturn V post-flight data and try and find something else to cross-check against.

A guidance system is simulated to determine what direction to apply thrust in -- I don't simulate the actual gimbal angle and control authority, I just assume the desired thrust angle is achievable. I've got a variety of guidance algorithms that I'm not yet happy with.

When the fuel runs out on a stage I just disconnect the mass and engines associated with the stage and activate the next instantly; it would be more realistic to add some interstage delay time.

Launchers are defined as a list of stages. Stages have dry mass, fuel mass, cross sectional area, and a list of engines. Engines have fuel flow rate, specific-impulse-by-altitude function, min and max throttle settings, etc. In my launcher definition code, I can add scheduled events, like throttle-down or jettisoning LES systems (and thus reducing mass of the remaining rocket) at a given point in the flight. I'm not yet modeling Isp falloff with throttle-down. In principle, you can define any rocket you like, real or fictional; you just need the stage masses and engine specs.

The Earth (or whatever body being launched from) is modeled as a uniformly rotating sphere; my coordinate system supports launch site latitude, but always rotates the world so that the launch site is at the coordinate system's zero X coordinate. Initial velocity from planetary rotation is included. Gravitational falloff with altitude is modeled.

Here's a screenshot of my embarrassingly bad UI:

enter image description here

This is modeling the ascent of an Apollo LM from the moon (in the service of answering an earlier question on the site). Graph 1 on the left is altitude versus time; graph 2 is acceleration versus time. We're paused at 25 simulated seconds after insertion into a 18 km x 87 km orbit.

Flight Club does things like tracking the detached first stage separately; my sim only works with one vehicle at a time, but it wouldn't be too difficult to change that.

added 147 characters in body
Source Link
Russell Borogove
  • 172k
  • 14
  • 606
  • 714

I don't know exactly how Flight Club does it, but I've created a simulation modeled on Joan Creus-Costa's launchsim and I believe it's probably not too dissimilar. I also got a lot of insight from Braeunig's Saturn V simulation page.

The basic approach is todiscrete time simulation: start with known initial conditions and simulate the passage of time in short chunks, updating the state of the simulation according to physical law at each step. I use a time step of 1/100 second; even at that rate, my laptop is fast enough to simulate a launch at about 50 times faster than real time (i.e. ascent to Earth orbit for most launchers in around 12 seconds).

Given the known mass of the rocket (recalculated on each time step as fuel is consumed) and the thrust of the currently active stage's engines, acceleration from thrust is applied, along with acceleration from gravity, and retarding force from drag. I do use RK4 when applying the physics, but with a small enough time step it doesn't matter much.

For drag purposes I just track cross section and an arbitrarily fixed coefficient of drag -- varying Cd with speed is on my list of to-dos. (See discussion here and here.)

I simulate varying air density with altitude according to a fixed model based on this NASA page. I don't do anything for weather, crosswind, etc. Nothing in my sim presently is randomized.

Given sea level and vacuum specific impulse figures for an engine, I linearly interpolate the specific impulse as air pressure goes from 1 to 0 atmospheres; finding a more accurate curve for this is also on my list.

A guidance system is simulated to determine what direction to apply thrust in -- I don't simulate the actual gimbal angle and control authority, I just assume the desired thrust angle is achievable. I've got a variety of guidance algorithms that I'm not yet happy with.

When the fuel runs out on a stage I just disconnect the mass and engines associated with the stage and activate the next instantly; it would be more realistic to add some interstage delay time.

Launchers are defined as a list of stages. Stages have dry mass, fuel mass, cross sectional area, and a list of engines. Engines have fuel flow rate, specific-impulse-by-altitude function, min and max throttle settings, etc. In my launcher definition code, I can add scheduled events, like throttle-down or jettisoning LES systems (and thus reducing mass of the remaining rocket) at a given point in the flight. I'm not yet modeling Isp falloff with throttle-down. In principle, you can define any rocket you like, real or fictional; you just need the stage masses and engine specs.

The Earth (or whatever body being launched from) is modeled as a uniformly rotating sphere; my coordinate system supports launch site latitude, but always rotates the world so that the launch site is at the coordinate system's zero X coordinate. Initial velocity from planetary rotation is included. Gravitational falloff with altitude is modeled.

Here's a screenshot of my embarrassingly bad UI:

enter image description here

This is modeling the ascent of an Apollo LM from the moon (in the service of answering an earlier question on the site). Graph 1 on the left is altitude versus time; graph 2 is acceleration versus time. We're paused at 25 simulated seconds after insertion into a 18 km x 87 km orbit.

Flight Club does things like tracking the detached first stage separately; my sim only works with one vehicle at a time, but it wouldn't be too difficult to change that.

I don't know exactly how Flight Club does it, but I've created a simulation modeled on Joan Creus-Costa's launchsim and I believe it's probably not too dissimilar.

The basic approach is to start with known initial conditions and simulate the passage of time in short chunks, updating the state of the simulation according to physical law at each step. I use a time step of 1/100 second; even at that rate, my laptop is fast enough to simulate a launch at about 50 times faster than real time (i.e. ascent to Earth orbit for most launchers in around 12 seconds).

Given the known mass of the rocket (recalculated on each time step as fuel is consumed) and the thrust of the currently active stage's engines, acceleration from thrust is applied, along with acceleration from gravity, and retarding force from drag. I do use RK4 when applying the physics, but with a small enough time step it doesn't matter much.

For drag purposes I just track cross section and an arbitrarily fixed coefficient of drag -- varying Cd with speed is on my list of to-dos.

I simulate varying air density with altitude according to a fixed model based on this NASA page. I don't do anything for weather, crosswind, etc. Nothing in my sim presently is randomized.

Given sea level and vacuum specific impulse figures for an engine, I linearly interpolate the specific impulse as air pressure goes from 1 to 0 atmospheres; finding a more accurate curve for this is also on my list.

A guidance system is simulated to determine what direction to apply thrust in -- I don't simulate the actual gimbal angle and control authority, I just assume the desired thrust angle is achievable. I've got a variety of guidance algorithms that I'm not yet happy with.

When the fuel runs out on a stage I just disconnect the mass and engines associated with the stage and activate the next instantly; it would be more realistic to add some interstage delay time.

Launchers are defined as a list of stages. Stages have dry mass, fuel mass, cross sectional area, and a list of engines. Engines have fuel flow rate, specific-impulse-by-altitude function, min and max throttle settings, etc. In my launcher definition code, I can add scheduled events, like throttle-down or jettisoning LES systems (and thus reducing mass of the remaining rocket) at a given point in the flight. I'm not yet modeling Isp falloff with throttle-down. In principle, you can define any rocket you like, real or fictional; you just need the stage masses and engine specs.

The Earth (or whatever body being launched from) is modeled as a uniformly rotating sphere; my coordinate system supports launch site latitude, but always rotates the world so that the launch site is at the coordinate system's zero X coordinate. Initial velocity from planetary rotation is included. Gravitational falloff with altitude is modeled.

Here's a screenshot of my embarrassingly bad UI:

enter image description here

This is modeling the ascent of an Apollo LM from the moon (in the service of answering an earlier question on the site). Graph 1 on the left is altitude versus time; graph 2 is acceleration versus time. We're paused at 25 simulated seconds after insertion into a 18 km x 87 km orbit.

Flight Club does things like tracking the detached first stage separately; my sim only works with one vehicle at a time, but it wouldn't be too difficult to change that.

I don't know exactly how Flight Club does it, but I've created a simulation modeled on Joan Creus-Costa's launchsim and I believe it's probably not too dissimilar. I also got a lot of insight from Braeunig's Saturn V simulation page.

The basic approach is discrete time simulation: start with known initial conditions and simulate the passage of time in short chunks, updating the state of the simulation according to physical law at each step. I use a time step of 1/100 second; even at that rate, my laptop is fast enough to simulate a launch at about 50 times faster than real time (i.e. ascent to Earth orbit for most launchers in around 12 seconds).

Given the known mass of the rocket (recalculated on each time step as fuel is consumed) and the thrust of the currently active stage's engines, acceleration from thrust is applied, along with acceleration from gravity, and retarding force from drag. I do use RK4 when applying the physics, but with a small enough time step it doesn't matter much.

For drag purposes I just track cross section and an arbitrarily fixed coefficient of drag -- varying Cd with speed is on my list of to-dos. (See discussion here and here.)

I simulate varying air density with altitude according to a fixed model based on this NASA page. I don't do anything for weather, crosswind, etc. Nothing in my sim presently is randomized.

Given sea level and vacuum specific impulse figures for an engine, I linearly interpolate the specific impulse as air pressure goes from 1 to 0 atmospheres; finding a more accurate curve for this is also on my list.

A guidance system is simulated to determine what direction to apply thrust in -- I don't simulate the actual gimbal angle and control authority, I just assume the desired thrust angle is achievable. I've got a variety of guidance algorithms that I'm not yet happy with.

When the fuel runs out on a stage I just disconnect the mass and engines associated with the stage and activate the next instantly; it would be more realistic to add some interstage delay time.

Launchers are defined as a list of stages. Stages have dry mass, fuel mass, cross sectional area, and a list of engines. Engines have fuel flow rate, specific-impulse-by-altitude function, min and max throttle settings, etc. In my launcher definition code, I can add scheduled events, like throttle-down or jettisoning LES systems (and thus reducing mass of the remaining rocket) at a given point in the flight. I'm not yet modeling Isp falloff with throttle-down. In principle, you can define any rocket you like, real or fictional; you just need the stage masses and engine specs.

The Earth (or whatever body being launched from) is modeled as a uniformly rotating sphere; my coordinate system supports launch site latitude, but always rotates the world so that the launch site is at the coordinate system's zero X coordinate. Initial velocity from planetary rotation is included. Gravitational falloff with altitude is modeled.

Here's a screenshot of my embarrassingly bad UI:

enter image description here

This is modeling the ascent of an Apollo LM from the moon (in the service of answering an earlier question on the site). Graph 1 on the left is altitude versus time; graph 2 is acceleration versus time. We're paused at 25 simulated seconds after insertion into a 18 km x 87 km orbit.

Flight Club does things like tracking the detached first stage separately; my sim only works with one vehicle at a time, but it wouldn't be too difficult to change that.

added 92 characters in body
Source Link
Russell Borogove
  • 172k
  • 14
  • 606
  • 714
Loading
added 649 characters in body
Source Link
Russell Borogove
  • 172k
  • 14
  • 606
  • 714
Loading
added 649 characters in body
Source Link
Russell Borogove
  • 172k
  • 14
  • 606
  • 714
Loading
Source Link
Russell Borogove
  • 172k
  • 14
  • 606
  • 714
Loading