Jump to content

[1.12.x] Throttle Limit Extended


linuxgurugamer

Recommended Posts

@linuxgurugamer I see this mod, this changes individual engines thrust via action group mappings and the constant thrust to weight ratio mod that adjusts all engines thrust values but I have a desire for a different type of thrust management. I thought here might be a useful place to ask.

I have a space plane with two very different sources of thrust. One thrust source is via engines that use liquid fuel & atmo or oxidizer (like the sabers?). The other thrust source is from nuclear engines that use atmo or other propellant (other being one from a list that you can move through during flight, liuid fuel, hydrogen etc). During atmo flight the nuclear thrust is basically free thrust, no fuel is used other than the atmo which it just sucks in as it can. What I am looking for is a mod that uses the free thrust and then throttle controls the other thrust source to obtain the target thrust desired.

I think that the mod CTWR has addition abilities like adjusting the thrust varying on altitude, that sounds very nice to have or rather a mod that is aware of your altitude.

Does this sound like any mod that already exists that you could point me towards?

In the mean time I think I will give this mod a try, just map the liquid fuel & atmo engines.

Link to comment
Share on other sites

1 hour ago, Apaseall said:

@linuxgurugamer I see this mod, this changes individual engines thrust via action group mappings and the constant thrust to weight ratio mod that adjusts all engines thrust values but I have a desire for a different type of thrust management. I thought here might be a useful place to ask.

I have a space plane with two very different sources of thrust. One thrust source is via engines that use liquid fuel & atmo or oxidizer (like the sabers?). The other thrust source is from nuclear engines that use atmo or other propellant (other being one from a list that you can move through during flight, liuid fuel, hydrogen etc). During atmo flight the nuclear thrust is basically free thrust, no fuel is used other than the atmo which it just sucks in as it can. What I am looking for is a mod that uses the free thrust and then throttle controls the other thrust source to obtain the target thrust desired.

I think that the mod CTWR has addition abilities like adjusting the thrust varying on altitude, that sounds very nice to have or rather a mod that is aware of your altitude.

Does this sound like any mod that already exists that you could point me towards?

In the mean time I think I will give this mod a try, just map the liquid fuel & atmo engines.

Davon Throttle Control allows you to throttle engines independently, I have not seen a mod that will automatically do what your talking about. 

Link to comment
Share on other sites

Last night I gave this mod a whirl. I set the action groups for -10 +10, -1 +1 for the normal engines only. Manually set thrust via usual z 100, left shift, ctrl, x. That seemed to max the nuclear thrust and allow control over the normal engines thrust. In a nutshell it worked as planned. So great news. With AGX and the actions I set up the control was a little fiddly so I will give Davon a go. Will have to see if I can get fine control from Davon but I think Davon will work over all engines not just the ones I wish to interactive with. Thanks for the pointer to Davon.

Link to comment
Share on other sites

It seems that when I start an engine with staging it gets stock thrust per throttle even if it is below the limit, until throttle is changed.

BTW, what is the reasoning behind this design decision of using custom minThrottle parameter in ThrottleLimiterModule? Is it possible to use stock minThrust parameter and stretch the thrust with custom module? Purely theoretically it might mess less with various calculations, i.e. in Kerbal Engineer.

Edited by Psycho_zs
Link to comment
Share on other sites

9 hours ago, Psycho_zs said:

It seems that when I start an engine with staging it gets stock thrust per throttle even if it is below the limit, until throttle is changed.

Interesting, I'll have to check.  So, to recap, if the throttle is at, say, 50%, and you then stage, the new engine will also have 50% even if it has ahigher minimum setting?

9 hours ago, Psycho_zs said:

BTW, what is the reasoning behind this design decision of using custom minThrottle parameter in ThrottleLimiterModule? Is it possible to use stock minThrust parameter and stretch the thrust with custom module? Purely theoretically it might mess less with various calculations, i.e. in Kerbal Engineer.

minThrottle is different than minThrust

Link to comment
Share on other sites

51 minutes ago, linuxgurugamer said:

