Jump to content

Can I set isp as a function of velocity?


Recommended Posts

I'm altering the config file of an electric propeller engine. It previously would either not get off the ground, or get all the way to orbit. So it needed a reality check.

The physics of a propeller are such that without the compressor jets have efficiency drops off almost linearly with pressure, and also as the propeller blades exceed the speed of sound they become drag devices rather than lift devices. A standard base line seems to be a supersonic buzzing starting at around mach 0.85, net trust dropping to 0 by about mach 0.90 and thrust going negative past that.

Altering the forces is pretty easy using atmCurve{} and velCurve{}. Making sure the engine still draws power is a bit more difficult.

I solved the problem with atmosphere drop off by using atmosphereCurve{} like so.

		name = ModuleEnginesFX
		...

		atmosphereCurve
		{
			key = 0 800 0 1000000
			key = 0.000001 0 0 0.3012048
			key = 0.5 789.496 0.02686068 0.02686068
			key = 20 960 0 0
		}

		// Jet params
		...

		atmCurve
		{
			key = 0 0 0 0
			key = 0.000001 0 0 0.3012048
			key = 0.5 0.98687 0.02686068 0.02686068
			key = 20 1.2 0 0
		}

So that force and efficiency drop at the same time and at the same rate.

I would like to do the same thing with velocity.

Here's what I tried:

		name = ModuleEnginesFX
		...

		velocityCurve
		{
			key = 0 600 0 0
			key = 0.5 800 0 0
			key = 0.85 400 -2.125082 -29.05206
			key = 1 800 0 0
		}

		// Jet params
		...

		velCurve
		{
			key = 0 0.75 0 0
			key = 0.5 1 0 0
			key = 0.85 0.5 -2.125082 -29.05206
			key = 1 -1 0 0
		}

But the game doesn't recognize velocityCurve{} as anything even though I'm fairly sure I've seen it used before. (can't remember where)

As is the game follows velCurve{} by changing the flow of electricity rather than engine efficiency. However it makes no sense to have the propeller tips experiencing extreme supersonic drag at mach 0.90 but not requiring any power to keep moving and even less sense to have the propeller creating drag similar to a 1m parachute at mach 1 and actually be producing electricity.

Is there something small I'm missing in syntax, am I way off the mark, or is this idea impossible using base game mechanics?

 

 

Here's the whole module:

MODULE
{
	name = ModuleEnginesFX
	thrustVectorTransformName = thrustTransform
	exhaustDamage = False
	ignitionThreshold = 0.1
	minThrust = 0
	maxThrust = 50
	heatProduction = 8
	useEngineResponseTime = True
	engineAccelerationSpeed = 20
	engineDecelerationSpeed = 20
	//useVelocityCurve = True
	EngineType = Turbine
	PROPELLANT
	{
		name = ElectricCharge
		ratio = 0.4
		DrawGauge = True
	}
	PROPELLANT
	{
		name = FSCoolant
		ignoreForIsp = True
		ratio = 0.01
	}
    	atmosphereCurve
    	{
		key = 0 800 0 1000000
		key = 0.000001 0 0 0.3012048
		key = 0.5 789.496 0.02686068 0.02686068
		key = 20 960 0 0
    	}

		// Jet params
		atmChangeFlow = False
		useVelCurve = True
		useAtmCurve = True
		flameoutBar = 0.001
		flowCapMult = 1.0
		machHeatMult = 10

		atmCurve
		{
			key = 0 0 0 0
			key = 0.000001 0 0 0.3012048
			key = 0.5 0.98687 0.02686068 0.02686068
			key = 20 1.2 0 0
		}
		velCurve
		{
			key = 0 0.75 0 0
			key = 0.5 1 0 0
			key = 0.85 0.5 -2.125082 -29.05206
			key = 1 -1 0 0
		}
}

 

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...