Jump to content

[0.25] Engine Ignitor (Workaround for some bugs V3.4.1: Aug.31)


HoneyFox

Recommended Posts

I mean using hypergolic fuel and oxidant.

I added NTO (N2O4) and MMH to modular fuels (see MFS thread) as the first step on making this (you can see discussion about limited ignition a few pages back, there). So for engines configured for hypergolics, they'd just draw from the regular fuel supply, and for kerolox or hydrolox engines (or whatever else that's non-hypergolic) you'd need a separate tiny tank of hypergolics for ignition, the ignitertank you have.

Link to comment
Share on other sites

My understanding is that most reignitable (non-hypergolic) engines have a small tank of hypergolic fuel and oxidizer used for ignition; when the tank's dry (or the reigniting mechanism/circruitry fails, which may be before the tank runs dry) you're out of luck.

Even hypergolic engines usually have a limited number of restarts they're qualified for (Agena Target Vehicle was qualled for 5, though IIRC one managed 15 in ground tests).

Link to comment
Share on other sites

I mean using hypergolic fuel and oxidant.

I added NTO (N2O4) and MMH to modular fuels (see MFS thread) as the first step on making this (you can see discussion about limited ignition a few pages back, there). So for engines configured for hypergolics, they'd just draw from the regular fuel supply, and for kerolox or hydrolox engines (or whatever else that's non-hypergolic) you'd need a separate tiny tank of hypergolics for ignition, the ignitertank you have.

Ah, I may need to take some look in that thread. I wasn't paying much attention to that plugin before. :D

And is there any flag for hypergolic fuel types so that we can judge whether the fuel+oxidizer can ignite by themselves when on contact.

Link to comment
Share on other sites

Alas no. But you can add one.

Arbitrary key/values will be stored in confignodes, even if they aren't used. So you can just do a find on confignode(RESOURCE) with name PartResource.myfuel.name, and then GetValue("hypergolic") == true.

(after finding the RESOURCE{} block with name = MMH, and adding hypergolic = true to the block)

Link to comment
Share on other sites

I wonder if a random %number generation check could be incorporated at low odds (say .01) that could result in a malfunction to ignite despite ignition methods. A first 'system breakdown' for the game.

I'm having another plugin named RandomFailures under developed. though currently I only have three types of failures implemented... one of them is fuel tank leakage for large size tank & for tanks that has endured some g-load. :P

Well I may need some other guys coming to co-operate with that plugin. I will push that onto my GitHub too. Any branching/forking will be welcomed.

Link to comment
Share on other sites

My understanding is that most reignitable (non-hypergolic) engines have a small tank of hypergolic fuel and oxidizer used for ignition; when the tank's dry (or the reigniting mechanism/circruitry fails, which may be before the tank runs dry) you're out of luck.

Even hypergolic engines usually have a limited number of restarts they're qualified for (Agena Target Vehicle was qualled for 5, though IIRC one managed 15 in ground tests).

Does the amount of resources taken during one re-ignition differs with any factors like ... temperature, air pressure, and probably luck? :) That way the count of ignitions will vary with different environments.

Link to comment
Share on other sites

I'm curious about the 2) type and want to know more.

You said it's not like shotgun shells i.e. can ignite for specific set of times. And that statement leads me to think that whether the engine can re-ignite is random? Or what other factors will affect the possibility of a successful re-ignition?

See HoneyFox's answer - one way you can do it is use hypergolic tanks just to ignite the fuel. The number of reignites depends upon the size of those tanks. Another way that is used is what might be described as heavy duty sparkplugs. The reliability comes down to how you engineer the system to survive the hostile environment its got to live in. Generally speaking, thats not as bad as it sounds, because engines you might want to start and stop often - e.g. manuvering thrusters, are generally relatively low power and so the reignition system (or in teh case of hypergolic engines, the reaction chamber) can be made more robust without a huge weight penalty. Space shuttle OMS is a reasonably good example of that. They were designed to deal with multiple, relatively short lived, re-igntion sequences as necessary (and indeed be reusable after overhaul from flight to flight).

If we ever do a mission to mars, we will probably need a robust re-igniteable non-hypergolic system. Robust because it needs to be able to reignite multiple times, over the span of years. non-hybergolic because we want it to have some reasonable ISP so the mission can be done. In that way KSPs ahead of our real space program. We don't have many situations yet where we are sending vehicles on long distance travel and doing significant re-ignites (other than small course correction burns on space probes), which can be very small hypergolic engines and thus probably count from this mod's point of view.

Link to comment
Share on other sites

I don't know if amount varies--my guess is at least modern engines spray a carefully measured amount into the reaction chamber. If it's sparkplugs, then it's probably more random how much heat damage is done to the sparkplug each ignition (and during operation if they're not shieldable).

Link to comment
Share on other sites