So, to recap, if the throttle is at, say, 50%, and you then stage, the new engine will also have 50% even if it has ahigher minimum setting?

Yes. I've just re-checked on a clean KSP to be sure.

53 minutes ago, linuxgurugamer said:

minThrottle is different than minThrust

I know, that was a part of my question.

Link to comment
Share on other sites

11 minutes ago, linuxgurugamer said:

Changing the thrust levels affects other tools such as Better Burn time, Kerbal Engineer, etc.  Changing min throttle doesnt

That would be the point.

Also, thrust limiter slider on the engines overrides minThrottle limit.

Link to comment
Share on other sites

39 minutes ago, linuxgurugamer said:

What point?

Throttle limit would affect calculations in other parts of the game and mods, because minThrust value is stock. It also would automatically fix slider issue.

Offtopic:

Spoiler

WOOOOO! It didn't blow up!

 

Link to comment
Share on other sites

4 hours ago, Psycho_zs said:

Throttle limit would affect calculations in other parts of the game and mods, because minThrust value is stock. It also would automatically fix slider issue.

Offtopic:

  Reveal hidden contents

WOOOOO! It didn't blow up!

 

Changing the minThrust will mess up other mods.  Limiting the throttle doesn't.

Regardless, this is the way it is.   Not going to change

Link to comment
Share on other sites

Had a quick question - I really like the idea of action groups controlling the throttle limiter, but I don't personally like the throttle minimums, so I wanted to make an MM patch to remove throttle limits while keeping the AG control.

Am I correct in assuming that EngineAGThrottleModule and ThrottleLimiterModule are separate to allow for exactly the kind of control I'm looking for? And therefore making my MM patch remove all instances of ThrottleLimiterModule (or setting the values to 0.0) will achieve the results I want without breaking the AG functionality? Sure seems that way, but just thought I'd check in case of unintended consequences I might not understand.

Link to comment
Share on other sites

12 hours ago, AccidentalDisassembly said:

Had a quick question - I really like the idea of action groups controlling the throttle limiter, but I don't personally like the throttle minimums, so I wanted to make an MM patch to remove throttle limits while keeping the AG control.

Am I correct in assuming that EngineAGThrottleModule and ThrottleLimiterModule are separate to allow for exactly the kind of control I'm looking for? And therefore making my MM patch remove all instances of ThrottleLimiterModule (or setting the values to 0.0) will achieve the results I want without breaking the AG functionality? Sure seems that way, but just thought I'd check in case of unintended consequences I might not understand.

Pretty sure you can just remove the mm patch that gives defines all the engine minThrottles. Better yet, just change its extension from .cfg to .txt (incase you change your mind).

Pretty sure when i asked linux for this functionality (i originally had written a patch to assign different minThrust values to all the engines and noticed that that borked better burn time) he kept the functions seperate so that it would be modular like this.

Sorry i can't test this for you right now, or even tell you the file name; my laptop is out of juice. If you haven't got it by tonight I'll look into those for you.

Edited by Errol
Link to comment
Share on other sites

1 hour ago, Errol said:

Pretty sure you can just remove the mm patch that gives defines all the engine minThrottles. Better yet, just change its extension from .cfg to .txt (incase you change your mind).

Pretty sure when i asked linux for this functionality (i originally had written a patch to assign different minThrust values to all the engines and noticed that that borked better burn time) he kept the functions seperate so that it would be modular like this.

Sorry i can't test this for you right now, or even tell you the file name; my laptop is out of juice. If you haven't got it by tonight I'll look into those for you.

This won't work, the patch is in multiple files.

@AccidentalDisassembly yes, you can, just make sure it runs AFTER[ThrottleLimitExtended]

Link to comment
Share on other sites

  • 1 month later...

It's good from the perspective of not depending on language settings.  It does have the brittleness with respect to the particular format of the atmosphereCurve, but that would be easily solved by moving that function into the DLL; it could evaluate the engine's atmosphereCurve at 0 atmospheres and 1 atmosphere directly, and get the right answer for all engines, regardless of how the atmosphereCurve is actually defined in the config file.

