OpenAeroStruct icon indicating copy to clipboard operation
OpenAeroStruct copied to clipboard

Add a failure criteria for using Composite Materials (Tsai Wu Failure Criteria)

Open vishhwamehta opened this issue 1 year ago • 5 comments

Purpose

Expected time until merged

Type of change

  • [ ] Bugfix (non-breaking change which fixes an issue)
  • [ ] New feature (non-breaking change which adds functionality)
  • [ ] Breaking change (non-backwards-compatible fix or feature)
  • [ ] Code style update (formatting, renaming)
  • [ ] Refactoring (no functional changes, no API changes)
  • [ ] Documentation update
  • [ ] Maintenance update
  • [ ] Other (please describe)

Testing

Checklist

  • [ ] I have run flake8 and black to make sure the Python code adheres to PEP-8 and is consistently formatted
  • [ ] I have formatted the Fortran code with fprettify or C/C++ code with clang-format as applicable
  • [ ] I have run unit and regression tests which pass locally with my changes
  • [ ] I have added new tests that prove my fix is effective or that my feature works
  • [ ] I have added necessary documentation

vishhwamehta avatar Aug 02 '24 20:08 vishhwamehta

I'd like to help review this. How have you verified the modeling, or how are you planning to verify the modeling? Would it be possible to reproduce the pareto front in Brooks et al. [https://www.researchgate.net/publication/341054094_Aerostructural_Tradeoffs_for_Tow-Steered_Composite_Wings]? image

Or this by Kennedy et al. [https://websites.umich.edu/~mdolaboratory/pdf/Kennedy2014b.pdf]? image

shamsheersc19 avatar Aug 20 '24 01:08 shamsheersc19

Yeah I think we could generate a pareto something like that based on the existing CRM example in the repo. In terms of actually verifying the correctness of the implementation, the Tsai-Wu strength ratio should be mathematically identical to Von Mises when you use isotropic material properties so we can run a case using this new code using isotropic properties and check that it gives the same result as the existing von mises code.

A-CGray avatar Aug 26 '24 17:08 A-CGray

compositeModelPareto @shamsheersc19 Please let me know if I need to add something in addition to this plot to the repo. We have also prepared a walkthrough file for the composite model which should assist the users to use this feature properly.

vishhwamehta avatar Oct 23 '24 04:10 vishhwamehta

@shamsheersc19 GitHub won't let me add you as a reviewer, but please feel free to review anyway

A-CGray avatar Oct 23 '24 14:10 A-CGray

Thanks! I'll try to catch up, but please don't let me hold anything up.

shamsheersc19 avatar Oct 31 '24 01:10 shamsheersc19

I think this is ready for review @sabakhshi @A-CGray

I made several changes in the last few weeks:

  • Fixed strain transformation matrix, which is used in effective stiffness computation and Tsai-Wu strength ratio computation.
  • Added a unit test to verify that the effective stiffness (E and G) of a laminate is invariant with respect to the ply angles and fractions when each ply is isotropic.
  • Moved effective stiffness computation from AerostructPoint to runscript level because we need these in both AerostructPoint and AerostructGeometry.
  • Updated composite wingbox aerostructural integration test to actually check output values.
  • Updated documentation and moved the CRM composite example from the docs folder to the examples folder.
  • Added an example of Ali's simple transonic wing benchmark problem.

kanekosh avatar Sep 25 '25 16:09 kanekosh

@kanekosh I changed how the composite stress/strain transformations are done, just to match the textbook equations more closely (e.g here) but they should match what you had. Feel free to change back if you prefer

A-CGray avatar Sep 26 '25 22:09 A-CGray

but what happens now if the user doesn't specify a saftey factor?

Then it defaults to safety_factor = 1.0. I think you're looking at an outdated code.

kanekosh avatar Sep 29 '25 14:09 kanekosh

but what happens now if the user doesn't specify a saftey factor?

Then it defaults to safety_factor = 1.0. I think you're looking at an outdated code.

My bad. Approved

sabakhshi avatar Sep 29 '25 15:09 sabakhshi