Jump to content

Advanced Jet Engine (AJE) v0.3 tech demo Feb.12.14


camlost

Recommended Posts

Moved to HERE

The performance model of KSP jet engines is far from reality. Especially while using FAR the jet engines are WAY OVERPOWERD. Previously Taverius used NASA EngineSim http://www.grc.nasa.gov/WWW/K-12/airplane/ngnsim.html to calculate Isp and thrust curve of several jet engines from stock and B9, but an "altitude performance curve" is still lacking.

yFOw7Nz.png

NASA EngineSim

In real world jet engines (turbojet, turbofan, ramjet) lose a lot of thrust as the air gets thinner, but the engine module of KSP forbids simulating such an effect. The plugin being developed incorporates NASA EngineSim source code into KSP.

Features:

1. Thrust and Isp are determined by EngineSim in a realistic fashion.

2. Engine parameters will be read from cfg. You can define your own engine however you like. Anything NASA Enginesim is able to simulate can be put into KSP.

3. Overheating is properly simulated. Any time a engine part (most of times a compressor) is reaching temperature limit the overheat bar will show up.

4. I'm assuming Kerbin altitude=0.7*Earth altitude. This multiplier is automatically detected for resized kerbin e.g. RSS

5. The air intake drags (including FAR drag and stock drag) are disabled.

>>Download<<

General Guide:

1. At very high speed the compressor will overheat. This happens sooner in the lower atmosphere. Throttling down the engine doesn't help. You need to slow down the vehicle or climb higher.

2. Take it easy on the intakes, as they are unlikely the limiting factor. Long before the engine is deprived of IntakeAir it will lose thrust due to the thinner air or go overheat.

3. Anybody not using FAR with this is probably insane.

changelog

=================================

v0.1

Initial Release

Include the four default designs from NASA: F100 turbojet with afterburner, J85 turbojet, CF6 turbofan and a ramjet. They are rescaled and re-massed to match reality.

Rescaled a few other stock parts to match the size.

v0.2

Bug Fixes

Disable stock drags and FAR drags for all inlets

v0.3

RSS support

Added Afterburner switch for F100 turbojet

=================================

TODO:

1. read all engine parameters from cfg

2. replace all stock and B9 air-breathing engines with AJE

Edited by camlost
Link to comment
Share on other sites

  • 2 weeks later...

Interesting!

I've actually been working on porting over another NASA java based app from Glenn Research Center to C++ .. their Interactive Rocket Thrust Program -- I've gotten it to work with Nuclear Thermal Rockets, Aerospikes, and improved the accuracy of the simulation via adding more complex propellant tables.

Link to comment
Share on other sites

How do you plan to include the different types of intakes that can be matched with the engines? Those would all have a major impact on performance.

I don't know at the moment. I think the NASA enginesim is assuming each engine has one simple straight inlet.

Link to comment
Share on other sites

camlost: how did I miss this? I was actually thinking along the same lines the last week or two, integrating an "altitudeCurve" into Real Fuels to simulate that.

That's a good idea too. But my approach can simulate some other effects too like overheat. I'm hoping I can simulate inlets in a proper way in the future, but I don't know the physics.

Link to comment
Share on other sites

Your approach is much better, obviously. Was just mentioning my hacky alternative for the record.

That 0.7x thing--why not get it from air density or pressure directly? Then it'll work in any atmosphere. (And even if not--is the 0.7x hardcoded? Hopefully not...hello RSS)

Link to comment
Share on other sites

Your approach is much better, obviously. Was just mentioning my hacky alternative for the record.

That 0.7x thing--why not get it from air density or pressure directly? Then it'll work in any atmosphere. (And even if not--is the 0.7x hardcoded? Hopefully not...hello RSS)

The NASA has a function in-built to calculate air density and temperature. It simulates stratosphere and whatnot. I'm just about to ask you whether there's a way for the module to determine RSS installed or not?

Link to comment
Share on other sites

Can this work in both the stock atmosphere and the corrected FAR atmosphere?

FAR doesn't have a separate atmosphere. Here the NASA program calculate atmo pressure and temperature using altitude as an input, based on their empirical equation

Link to comment
Share on other sites

You could detect if the assembly is loaded. Easier though if you just detect what the Mac atmosphere altitude of body 1 is, and if > 70k assume RSS. better yet, use a multiplier of max atmosphere altitude / 104. That will be correct for any scale Kerbin.

Link to comment
Share on other sites

Nice idea. I've been thinking of KSP jet engines lately and found them grossly unrealistic. What they sell as "jet engine" is just the nozzle, air from intakes can flow through the airframe and there's no place for any sort of engine "body".

So, here's the idea: a new jet engine system for KSP:

Most "engines" are relegated to being nozzles only. Different nozzles can have different characteristics, as per Engine Sim. Afterburning, non-afterburning, vectoring, high-alt, low-alt... There are many choices.

The actual engine is in the body - a fuselage-shaped part that needs to have a nozzle attached at the end. You could have different bodies for different types of engine.

Intakes need to be attached in front of the engine body, or radially on it. The air can only go through a few specific parts like the structural fuselage or inline cockpit. Again, each intake is optimized for different thing.

Intake air at high speeds gets hot. Adding a precooler between intake and engine can help cool it down.

