-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blade stiffened shell improvements #319
Conversation
…edShellConstitutive`
… match other failure modes
@sean-engelstad, could you review this PR when you get a chance and see if these new methods can be utilized in your GP panel work (PR #311)? |
Hi @timryanb I should be able to review it later today |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall I really like the increased modularity as it will be helpful to reduce code duplication in my subclass. Would like to see some results on applying only the stiffener crippling failure on a flat plate pure axial load case to see what the final stiffener aspect ratios are. Just to double check we implemented it correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry didn't mean to click approve on the PR earlier. Want to see printout of the failure values for where stiffener column buckling is active. Also want to see on a flat plate (one TACS component case) when only stiffener crippling mode is active, what is the critical stiffener aspect ratio SAR = stiffenerHeight / stiffenerThick.
@A-CGray if you add a mode and setter for writing out different values to the f5 file or in the DVs (like what I did in my PR), then you can see the failure values. Also, I think you should change the way I did it and have dv1 be argmax(fails) basically so you can see the index of which failure criterion is maximum. |
Here's what I get with the closed-form solutions in
|
Thanks @sean-engelstad , can you also try running without stiffener crippling? I have a suspicion that's what's causing most of the difference between the two models here |
For the plate with the default design variables values:
I get these values for each failure mode in the compression+shear load case:
These are the values not including the safety factor |
Update for @timryanb
|
Thanks for looking into this @A-CGray and @sean-engelstad. An order of magnitude difference in strength is a bit concerning. How are you guys modeling the stiffeners in the eigenvalue analysis? If the goal is to model high aspect ratio stiffeners then the better approach would be to model them as 1D beams, rather than shell elements. I don't think that TACS beams currently have buckling analysis support, so we may have to resort to doing the analysis in NASTRAN? Since this PR will make a breaking change to how this class calculates failure going forward, I really want to make sure we get things right. |
@timryanb I think I know how to fix this, there is an inconsistency in stiffener and panel D11 centroid in my code. I will also try and put together a higher quality finite element model of the stiffened panel (validated against the literature this week) that we can compare against. @A-CGray as far as I can tell your euler buckling prediction looks correct, and has a similar form as what is used in NASA SP-8007 for cylinder smeared stiffener models |
Sounds good. Thanks @sean-engelstad |
Thanks for doing all of this verification work @sean-engelstad. Your results seem to be in good agreement with theory and FEA. Did any of these changes bring your and @A-CGray's results closer together in agreement or are we still waiting on that result? |
@sean-engelstad , sorry to be a pain but is it possible to run a buckling analysis on a panel with the same cross section but that's wider than it is long? Or at least one where the edges of the plate parallel to the stiffener aren't constrained? I'm pretty certain my global buckling prediction will not be at all meaningful for this case because it assumes that the panel is infinitely wide, whereas in this case the buckling mode is clearly dictated by the panel width. |
@A-CGray, @timryanb here's an updated benchmark using a lower aspect ratio panel using the TACSGPBladeStiffenedShellConstitutive class compared to my TACS FEA analysis conducted in the 1. Global-Local Mode Mixing StudyThis figure that I've added on stiffened panel verification in my paper shows that once 2. Low Aspect Ratio Verification CaseI've selected a low aspect ratio panel with enough stiffeners to ensure the mode shapes remain fairly global although there is still some modal distortion. Also I used a stiffener aspect ratio of 5 here, I could go higher, but I found that I sometimes need lower stiffener aspect ratios with more stiffeners otherwise crippling dominates a lot of the solved eigenmodes. This is a simply supported case BC on all sides.
2.1. Axial Loading:Here the FEA eigenvalue is quite a bit higher than the closed-form but they are still the same order of magnitude. I think it makes sense the FEA eigenvalue is higher since the stiffeners seem to have influenced the mode shape and appear to be adding some extra restraint to the panel.
2.2. Shear LoadingAgain the closed-form is somewhat conservative to the FEA here, but still in the same ballpark.
The stiffened shear mode for this case is then: |
Oops I accidentally closed this |
@timryanb @A-CGray |
@timryanb , just ran @sean-engelstad 's case, here's what I get:
Comparing all 3 methods:
|
This PR contains various improvements to the
TACSBladeStiffenedShellConstitutive
constitutive class:setFailureModes
methodevalFailure
and failure sensitivity methods, I have moved the global and local panel buckling calculations to their own methods. This should reduce the amount of code duplication required in @sean-engelstad 's Gaussian Process Buckling Constraints in Blade Stiffened Shell Constitutive Subclass #311 PR