Doing some reading about this, spark plugs seem to be a fairly standard design feature and are good for an arbitrary number of restarts. They are not the limiting factor. The issue is that the engine mechanisms have to be bootstrapped in some fashion to get the fuel flowing. There seem to be a number of strategies for this:

running pressurized helium through the engine to start the parts moving (J-2)

pressurizing the fuel tanks with helium to push the fuel through the engine (Lunar Module)

solid propellant kickstarter (some sources say Merlin, but Google is too clogged with press releases to get solid info about anything SpaceX)

external pumping mechanisms on the pad (F1, SSME)

Additional considerations include:

In zero-G a fuel consolidating RCS maneuver may be required before restart, if the tanks aren't pressurized

Kerosene rockets have residue buildup that severely limits restart potential

Ablatively cooled nozzles eventually ablate to the point of failure

Link to comment
Share on other sites

Nuclear engines should be able to have infinite ignitions, due to not actually igniting. Do they?

I don't know... they don't actually ignite that's right. but i guess it still need to initiate the pump (or other way) to push some fuel (normally LH2) into the reactor core. And I don't know what kind of cycle does nuclear engine usually use. Probably expander cycle?

Link to comment
Share on other sites

I don't know... they don't actually ignite that's right. but i guess it still need to initiate the pump (or other way) to push some fuel (normally LH2) into the reactor core. And I don't know what kind of cycle does nuclear engine usually use. Probably expander cycle?

Honestly, your biggest issue with relights for interplanetary missions has nothing (very little) to do with the engine itself (assuming you design it with that in mind) and most to do with your fuel.

For example, if you are using liquid Hydrogen as a fuel, you can basically forget about keeping it around for any length of time due to boil off. Thats equally true for LH2 /LOX chemical engine, or a LH2 NERVA. Someone mentioned above that Kerosene has problems, which is true, not due to boil off, but due to fouling. Some options do exist tho:

For long duration deep space missions, there are hypergolics that have very low loss. Their ISP kinda sucks, but thats what we currently use now for satellites and space probes (when not using Ion engines, which is becoming more common). For non-hypergolics, there are still options. One of the most popular right now is Liquid Methane / Liquid Oxygen. It has fairly good ISP (about 380, not LOX / LH2 numbers, but not bad), can be stored at relatively high density compared to LH2 (which makes the size of the tank much smaller for a given mass, and thus makes up for some of the ISP deficiency) and while technically cryogenic, is relatively easy to prevent boil-off. It also has the ability to be 'mined' from places you can get ahold of carbon and water and electricity (e.g. mars). Space-X is looking to make their next generation upper stage engine Methalox, probably more for the storage of the propellent features i mentioned than the 'mining' feature (as one can also make LOX/LH2 from water and electricity).

For NERVA engines, you can use most anything. LH2 still has the problem of boil off and large tank mass, so generally the consensus is that the best option for long duration missions is Ammonia, which is still very light (and thus has good ISP) and isn't cryogenic. It also can be stored at relatively high densities (small tank volumes). In a pinch, you could use LOX or methane, but they are less optimal (although perhaps easier to 'mine').

