General Question Calculate a pressure-dependent Isp

Marijn

Active member
Joined
Mar 5, 2008
Messages
755
Reaction score
166
Points
43
Location
Amsterdam
Hello all,

I want to calculate a pressure-dependent isp for use in my spreadsheets. The formula is given on page 437 of the API_Reference manual:

Isp(p) = Isp0(1 - pn); Th(p) = Th0(1 - pn); where n = Isp0 - Ispref / pref*Isp0

When sitting on the runway, I assume 'pref' corresponds to the pressure at sealevel corrected for terrain elevation.

Isp0 is the isp in a vacuum. But I can't figure out what 'Ispref' stands for.

Any help? I want to calculate the value which is displayed by BurnTimeCalc when sitting on a runway for different bases [on different planets].

thnks.
 

martins

Orbiter Founder
Orbiter Founder
Joined
Mar 31, 2008
Messages
2,448
Reaction score
462
Points
83
Website
orbit.medphys.ucl.ac.uk
Isp_ref is the Isp value at ambient pressure p_ref. Generally, 0 < Isp_ref < Isp_0.

Isp_ref is provided by the vessel code. (it's an input parameter to VESSEL::CreateThruster). You can query it with VESSEL::GetThrusterIsp(THRUSTERHANDLE th, double p_ref).
 

Marijn

Active member
Joined
Mar 5, 2008
Messages
755
Reaction score
166
Points
43
Location
Amsterdam
Thanks. I do not have an Orbiter development environment set up and I have not ran any quesries before. I'll check that out.

Is Isp_ref a constant? If not, am I right to conclude that it can't be calculated in a spreadsheet?
 

martins

Orbiter Founder
Orbiter Founder
Joined
Mar 31, 2008
Messages
2,448
Reaction score
462
Points
83
Website
orbit.medphys.ucl.ac.uk
Well, it's a constant for a given thruster after it has been created (strictly speaking, you _can_ reset the Isp values after creation with VESSEL::SetThrusterIsp(THRUSTER_HANDLE, double, double, double), although it would be hard to find a reason why this would be necessary - maybe if the thruster has a variable geometry)

And no, you can't calculate Isp_ref in your spreadsheet. It's a design parameter.
 

Marijn

Active member
Joined
Mar 5, 2008
Messages
755
Reaction score
166
Points
43
Location
Amsterdam
Ok, thanks for the clarification. At the moment, I am only interested in the Isp_ref of the XR5. I think I can calculate it now using the Isp(p) value given by BurnTimeCalc.

---------- Post added 10-31-18 at 01:07 AM ---------- Previous post was 10-30-18 at 06:07 PM ----------

When I load a XR5 scenario with isp(0)=25962 and location is KSC, BurnTimeCalc indicates that the isp(p) is 20779. The surface MFD indicates static pressure is 101.2 kPa.

So I figured, (1 - pn) is 20779 / 25962 = 0.8004, thus pn = 0.1996. Divided by p, n is 0.0020.

Assuming the isp values aren't being reset at any time, this would allow me to calculate the isp(p) for any other static pressure and at differrent isp(0)'s.. Right?

---------- Post added at 02:38 AM ---------- Previous post was at 01:07 AM ----------

Ok, my formula is working. But the result is 40 m/s off. I think that's because the 101.2 value for p which I am using is a little rough.

So the next step is to calculate p. The manual says p = 101.4e3 at sea level.

How does Orbiter calculate p? I know about the standard atmosphere, but I don't know whether this model is actually used by Orbiter and if other params such as temperature and G are involved..
 
Top