Impulse Calculator 2000

A program I wrote to calculate impulse from STTS readings (with download and detailed explanations of the math behind it)

Ever since I made my STTS system and started testing my rockets on it I have wanted a way to calculate impulse from it, specifically in newton seconds

I quickly found nakka’s article on the subject, and after alot of work I converted the formulas found there to SI units

Here is the resulting software:

Swanky

Made using the windows forms UI framework, completely in C#

It has a great number of functions, such as:

  • Impulse calculation in Newton Seconds from a list of thrust measurements and a time increment between readings
  • Specific impulse calculation in Ns/kg and sec. from impulse and propellant weight (if entered)
  • Average thrust in Ns and peak thrust in kg
  • Automagic motor classification up to class T
  • Supreme Error Correction (It wont crash with non numbers or empty lines anywhere)
  • Automatic Graphing of thrust profile with export function (saves as .png)
  • It also, if 2 values are present on the same line with a space separating them, ignores the first one, this is for easier use with raw STTS Data
Example Thrust profile, exported as png
This one is of R-7

As with everything I do on this site, I vow to make it open source and freely usable
And thus, have uploaded all the code and the program to GitHub together with compiled binaries for easy downloading
Source Code Here, and Binaries Here
As of 02/07/21, I’ve updated the program to version 1.1, which now has a option to export the thrustcurve to the RASP format (which can be imported into OpenRocket, for example)
(it is still experimental, but the previous version is not supported anymore)
Source Code Here, and Binaries Here

The Maths

I would like to explain the maths behind this program, since they were tricky to figure out and it might help someone

Here is the formula used for total impulse:

    \[ I_t = \int_{0}^{t} F \: dt \]

I_t is total impulse, F is force, dt is Delta Time and the formula is the integral (\int_{0}^{t}) of Force over Time

The calculations performed in the program are as follows:
First it sums all values entered in “Readings” (which are in kg)
Then in multiplies this by the gravitational constant g (9.80665 m/s^2) to get Newtons, which it then multiplies by the time interval in seconds (20 milliseconds in my case, so times 0.02 seconds) to get Newton Seconds
The average is found by dividing impulse over total burn time, which in turn is calculated by the amount of readings, times the time interval
The specific impulse is found by taking impulse and multiplying it by the total propellant burnt, which gives it in Newton Seconds Per Kilogram, to convert this to the more conventional Seconds, it multiplies that by the gravitational constant as defined earlier

It prints all this to the appropriate boxes and done!

Bonus Program: Impulse Calculator 1983

As a exercise in programming and for fun I made a version of the program that runs in a console environment

The calculations performed are the same as in V2000, but there is no graphing or changing data after calculation without restarting

It has also been made open source, the source code can be found here, and the releases can be found here

If you have a Windows PC or know how to use Wine, I suggest version 2000
But if you really want to have a version that runs natively on linux, or only use console for some reason, this can be compiled for linux and ran on pretty much any hardware

2 thoughts on “Impulse Calculator 2000”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close