Of course, this kind of set-up would deprive the plane of fuselage-mounted fuel tanks... just like with RL planes. That's the downside, fuel tanks would have to be placed in wings, and KSP doesn't quite know how to handle that.

Link to comment
Share on other sites

Nice idea. I've been thinking of KSP jet engines lately and found them grossly unrealistic. What they sell as "jet engine" is just the nozzle, air from intakes can flow through the airframe and there's no place for any sort of engine "body".

So, here's the idea: a new jet engine system for KSP:

Most "engines" are relegated to being nozzles only. Different nozzles can have different characteristics, as per Engine Sim. Afterburning, non-afterburning, vectoring, high-alt, low-alt... There are many choices.

The actual engine is in the body - a fuselage-shaped part that needs to have a nozzle attached at the end. You could have different bodies for different types of engine.

Intakes need to be attached in front of the engine body, or radially on it. The air can only go through a few specific parts like the structural fuselage or inline cockpit. Again, each intake is optimized for different thing.

Intake air at high speeds gets hot. Adding a precooler between intake and engine can help cool it down.

Of course, this kind of set-up would deprive the plane of fuselage-mounted fuel tanks... just like with RL planes. That's the downside, fuel tanks would have to be placed in wings, and KSP doesn't quite know how to handle that.

I had the same general idea too, when I first started to think about the problem. But how do you want to simulated the thermodynamic properties of air? Currently air is treated as a resource, of course this system needs to be dumped. Then you have to write algorithms for all the thermodynamic equations across the compressor, burner and turbine. Fortunately NASA already did that.

Anyway the main problem of KSP aviation is that the engine performance is total BS, because the algorithm they use is only suitable for rockets. As for aesthetics if anyone can make engine models that is better than just nozzles I'll use them happily.

The intake-spamming is also prohibited with AJE, because long before the engine is deprived of IntakeAir it will lose thrust due to the thin air or go overheat. More realistic modeling of different inlet geometries, which NASA didn't bother to do, seems difficult and beyond my scope.

Edited by camlost
Link to comment
Share on other sites

B9 has some nice engines, and a few good nozzles, too. My idea was to use stock structural fuselage as an engine body. A new model would be unnecessary, because on most fighters, the engine is within the hull anyway. It'd be good for a proof-of-concept, and I'm sure that if it becomes popular, modelers will soon start making models for this.

As for intakes, maybe you could work with Ferram to work them out? He's the KSP forums' aerodynamics oracle, so maybe he knows about intake stuff, too. :)

You know what would be wonderful? An "advanced aerodynamics" KSP mod. :) You could work with Ferram and DYJ (of ProceduralWings fame) to create a real plane building mod with all the intricacies of a proper aerodynamics model. Including airfoil control for PWings, advanced stuff like deep stalls, realistic engines and other stuff like that. Mostly for hardcore flightsimmers, but I think worth it.

Edited by Guest
Link to comment
Share on other sites

You basically wanted inlet, compressor, burner, etc have individual parts, that's ambitious:cool:

However that would be much more complicated. How to make different parts talk to each other? Maybe I' think about it later, but for now you can assume AJE=all these parts combined.

Ferram4 told me to cancel all aerodynamic forces for inlets for now, which I did, for now.

As for aviation in KSP, ferram made FAR, DYJ made wings, I'm making engines, what's left would be fuselage systems(make them with real size and weight, etc.), right?

I'm not sure adding scenery and airports are possible:D

Link to comment
Share on other sites

No, I don't want all engine parts separate. Merely the inlet, precooler (optional), body (burner and, where applicable, compressor) and nozzle (with or without afterburner).

As for how they'd talk to each other: they'll all have to be in-line with each other, so each engine would have a dedicated intake (radial ones would be also be assigned to just one engine based on their placement). I imagine the flow to works as follows:

Inlet takes in air and determines it's properties, like mach number, temperature, density, etc. Those are passed to the next part in the stack, either precooler or turbine. The precooler just cools the air, without altering it too much. Then the turbine gets fed data from the part before it and converts it into exhaust data. Nozzle gets that and adds it's own corrections (including afterburner, if present) and produces thrust from that. Every part depends on what the part before it is doing, and only that. The only exceptions would be turbofans, with inlets being fed shaft speed from the turbine behind them.

Now, the engine body be the most complex part, since it'd have to account for numerous variations. Ramjet and scramjet bodies would essentially be just burners and nuclear jets wouldn't be even that (just a heating element feeding from the reactor). On turbojets and low-bypass turbofans it would be the entire compressor+burner assembly, and also pass bypass data down to the nozzle. High bypass turbofans would be the most complicated of the bunch, they'd need a special inlet model which would also produce thrust. This might be best left for later, but if done, would also easily allow making propfans and even turboprops! I can see quite a few combinations possible with those.

Link to comment
Share on other sites

that “body†is still very complicated and has to be defined with a lot of parameters in cfg. Then there would be essentially no difference from the current method. You can simply weld one cylinder to the nozzle and that's it.

Precooler can be mimicked by EngineSim by elevating the compressor max temperature. because it's basically moving work after the compressor to before the compressor.

Turboprops output a certain work, right? They are no different from piston engines. All I need is to calculate propeller thrust with some semi-empirical method. I'm planning to do that.

Nuclear jets are no different from ramjets, current model should be able to do that as well.

Link to comment
Share on other sites

  • 2 weeks later...
  • 9 months later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...