More broadly, I guess I object on the philosophical grounds that, while it may 'work', the two phenomena of the Isp gap and deep throttling are not physically connected.  It's true that, generally speaking, vacuum-optimized engines (with poor atmospheric performance) tend to be pressure-fed and therefore theoretically more able to deeply throttle, but that large Isp gap is not caused by the quality of deep throttling (or vice-versa); it's caused by the high expansion ratio from the engine throat to the end of the nozzle.  For example, the J-2 engine had an Isp gap of 48% (421 sec vac, 200 sec SL), but only had a throttle range of 78% (see this NASA fact sheet, last page), while the Space Shuttle Main Engine had an Isp gap of 81% but could throttle from 109% to 60% thrust (total ratio of ~55%).  (Maybe it could be argued that these are outliers from their respective classes of engines -- the J-2 was a vacuum engine but was fed by turbopumps, while the SSME was specifically developed with deep throttling capability.)

 

Link to comment
Share on other sites

No escape from manual work...

BTW, with this amount of repeated action it might be more optimal to mark modules with some variable first, and then assign actual configs based on that mark.

like this:

@PART[engine1|engine2|lots|of|other|engines|]
{ throttleProfile = shallow }
@PART[*]:HAS[@MODULE[ModuleEngines*]:HAS[@PROPELLANT[Oxidizer]],!MODULE[ThrottleLimiterModule],#tags[*land*]] 
{ throttleProfile = deep }
@PART[*]:HAS[@MODULE[ModuleEngines*]:HAS[@PROPELLANT[Oxidizer]],!MODULE[ThrottleLimiterModule],#tags[*sustain*]]
{ throttleProfile = shallow }
...
...
// lots of other markings
...
...


@PART[*]:HAS[#throttleProfile[shallow]]
{
	@description ^= :(.)$:$0 Shallow throttle; minThrust down to 80% of maxThrust.:
	
	MODULE 
	{	
		name = EngineAGThrottleModule
	}
	MODULE
	{
		name = ThrottleLimiterModule

		minThrottle = .80 // 0 to 100
	}
}

@PART[*]:HAS[#throttleProfile[deep]]
{
	@description ^= :(.)$:$0 Deep throttle; minThrust down to 20% of maxThrust.:
	
	MODULE 
	{	
		name = EngineAGThrottleModule
	}
	MODULE
	{
		name = ThrottleLimiterModule

		minThrottle = .20 // 0 to 100
	}
}


// remove markers
@PART[*]:HAS[#throttleProfile]
{ !throttleProfile }

Or even mark with throttle coefficient right away and match :HAS[#throttleDepth[>.35],#throttleDepth[<.65]] as medium (for different descriptions)

Edited by Psycho_zs
Link to comment
Share on other sites

  • 1 month later...
On 2/3/2018 at 12:06 AM, Jebs_SY said:

Hi.

Was able to reproduce it. Have to say, that pressing CTRL what is "throttle down" kicks the thrust of my engine to 60%. But the throttle stays at 0%. To kill the engine I need to press "X" (cut engine). 

Interesting is, even on EVA that happens. Made a quick video, send it to you, @linuxgurugamer Maybe it helps debugging. o/

BR
JebsSY 

Hi, i have the same problem with the controll key sets throttle to 60% with mod version 2.0.4. Try a clean install with only MM, Action Groups Extended, Click Through Blocker and Throttle Limit Extended but same problem.

Key X & Y (german keyboard) for 0% & 100% are working fine.

is there a way to make my control key working normal again? Here is my KSP.log if needed .

Thanks for all these fine mods, greetings,

Ernstberth

Link to comment
Share on other sites

  • 2 months later...

New release, 2.0.5:

  • Added toolbar button and window for controlling the Thrust Limiter
  • New functionality
    • Can change the following:
      • All active engines
      • All inactive engines
      • All RCS
      • and can also select specific engine types
    • Remembers window position
  • Added settings window
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...