Skip to content

PK Journal#93

Open
mayork wants to merge 112 commits intomasterfrom
pkjournal
Open

PK Journal#93
mayork wants to merge 112 commits intomasterfrom
pkjournal

Conversation

@mayork
Copy link
Contributor

@mayork mayork commented Jul 7, 2017

@pgkirsch @1ozturkbe I'm starting my attempt at pulling apart the full model to an updated PK journal model. Will keep you posted on progress.

@pgkirsch
Copy link

pgkirsch commented Jul 7, 2017

Awesome, thank you.

@1ozturkbe
Copy link
Contributor

sweet, looking forward to seeing how this goes!

@mayork
Copy link
Contributor Author

mayork commented Jul 7, 2017

alright already got climb removed. was easier than I anticipated.

@mayork
Copy link
Contributor Author

mayork commented Jul 7, 2017

@pgkirsch looks like one enhancement is going to be discretizing the breguet range (it's going to require extra work to remove that feature, i dont see any point in doing that)

@pgkirsch
Copy link

pgkirsch commented Jul 7, 2017

Fine by me to have a discretized (more accurate) breguet range.

'TSFC': 0.5,
'F_TO': 30000*units('lbf'),
'A_{2}': 3*units('m^2'),
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pgkirsch you should update these four engine subs to what you want. as of now they're 100% arbitrary.

@mayork
Copy link
Contributor Author

mayork commented Jul 7, 2017

@pgkirsch @1ozturkbe I think this is done. What we have now is Philippe's paper plus the all the updates that we discussed (since I just removed from our current code base). The updates I believe this includes are:

  • Breguet range discretization (works for any number of segments)
  • HT and VT drag models [Martin]
  • VT sizing [Martin]
  • HT sizing alteration (Philippe see below) [Martin]
  • Fuselage bending [Berk]
  • Moment of inertia [Berk]
  • CG (plays into the HT sizing) [Berk]
  • Wing structural improvements [Berk]
  • Wing drag improvements [Martin]

Philippe note that I believe this changes a few of the HT sizing constraints (you should check this...I made the change because of some complications in flight profile integration, namely needing to include a CG)...it's described in the attached write up. Let me know your thoughts about this.
Basic_HT_Sizing_Model (3).pdf

In the bulleted list above I noted in brackets who should update the manuscript to reflect each new model. @1ozturkbe and @pgkirsch thoughts on that? Philippe you tell us how you want us making manuscript updates.

Berk - if you could VSP the airplane this outputs that would be good for debugging anything I messed up.

Philippe feel free to posts questions once you look over the code and see how the solution compares to what is currently in the paper (update engine subs first, noted in a commit comment)

@whoburg and the other who advocated for working from current code I think that was the right call. This only took me ~3 hours (could be some bugs still, needs VSP and solution comparison).

@mayork
Copy link
Contributor Author

mayork commented Jul 7, 2017

@pgkirsch if you update the engine subs and post a solution comparison to what you had in the paper manuscript I can take a look at any issues tomorrow.

@mayork
Copy link
Contributor Author

mayork commented Jul 7, 2017

@pgkirsch forgot to mention that to run the model import the optimal 737 class from the pk_SP_aircraft.py file. All the aircraft level constraints are again still in D8.py

@pgkirsch
Copy link

pgkirsch commented Jul 8, 2017

@mayork You're a machine, thanks for doing all of this. I'm going to spend some time getting my bearings and figuring out what's what.

@pgkirsch
Copy link

pgkirsch commented Jul 8, 2017

Does it usually take a ridiculously long time to build the model? If so, why is that?

@pgkirsch you probably need to pull master. It is a much larger problem then your baseline models due to the vectorization but should solve in a few seconds (3.7 seconds for me on verbosity=4)

@pgkirsch
Copy link

pgkirsch commented Jul 8, 2017

For manuscript editing, I think we should PR to the pkjournal branch of the pubs repo. Give me a chance to understand better how much has changed from my original stuff though before we do that.
Btw @mayork what happened in the last few commits to the pkjournal branch? You seem to have made some commits, reverted them, and also reverted one of my commits?

@pgkirsch I removed statelinking which I thought we didn't need but i'm pretty sure we do so I ended up reverting back to that. I lost some changes I made to to the substitution file in the process of some local experimental reverts so I ended up just repushing it all back to the branch.

Which one of your commits did I revert? All I see is commits I made.

I think PR on the pkjournal branch of pubs is a good idea. @1ozturkbe is that good?

@pgkirsch
Copy link

pgkirsch commented Jul 8, 2017

One general question I have about the current code structure, is how should I interpret the module naming? I think we previously had aircraft.py, fuselage.py, vtail.py, wing.py etc. and now we have D8.py, D8_Fuselage.py, D8_VT_yaw_rate_and_EO_simple_profile.py, D8_Wing_simple_profile.py etc. Do these names tell me something I need to know? Why did they become so long and descriptive? If everything is for a D8, why are they all called D8_something? If everything can actually be applied to a conventional-config aircraft, why are they all called D8_something?

@mayork @1ozturkbe @whoburg

@pgkirsch treat D8.py as aircraft.py, D8_Wing_simple_profile.py as wing.py, etc. The D8 tags on everything is a hold over from a previous naming convention that we need to change. Another change I made is that I integrated all of the sub components like wing and HT etc. with a simple aircraft and flight profile model for testing purposes, hence the tag simple_profile on the files we are importing from. We used to have a two VT files hence the additional VT_yaw_rate_and_EO_ there, but it's nothing important. Just an identifier Berk and I used that needs to be changed.

@mayork
Copy link
Contributor Author

mayork commented Jul 8, 2017

@pgkirsch responses are above beneath your comments.

@mayork
Copy link
Contributor Author

mayork commented Jul 8, 2017

@pgkirsch @1ozturkbe I updated the sub values and I think the solution is looking pretty decent. It's a bit more accurate to the reference aircraft than what was in your original manuscript.

@mayork
Copy link
Contributor Author

mayork commented Jul 8, 2017

@1ozturkbe you should generate a VSP of the aircraft...could be good for the paper

@mayork super time + internet limited atm, but will do my best.

@pgkirsch
Copy link

pgkirsch commented Jul 8, 2017

@mayork Thanks for updating the sub values and checking the solution.

Solving the model is indeed relatively quick, but actually just building it (i.e. importing the method) takes > 20 seconds. Is that typical?

Sorry I was referring to the pkjournal branch of the pubs repo (you pushed some commits to that branch it seems).

Ok, understood on the naming. It seems like from a reducing-code-duplication point of view, it would make sense to import the simple profile part for each of those models. I am happy to go through and change names if that is useful forward work? Although I guess it isn't a priority at the moment.

A VSP would be great! That's such a cool new feature.

@mayork
Copy link
Contributor Author

mayork commented Jul 8, 2017

@pgkirsch yeah i somehow was on that branch and not master and pushed my engine paper to it then reverted and pushed the engine paper to master...i didn't think that i overwrote any of your commits. Sorry if I did!

It takes under a second to perform the import on my computer.

Berk and I can handle the naming. Parts of the simple profile should be imported but it is difficult to import a lot because all the simple subsystem models change depending on which detailed model is used due to how the coupling between the detailed subsystem models works.

@pgkirsch
Copy link

pgkirsch commented Jul 8, 2017

Gotcha, makes sense.

@pgkirsch
Copy link

pgkirsch commented Jul 8, 2017

And as for pubs, it's commits 449291d and b56838 that I'm most confused about. The former is a merge that I'm not sure I understand, and the latter is reverting a commit I made.

aircraft.py Outdated
# HT/VT moment arm constraints
aircraft.HT['l_{ht}'] <= aircraft.HT['x_{CG_{ht}}'] - xCG,
aircraft.VT['l_{vt}'] <= aircraft.VT['x_{CG_{vt}}'] - xCG,
aircraft.VT['l_{vt}'] <= aircraft.VT['x_{CG_{vt}}'] - 0.25*aircraft.VT['c_{root_{vt}}'] - xCG,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aircraft.py Outdated
# HT/VT moment arm constraints
aircraft.HT['l_{ht}'] <= aircraft.HT['x_{CG_{ht}}'] - xCG,
aircraft.VT['l_{vt}'] <= aircraft.VT['x_{CG_{vt}}'] - xCG,
aircraft.VT['l_{vt}'] <= aircraft.VT['x_{CG_{vt}}'] - 0.25*aircraft.VT['c_{root_{vt}}'] - xCG,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mayork
Copy link
Contributor Author

mayork commented Nov 5, 2017

alright @1ozturkbe I've finally got a few hours so I want to start integrating this with master. Might need your support.

I'm going to start by add flags to remove the engine and integrate this engine model. And then I think we need to remove the flight profile and that'll be it right?

@pgkirsch

@mayork
Copy link
Contributor Author

mayork commented Nov 5, 2017

#110

sol = m_relax.localsolve(verbosity=0, iteration_limit=50, reltol=0.01,
modifylastgp=True)
sol = m_relax.localsolve(verbosity=0, iteration_limit=50, reltol=0.01)
post_process(sol)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@1ozturkbe email any udpated plots to @pgkirsch , he has to give them individual files

Wfuse >= Cfuse*(Wshell + Wfloor + Winsul + \
Wapu + Wfix + Wwindow + Wpadd + Wseat + Whbend + Wvbend),
Wapu + Wfix + Wwindow + Wpadd + Wseat + Whbend + Wvbend + Wcone),
])
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@1ozturkbe or @pgkirsch please check this to be sure I didn't miss anything

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants