convexengineering / SPaircraft

Models for commercial aircraft design
http://spaircraft.readthedocs.org
25 stars 17 forks source link

Scouring the TASOPT engine #44

Closed 1ozturkbe closed 7 years ago

1ozturkbe commented 7 years ago

Hey @mayork, I thought it would be a good idea for me to go through the TASOPT engine parameters this past week, and learn a little more about how the sizing is done. We are still diverging from TASOPT in some non-trivial aspects, so I thought a second eye might be useful. Here are my set of observations... (will add after I fix the stupid dual infeasible...)

mayork commented 7 years ago

sounds good. I think a lot of this will do with differences in where the engine is sized

1ozturkbe commented 7 years ago

Cool. Well, I will add a comment for each observation, feel free to lmk if we match up by editing comment with a [Martin] tag.

1ozturkbe commented 7 years ago

-TASOPT sets Tt4 at T/O (which for us is probably climb[0]) to be 1750K. We have higher values (~1830K). Should we be matching?

[Martin] I don't think so, this is a function of how the engine is sized. We can place a max limit on Tt4.1 (turbine inlet temp), but that's difficult to determine and kind of feels like parameter tuning so I think what we have is fine for now [Berk] I don't think that is parameter tuning. It's a constraint on metal temperature, and that is often what engine manufacturers do when they size the engine core. We definitely should have a Tt4 limit for the engine I think. [Martin] I capped turbine inlet temp at 1750K

1ozturkbe commented 7 years ago

-The fan face Mach (M_2) should really be 0.6. If not,we should add a diffusion factor that we calculate in each phase of the flight. We do match M_2.5 == 0.6 just like TASOPT, which is good.

[Martin] this is just a difference in how we book keep stagnation, i could add additional constraints and a diffusion factor but I see this as low priority because we would end up with the same fan face stagnation pressure. TASOPT takes into BL development along the inside of the duct and along the center thing that spins around which necessitates recomputing the fan face mach number to account for the small drop in stagnation pressure [Berk] K cool. It's just really disconcerting when your model implies that you don't have a diffuser. This variable has zero meaning when you use M_0 to calculate the fan face aero quantities.

1ozturkbe commented 7 years ago

-TASOPT also sets Tt4 at cruise to be 1450K. Ours are much lower, potentially explaining why our HPT and HPC pressure ratios are so low relatively (~80% off).

[Martin] I think our engine is sizing out for cruise more so than the TASOPT engine, not a concern at this point in time

1ozturkbe commented 7 years ago

-I still have my doubts about the offtakes we use vs. TASOPT. From my understanding, M_takeoff is a TSFC penalty for the entire duration of the mission. This doesn't make too much sense to me, because the way TASOPT calculates the total offtakes is by estimating it from the MTOW and number of passengers as below: image Can you clarify if we do the same, or if we just have a set penalty? I know you were mentioning estimating the spool power offtakes using a mass flow penalty, but this seems like a very pessimistic way to estimate to me.

[Martin] I manually compute the percent mass flow and power offtakes that are in TASOPT then set my parameters so we end up having the same penalty as TASOPT. This still goes down as a TODO because I should compute these percentage offtakes during the solve so that the model scales better and we get sensitivities to the off take parameters, but I don't think this will alter the solution.

[Berk] K; definitely a TODO to calculate these dynamically, but can make do as is.

[Martin] @1ozturkbe i'm scratching this as a todo, it doesn't work well. The current method of setting a percent mass flow and powerbleed should scale pretty well (as shown in the engine paper). Computing absolute mass flow and power takeoffs causes two already ugly signomial equalities (the shaft power balance) to become uglier compromising the stability of the model

mayork commented 7 years ago

@1ozturkbe I think i addressed these, lmk your thoughts

1ozturkbe commented 7 years ago

It is all well and good, but I disagree on the Tt4 values. We definitely should cap Tt4 during all stages of the flight by the TASOPT values. A too-high Tt4 at TO will size a core that is unrealistically awesome at cruise if the bypass ratio is unconstrained. And, as for the bypass ratios, those are set in the .tas files for the b737 and d82 right?