There was a really good article someone wrote up (I think on Space.com, but I can't find it anymore) where somone build huge spreadsheets of the various fuel options as a function of engine size and tankage, looking for the optimal points. It was a good article, and went into great detail on which fuels work best for what. I wish I could find it and link it, but this is the basic gist.

I don't know... they don't actually ignite that's right. but i guess it still need to initiate the pump (or other way) to push some fuel (normally LH2) into the reactor core. And I don't know what kind of cycle does nuclear engine usually use. Probably expander cycle?

As for the ignition question specifically above - that part is relatively easy. You can use ullage motors, or let the natural outgassing of the fuel to pressurize before ignition, there are a bunch of techniques people have come up with to get the fuel to the pumps.

** footnote - Ammonia was the propellent arthur C. Clarke used in 2001/2010 for the reaction mass of the Discovery space craft, which I believe was using a plasma engine (not sure if that last bit was true). He did this for the same reason cited above - H2 boil off was unacceptable for a Saturn mission, so he picked the best compromise fuel.

Edited by Seyvern
Link to comment
Share on other sites

I have an idea. Why not make an "igniter" part to add to engines? That way, you could decide how many times you want to be able to re-ignite the engine. More ignitions-more weight and more parts.

Also, I'd suggest an optional "ullage motor" system, in which certain engines would need at least a minimal acceleration in order to ignite. It could be achieved with small SRBs (like in American rockets) or starting the 2nd stage while the first is still burning (like many Soviet ones). Or with a typically Kerbal, jury-rigged way, using RCS to provide the initial acceleration.

Link to comment
Share on other sites

I think the options could be distilled down to two essential configurations that should work with all fuel types (the possible variations and details within each being irrelevant to gameplay)

#1 Pressure fed: Consider tanks to be pressurized with xenon, implemented simply as having xenon as an additional required fuel that the engines won't run without. No restart limitations.

#2 Turbopump: Igniting the engine requires a starter module. The starter module requires the craft to be under acceleration (including gravity) and consumes a small amount of xenon. The amount of xenon you bring determines your number of restarts. Once ignited, no further xenon is required, and if no restart is desired the igniter and xenon can be left on the pad.

Link to comment
Share on other sites

In case 2 I'd really, really like the resource to not be Xenon. The whole point of Xenon is that it's _inert_ after all.

Monopropellant (since it's usually half of a hypergolic pair, in real life--NTO or Hydrazine is often used) would be a better "stock" fit IMO.

In case 1, though, xenon is fine--you _want_ an inert gas then.

EDIT: Someone, I thought, hacked together a mod that wouldn't allow ignition unless a craft was under acceleration? Forget where I saw it though.

Link to comment
Share on other sites

I think the options could be distilled down to two essential configurations that should work with all fuel types (the possible variations and details within each being irrelevant to gameplay)

#1 Pressure fed: Consider tanks to be pressurized with xenon, implemented simply as having xenon as an additional required fuel that the engines won't run without. No restart limitations.

#2 Turbopump: Igniting the engine requires a starter module. The starter module requires the craft to be under acceleration (including gravity) and consumes a small amount of xenon. The amount of xenon you bring determines your number of restarts. Once ignited, no further xenon is required, and if no restart is desired the igniter and xenon can be left on the pad.

I think fuel feed and igniting are two steps for an engine to work steadily...

for fuel feed, that's what pressure fed or turbo-pump are related to.

for ignition, that should be depending on whether fuel is hypergolic and (if not) whether we have ignitor available.

I'm thinking of the way to implement different types of ignitors by implementing some config node like "IGNITOR_RESOURCE" just like the PROPELLANT config node in ModuleEngines. That way a sparkplug ignitor will consume ElectricCharge while others can consume MonoPropellant or some other dedicated resources like in Module Fuel System... uh-huh... So what if some of the resources are insufficient or even absent... reduce the possibility of a successful ignition? :)

EDIT: Oh and the above design actually diminishes the need to check whether some fuel is hypergolic or not, simply because if we use the same type of fuel to ignite as to burn then it can be considered as hypergolic. Otherwise it's not and it needs specified types of fuel which means the ignition count will be automatically limited by the amount of that igniting fuel.

Edited by HoneyFox
Link to comment
Share on other sites

Guest Capt_wheelchair
Hi all.

As we know the liquid engines in KSP can ignite for infinite times, which seems a bit making life too easy.

And then I came to an idea, what if we only have limited times of ignitions for an engine, thus we will have to plan & execute our maneuvers more precisely and carefully.

Yes this will make game much harder but hey that' a good challenge and that's kind of realistic too, especially because we also have quite good autopilot plugin like MechJeb. :P.

>The game is too hard

>Let's make an autopilot

>The game is too easy

>Let's make the game harder for our autopilot!

why must you be like this? you were doing so well!

but, yeah i do love the idea man thanks for the upload, i'll try it out tomorrow morning!

Link to comment
Share on other sites

The gas should be inert in both cases. The difference is whether its the primary means of feeding fuel, or just kickstarting a turbopump. I'm considering in both cases the actual ignition is either hypergolic or a reusable spark plug - either way something that doesn't have to be accounted for in the gameplay.

Link to comment
Share on other sites

Nice mod idea!

However, I find this thread transforming into some scientific discussion...

Not that it is not interesting, but there are too many various ideas here.

All should come in order, I suppose. And besides KSP is generally not a real life simulator but a game in the first turn.

I'm pretty late with some ideas, but find them the most suitable to make a simple, stock-compatible and reasonable little mod, anyway.

So:

1. Tanks with hypergolic fuel. (It's a suggestion)

Probably about the size of a battery bank.

No mater what is in it, but it drains a certain amount when an engine is ignited.

You can have as many of them as you want for the current mission.

You don't have to deal with any attachable/rechargable/slowly corrupting parts, just transfer the resourse!

2. Shutdown blocker. (It's a recomendation)

It is important! The engines must not stop on unintentionally pressed ctrl.

They should only go to some minimum thrust and settle there.

It makes more sense if they can be shut down only with x.

(btw, I do want such plugin anyway, sometimes it can help a lot with precise manuevers)

3. Nothing else is really required, it is a good minimum.

But, it is IMHO of course, all is in your hands!

I simply think that it is the best way for everybody- not overcomplicated, but challenging.

Edited by Absolute Human
Link to comment
Share on other sites

2. Shutdown blocker.

They should only go to some minimum thrust and settle there.

It makes more sense if they can be shut down only with x.

It would be good from a UI perspective to be able to set a throttle floor, though from an engine perspective they ought to flame out under 20% or so throttle. (Actually, many real "throttleable" engines are not rated to throttle even under 60%)

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...