Jump to content

[1.0.5] Advanced Jet Engine v2.6.1 - Feb 1


camlost

Recommended Posts

Hi All,

I am having trouble between AJE and Real Plume. Real Plume always showed emissives on the turbofan engine. After I installed AJE there is no more plume. :( Anyone have any ideas?

I'm not sure if I understood your question proprly, but does this happen with 100% throttle too ?

I'm asking because AJE makes some alterations to engine SFX, so flames from engine is more visible when afterburner is turned on. Afterburner is considered to be turned on after 66% of throttle I think. Not absolutely sure about exact values, I'm writting this from top of my head as I recall all those info.

Link to comment
Share on other sites

I'm poking at turbofans again... Seems a little fuel hungry.

Building a 737 model that's in about the same weight and fuel load range (~40 metric tons with 20,000 liters of fuel). And it appears it gets less than half endurance that should be expected of a 737-400 model aircraft. ASL consumption rates put the aircraft at DRY in 35 minutes at takeoff thrust, and cruise altitude and cruise throttle settings barely give it two hours. I've been on 737 flights as long as four hours. Which means at a minimum 20,000 liters should go 5 hours at cruise. (FAA reg, 1 hour fuel in the tank at normal landing.)

Edited by AdmiralTigerclaw
Link to comment
Share on other sites

1) Are you using RF? If not, you need to look at fuel mass rather than volume. Probably better to do this even with RF 2) Does it have the same amount of thrust as the real one? If you've got more thrust then it's going to go through fuel faster.

Link to comment
Share on other sites

1) Are you using RF? If not, you need to look at fuel mass rather than volume. Probably better to do this even with RF 2) Does it have the same amount of thrust as the real one? If you've got more thrust then it's going to go through fuel faster.

I am using Real Fuels. So, I'm using Kerosene. And I do try to adjust the power via the thrust limiter to be about 0.35 TWR. But no matter what, the fuel time seems to be 30 minutes at full throttle (on a high bypass TF), and 2 hours at cruise with no marked improvement in the fuel time with altitude.

Now, I suspected Real Fuels to be involved, but some of the cross-connectivity of these modules makes it hard for me to determine which mods are 'outranking' the others, and the real fuel mass is something I would assume I want to leave alone since it should mass what the fuel ACTUALLY masses. So I've spent most of my focus on the engine itself.

One thing I've been doing is playing with the FHV value in the engine sim. When I researched a little into AJE's engine sim, I noted that all the turbofans have the value around 20-ish E6. The Github explanation of the Engine Sim defined Kerosene at 46.8E6.

(Values for a P-W F100 set with modded FHVs tell me the following at 66 % throttle)

FHV @ 22.2E6 = FF: 2.48 %

FHV @ 46.8E6 = FF: 1.21 %

The rest of the performance output is telling me that things stay 'mostly' in the same functional ranges in terms of thrust and the like. But that percentage value is a slice in half. I expected for the same throttle settings in-game for that engine, I should have gotten half the fuel flow, and in relation, double the operational flight time at cruise.

Now, if Real Fuels is doing something else amidst the module mess, I don't know what it is. But my main concern is I need to know how fuel flow (in mass or volume) is connected to the configuration of the engine.

Right now, I'm testing an F-15 mockup, hence the P-W engine stats above to see if I get any changes. But unless I load it down with so much fuel that the rotation speed is above 250 knots, it doesn't even get an hour flight endurance at a throttle of 50% at altitude.

Now, one thought I had, is that there might be interference from the B9 Aerospace folder. I grabbed the 0.9 version without it breaking my game. (Mainly so I can have the conformal spotlights), but I'm not sure if there's a patch or override hiding out in the folder that is upsetting my engines.

One reference thought I had about it is that I have a Global Hawk that I designed that had terrible fuel consumption on the ground, which I expected, but once cruising at altitude, had enough endurance to last 18 hours. And I could visibly see the endurance time climb rapidly above 6000 meters even before the throttle eased off for the cruising height.