[Martin] @1ozturkbe on design by pass ratio is set in .tas I cap our BPR to the max BPR in the .out file. I think I have a functionality to cap the max core temp already built into the engine, I will look into this (traveling tomorrow and possibly saturday so if you don't hear from me on this before Monday ping me again)

1ozturkbe commented 7 years ago

Also, the 1st and 3rd climb segments still look anomalous to me. The climb rate in the second is similar to the third segment, but the TSFC differs wildly. And also, the core thrust is insanely high for segments 1 and 3. Seems unphysical. It's like you are letting all of that high enthalpy air blow by your LPT without generating any fan thrust :P

[Martin] @1ozturkbe i believe this is an artifact of two things. First, the fact we have a minimum climb rate on the first segment far higher than the 500 on climb segments two and three. Second, there is some implicit optimization of the turbomachinery maps coupled with an assumption of choked turbines that I believe allows this core thrust behavior. The choked turbine assumption is extremely sound so the question becomes whether or not the optimized maps are physical or not, and that I do not know. However, I don't think the engine will work without permitting this optimization so I'm not sure this is something we can really change from the engine side. One option could be to add in minimum climb rates that better match TASOPT for segments two and three (although I don't think TASOPT actually outputs the climb rate/not sure it is constant). Thoughts?

1ozturkbe commented 7 years ago

Well firstly, I don't think that the climb rate is making the difference here, because then segments two and three, which have a similar climb rate, produce core jet velocities that are vastly different. I'm of the opinion that there is something that makes this mathematically feasible, but not physical. Actually, I just artificially set a minimum pi{hc} of 2., and that fixed the discrepancies in the fan to core thrust, and the pi{hc} actually increased to almost 5. I think the integrated aircraft+engine is exploiting some weird mathematical weakness in the model.

[Martin] @1ozturkbe i think what is actually happening is the turbomachinery map optimization is setting the LPC on design pressure ratio to around 8 and the HPC on design pressure ratio to around 1.8 to exploit efficiency gains...I'm not sure if that is a physically valid engine architecture or not. It's interesting setting the minimum semeed to help. I think doing that for validation sake might not be a bad idea, but i hesitate to do that in general. Thoughts?

1ozturkbe commented 7 years ago

Have you actually validated the engine internal parameters when you did the comparison against the NPSS data etc.?

1ozturkbe commented 7 years ago

Also, I don't see that the stagnation pressure at the engine inlet has been reduced for the D8... The fan inlet stagnation pressure seems to be the same as the freestream

mayork commented 7 years ago

look in engine_validation.py at line 690

       if BLI:
            pdrop = Variable('p_{drop}', 1.2, '-', '1 plus stagnation pressure drop percent due to BLI')
            diffuser.extend([
                Pt0 == pdrop*state["P_{atm}"] / (c1 ** -3.5),
                ])

        if not BLI:
            diffuser.extend([
                Pt0 == state["P_{atm}"] / (c1 ** -3.5),
                ])

we currently have a 20% drop in stagnation pressure

1ozturkbe commented 7 years ago

K I get it... by free-stream pressure, you mean the BL stagnation pressure... confusing as hell.

1ozturkbe commented 7 years ago

Btw, you inverted where the coefficient should go. D82 currently has higher inlet stagnation pressure.

[Martin] @1ozturkbe good catch but we've got a problem because setting that to 0.824, 0.9, or 1 all results in the model not solving

1ozturkbe commented 7 years ago

or p_drop should be 0.8.

1ozturkbe commented 7 years ago

And actually, p_drop should be higher than 0.8. Because if you had perfect mixing of 0.6P0 and P0 flow in equal ratios, you would get p_drop = 0.824. Because the momentum is linear with velocity, whereas the P0 goes with V^2.

1ozturkbe commented 7 years ago

And also, why is there a sub to p_drop of 0.2 in D8/StateLinking?

mayork commented 7 years ago

that's unused i just deleted it

1ozturkbe commented 7 years ago

Did you fix p_{drop} in turbofan?

mayork commented 7 years ago

yes

mayork commented 7 years ago

but see above how D8 isn't running after i fixed it. not sure what's going on, maybe something with the fan diameter constraints

1ozturkbe commented 7 years ago

I don't see the push. Just sent you a pull request anyways. I can fix D8, as long as the engine is working properly.

1ozturkbe commented 7 years ago

I give up for today... any attempt to put any external constraints on the engine model breaks the entire model. I'm going to push and leave it for now.

1ozturkbe commented 7 years ago

I have been digging deeper into this, and realized that the horizontal tail may still be throwing errors... Once I resolve these, can keep looking into the engine.

1ozturkbe commented 7 years ago

Btw, the question still remains; had you validated the internal parameters of the engine, or just the TSFC?

mayork commented 7 years ago

they don't match as exactly as TSFC due to some differences in the maps that wash out across the entire model but yes

mayork commented 7 years ago

i dont think the engine is the source of our errors its been heavily validated

mayork commented 7 years ago

the only issue comes from the BLI pressures..that's all that's left to be solved with the engine, although i think this is less to do with the internal engine model and more to do with the fan diameter constraints

1ozturkbe commented 7 years ago

Yes, the engine is heavily validated, but it gives us results that are unphysical as a part of the whole model. Just because it works in isolation doesn't mean that it is going to work fine as a part of the bigger system. It makes zero sense to me why we get the same amount of thrust through from the core and the fan during takeoff, and only double the thrust from the fan during cruise, as an example, for a bypass ratio of 5-8. I do not feel confident presenting these results. Please propose how we rectify this issue.

mayork commented 7 years ago

I'm not convinced that's unphysical....what's happening is the OPR varies like this

[[ 19.82854336] [ 14.96828602] [ 19.4983223 ] [ 15.83482463] [ 16.24470512]]

so we see that segments 1 and 3 have a much higher OPR which allows less expansion in the turbine and consequently greater flow expansion in the nozzle leading to increased core thrust. There is an argument that says these operating points aren't possible due to the turbomachinery maps. I'm not using real maps only approximations so this is possible but we should not waste our time trying to improve the maps because I already have spent 2 weeks doing that and currently they are conservative. so then the only real difference we see from integrating the engine and airplane is the relatively low OPR. The answer to that is because this was run with pdrop at 1.2 (master wasn't solving so I just started reverting commits on engine and D8). It's worth noting that we are getting less core thrust in cruise than TASOPT (which is slightly more optimal), so a lot of these differences are simply due to the different way the engine is sized. We're sizing out for cruise and paying in in the high thrust settings.

mayork commented 7 years ago

anyhow we hit TSFC pretty damn close so I think we should really focus our debug efforts on other things

1ozturkbe commented 7 years ago

That I agree with. Getting 73 up again is a struggle.

mayork commented 7 years ago

@1ozturkbe i'm closing but feel free to reopen