And thinking about that, and how 'thrust' drops rapidly as I climb, I should technically be seeing fuel consumption drop as thrust drops as you implied. But point is, the Global Hawk performed to spec nicely and it was before I added the B9 folder.

EDIT: And I think I found the culprit, because this F-15 now has over four hours of flight time at altitude. I'm'a poke at this and see if my experiment is true.

EDIT 2: Partial fix. If I want the CFM engines, I need to find something else since they're part of the B9 mod set. But removing the 'stock rebalance' patch from the B9 folder fixed the P-W F100. Seems like B9 is overriding AJE more than AJE overrides B9.... Hmm...

Edited by AdmiralTigerclaw
Link to comment
Share on other sites

What I meant about mass was that you should ignore the tank volume and just look at the resource mass - I don't remember if there's a way to do it in stock, but KER and RCS Build aid will definitely show you the mass of fuel you have, since AJE calculates fuel consumption in terms of mass rather than volume (it shouldn't matter under RF but just trying to eliminate all possible variables). Depending on the variant, it looks like the 737 carries 15-20t of fuel, and the F-15 carries 6.1t.

FHV is tuned in order to get the correct static SFC (thrust per unit fuel flow). The way AJE is set up currently, it has to account for incomplete burning and heat loss through the walls of the engine, which are not modeled. Additionally, the FHV specified in the cfg won't matter for any engine that has drySFC set - in that case the engine fitting routine sets it automatically. The engine simulator also hasn't been updated in months.

B9 shouldn't be interfering at all - none of the parameters used by stock engines are used by AJE.

Link to comment
Share on other sites

What I meant about mass was that you should ignore the tank volume and just look at the resource mass - I don't remember if there's a way to do it in stock, but KER and RCS Build aid will definitely show you the mass of fuel you have, since AJE calculates fuel consumption in terms of mass rather than volume (it shouldn't matter under RF but just trying to eliminate all possible variables). Depending on the variant, it looks like the 737 carries 15-20t of fuel, and the F-15 carries 6.1t.

FHV is tuned in order to get the correct static SFC (thrust per unit fuel flow). The way AJE is set up currently, it has to account for incomplete burning and heat loss through the walls of the engine, which are not modeled. Additionally, the FHV specified in the cfg won't matter for any engine that has drySFC set - in that case the engine fitting routine sets it automatically. The engine simulator also hasn't been updated in months.

B9 shouldn't be interfering at all - none of the parameters used by stock engines are used by AJE.

So far, B9 is interfering. I can verify that just by putting the B9 engine rebalance config back into the folder, which takes over stock engines. The behavior as I've learned last night appears to be that any B9-based engine, or any engine B9 touches, uses the B9 values instead of the AJE values.

Which is weird, because it does it in a frankenfritter fashion. This is what I learned over eight hours of dicking with it.

The CFM engine, which is a B9 medium engine pod, has its text data replaced to match the AJE file, but the performance of the engine appears to stick to the ISP defined by the atmosphereCurve value in the B9 Medium Pod engine config.

When I cracked open AJE's B9 cfg, the engine pod cfg, and one of the squad STOCK jet engines, I learned for myself that the recent updates did completely reconfigure how the jet engine parameters were being handled. The B9 turbofan at the moment uses older engine code. Obviously, since this was 0.90 B9 for 0.90 KSP, I'm sure you would expect that.

In the course of my dicking around, I learned that commenting out the atmosphereCurve and velocityCurve sections were a bad idea. As soon as I started the engines with those disabled, the game collapsed into null-space. (Null-space: My now and future term for when the game world and vessel vanish, leaving only empty space and the HUD.) Not to be taken for a fool, I understand what occurred. The game looked for those curves, found a lack of code defining them, and generated a cyber singularity.

In looking at the code in comparison, I of course self-facepalmed that the code I tried to null was in fact, only part of a module subsection. So I removed the module and tested again. The game stayed alive, but the engines no longer had engines. So I know for a fact now that I still need to have the moduleEnginesFx in there for the AJE code pull and reinject. (Something that is likely a 'Well DUH' to you, but for me, I'm poking at code I'm not familiar with trying to get parts I want working right. Bear with me as I go step-by-step.)

Back in the code comparisons, I noted in the stock engine the code switched up the calls for atmosphereCurve and velocityCurve. Shorthanded down to atmCurve and velCurve. My next experiment swapped those out and put their codes in. Hellooooo Nullspace.

Recomparing the code again, there was STILL an atmosphereCurve with a single 'key' line showing a rather obvious ISP value (9600). So I added that line.

Functionality returned, but engine behavior got... weird.

The first thing I noticed was that my engines would spool up strangely. They would start spooling to about 100 kN and then 'jump' to their max at around 300 kN in an instant. This behavior was mirrored in reverse. They would spool down, then jump to zero. Never mind what this meant for trying to fly a plane.

Then I noticed that no matter how I played with the throttle, the throttle indicator wouldn't budge. In retrospect, I think I have a mechjeb with acceleration limitation turned on (Mechjeb was so I could check craft mass in flight), which may have been preventing the engines from powering too high, and would explain the next behavior.

Deactivating the engines, I played with the throttle and got full range of motion. Then I set it to a 1/3 setting and turned the engines on. A moment of silence for Wile E Coyote, Super Genius. As the moment I activated the engines, they blew off the plane, taking the wings with it, and dragging the plane to 20 knots and yanking it 30 meters into the air. It was like witnessing an ACME rocket set in action.

Back in the code, I set the use atmCurve and use velCurve to False. And I'm at where I am now. I see the AJE engine descriptions for the engine, but the ISP of the engine is very clearly the 9600 from the atmosphereCurve value in the B9 pod cfg. The engine works, but it doesn't give the slightest rat's aft-end about the AJE engine code itself.

Below is the code as it stands. Right now it's a mishmash of the original B9_Engine_Pod_Medium, and the data from the stock Squad JetEngine_Basic.



MODULE
{
name = ModuleEnginesFX
engineID = Jet
thrustVectorTransformName = thrust_transform
exhaustDamage = False
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 164
heatProduction = 650
useEngineResponseTime = True
engineAccelerationSpeed = 0.30
engineDecelerationSpeed = 0.45
useVelocityCurve = True
flameoutEffectName = flameout
powerEffectName = running_thrust
engageEffectName = engage
disengageEffectName = disengage
spoolEffectName = running_turbine
engineSpoolIdle = 0.05
engineSpoolTime = 2.0
EngineType = Turbine

PROPELLANT
{
name = LiquidFuel
ratio = 1
DrawGauge = True
}
PROPELLANT
{
name = IntakeAir
ignoreForIsp= True
ratio = 105
}

atmosphereCurve
{
key = 0 9600 0 0
}
//
// Jet params
atmChangeFlow = False
useVelCurve = False
useAtmCurve = False
flameoutBar = 0.02
machLimit = 0.75
machHeatMult = 3.5
//to restore old curve, atmosphereCurve
atmCurve
{
// Based on Isp/TSFC data from NASA EngineSim, and Kerbin atmo.
key = 0 8731 0 -7466667
key = 7.5E-06 8675 -7466667 150210.1
key = 0.0006 8781 150210.1 -589.2151
key = 0.11 8715 -589.2151 103.0686
key = 1 8800 103.0686 0
}
//to restore old curve, atmosphereCurve
velCurve
{
// Based on Fnet data from NASA EngineSim, curve fitted with MuMech CurveEd
key = 0 1 0 -0.004
key = 200 0.67 0 0
key = 300 0.44 -0.005196234 -0.005196234
key = 350 0 -0.01152351 0
}
}

As far as I know, most, if not all of this shouldn't matter. It should be ignoring it in favor of AJE's module, but for some reason that I don't know, but you might, it isn't.

Link to comment
Share on other sites

You appear to have some stuff that hasn't existed for several versions of AJE. I recommend deleting your entire AJE folder and re-downloading version 2.4.1 from Github. Also, for B9 use on 1.0.4, you should use the maintenance port linked in my signature. Not everything has been updated yet but most things have been.

Link to comment
Share on other sites

That's... weird.

See, I downloaded this on September 10th from Kerbal Stuff when I saw the thread-title update the latest release date the day before. The version number for the archive is 2.0.4.

Looking at the Github versions, that particular version was released in April. Whiskey Tango Foxtrot, over. Did I just get unlucky with a link grab?

Also, I'll try the B9 port as you suggest. Didn't grab it because it's I assumed not done meant not working.

Link to comment
Share on other sites

That's... weird.

See, I downloaded this on September 10th from Kerbal Stuff when I saw the thread-title update the latest release date the day before. The version number for the archive is 2.0.4.

Looking at the Github versions, that particular version was released in April. Whiskey Tango Foxtrot, over. Did I just get unlucky with a link grab?

Also, I'll try the B9 port as you suggest. Didn't grab it because it's I assumed not done meant not working.

Unforutnately, camlost has not been around to update the Kerbalstuff page. Version 2.0.4 was for KSP 0.90, so it's not surprising that you were having issues.

The B9 port is not 100% done, but most of the big stuff has been changed. If you're on KSP 1.0.4, it's much more functional than the 5.2.8 release.

Link to comment
Share on other sites

Unforutnately, camlost has not been around to update the Kerbalstuff page. Version 2.0.4 was for KSP 0.90, so it's not surprising that you were having issues.

The B9 port is not 100% done, but most of the big stuff has been changed. If you're on KSP 1.0.4, it's much more functional than the 5.2.8 release.

I'm firing it up now. Going to take a little bit of time while ATM does its thing to the B9 textures.

Incidentally, Pandora's Kitten started a thread here concerning jet engines and the like. I had some thoughts to add that several people liked, if my sudden number of rep hits were any indication. Might be something to take a look at for the future if you're the Go-To jet man right now.

Link to comment
Share on other sites

And new problem.

Something in AJE doesn't like KSP Interstellar (Extended).

The game slowed to a crawl and took forever just to bring up the Space Center once a save game (or new game) was entered.

The log output is thus and for more than just the parts listed:


[LOG 02:48:53.022] [KSP Interstellar] Exception caught adding to: mk4intake-largecircular part: System.NullReferenceException: Object reference not set to an instance of an object
at FNPlugin.PluginHelper.Update () [0x00000] in <filename unknown>:0
[ERR 02:48:53.022] Cannot find module 'ModuleResourceIntake' (-859566458)

[LOG 02:48:53.022] [KSP Interstellar] Exception caught adding to: mk4intake-largeshock part: System.NullReferenceException: Object reference not set to an instance of an object
at FNPlugin.PluginHelper.Update () [0x00000] in <filename unknown>:0
[ERR 02:48:53.022] Cannot find module 'ModuleResourceIntake' (-859566458)

[LOG 02:48:53.022] [KSP Interstellar] Exception caught adding to: mk4intake-radial-1 part: System.NullReferenceException: Object reference not set to an instance of an object
at FNPlugin.PluginHelper.Update () [0x00000] in <filename unknown>:0
[ERR 02:48:53.022] Cannot find module 'ModuleResourceIntake' (-859566458)

[LOG 02:48:53.022] [KSP Interstellar] Exception caught adding to: mk4intake-radial-2 part: System.NullReferenceException: Object reference not set to an instance of an object
at FNPlugin.PluginHelper.Update () [0x00000] in <filename unknown>:0

When I pull the Inlets folder from the AJE pack, the errors vanish.

Link to comment
Share on other sites

Will engines ignore max internal temp if the ignore max temp cheat is enabled?

Currently no. I'm hesitant to tie that to the global setting, since you'd be able to push many jets to mach 7 if that cheat were enabled. If you really want it, perhaps it could be a separate setting?

Link to comment
Share on other sites

Currently no. I'm hesitant to tie that to the global setting, since you'd be able to push many jets to mach 7 if that cheat were enabled. If you really want it, perhaps it could be a separate setting?

It isn't that I want to cheat I had an issue where an engine was spontaneously exploding due to melted internals. It was a quick save in flight at 80m/s using the new small prop from SXT. I ended up editIng the save to turn the engine off and was able to load without explosion and turn it back on so I could land. I just thought that it would work with the cheat as NK has RealFuels set to obey infinite fuels and what not. Your choice my problem is solved so I have no stake in the outcome. Thanks for the reply though.

- - - Updated - - -

And while that's a band aid over a bug I don't have time currently to track the exact cause down. I will try to at a later time though

- - - Updated - - -

Also way too many mods to share a save file. Craft doesn't overheat at any other time of use and this is the first in a very long time I have had any issue QLing into an in flight craft.

Link to comment
Share on other sites

Hey Blowfish.

Now that I've got things up and running again, I'm noting an oddity with the high bypass turbofans.

At idle I get a giant amount of negative specific impulse and thrust. And it makes the aircraft behave a little funny when trying to taxi. I have to throttle up a bunch to kick it into rolling, but once it does that, the thrust value jumps and I have to yank the throttle back before it decides to attempt a takeoff roll right then and there.

It otherwise behaves fine. Specific impulse is VERY reasonable for the engines now. I'm assuming it has something to do with the inlet behavior. Because I get up to -150 kN thrust if I throttle back from cruise during a descent that drops down to -45 or so kN while stopped on the ground.

Link to comment
Share on other sites

Negative thrust is a known issue. I'm not sure what the best way to address it is, perhaps just increasing the idle throttle from 1% to something higher where applicable.

Is that T subscript tr?

Or TTR allcaps deliberately? I'd like to try and assist, but I get stuck with acronym soup, and this one isn't covered in the link in the OP... And I can't even find it in a deliberate acronym search.

Link to comment
Share on other sites

Is that T subscript tr?

Or TTR allcaps deliberately? I'd like to try and assist, but I get stuck with acronym soup, and this one isn't covered in the link in the OP... And I can't even find it in a deliberate acronym search.

There's no setting for minimum throttle currently - it's hard-coded. So this would require some code changes. I'd like to set it automatically (as is done with Area, FHV, and TAB), but the question is what to set it against. Static thrust should be positive, but the minimum throttle required for that depends on TPR, and it's also ambiguous exactly how high above the bare minimum (which would produce zero thrust) it should be set at.

The underlying cause is that the jet pipe pressure is less than ambient, which would probably cause the jet to flame out in reality. The question I'm trying to figure out is how high above ambient does that pressure need to be in order to maintain flow through the engine?

Link to comment
Share on other sites

There's no setting for minimum throttle currently - it's hard-coded. So this would require some code changes. I'd like to set it automatically (as is done with Area, FHV, and TAB), but the question is what to set it against. Static thrust should be positive, but the minimum throttle required for that depends on TPR, and it's also ambiguous exactly how high above the bare minimum (which would produce zero thrust) it should be set at.

The underlying cause is that the jet pipe pressure is less than ambient, which would probably cause the jet to flame out in reality. The question I'm trying to figure out is how high above ambient does that pressure need to be in order to maintain flow through the engine?

Ahhh-... -on the edge of my mind, I know there's a way to determine this.

From what I looked up earlier, jet startup requires N2 to reach a certain level before fuel flow is introduced to the engine. I would assume that said N2 level would be the rotation speed needed to generate the pipe pressure for stable ignition, plus a percentage wiggle room for adverse start conditions.

I think if you reference a known engine's ignition threshold for N2, you can calculate the pipe pressure in relation to Standard Temperature and Pressure and get a ballpark estimate.

You'll need a well-documented engine for the task. Max RPM of the N2 stage, the percentage of that value where the fuel flow is introduced and combusted, and the parameters of the N2 (high pressure compressor) stage so you can calculate what it produces in terms of pressure.

I think once you have that, you're golden.

Also, once that works, forced flameouts due to improper engine pressure would be cool.

Edited by AdmiralTigerclaw
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...