Skip to content
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

Feature Request: Nonlinear Composite Properties & Simulate Internal Pressure #286

Closed
SoundsSerious opened this issue Jul 28, 2023 · 3 comments
Labels
engineering Issue related to engineering methods/assumptions wontfix This will not be worked on

Comments

@SoundsSerious
Copy link

Thanks again for making such an excellent & useful library. Section properties and PyNite are opening up an interesting avenue for the optimization of structures for me.

A couple of features/use cases that would help answer some edge case problems with composites.

  1. Internal Pressure: taking advantage of Shapely.Polygon.holes property would it be possible to apply an internal pressure to a section? This would help answer questions about how internal pressure affects/improves strenght for nonlinear materials like CFRP.

  2. Nonlinear Tension/Compression materials: This is a pretty well understood problem but it would be great to have the ability to spec a material with different compression/tension properties.

My solution to this at present is to use different tension/compression members in PyNite to model this and then handle the load cases separately, however, there are a lot of reasons this is not ideal as it increases the size of the problem significantly by 2-3x if I'm using a composite wrapped isotropic beam.

Anyways keep up the great work and hopefully I can find something to contribute to :)

@SoundsSerious SoundsSerious changed the title Internal Pressure Feature Request: Nonlinear Composite Properties & Simulate Internal Pressure Jul 28, 2023
@robbievanleeuwen robbievanleeuwen added engineering Issue related to engineering methods/assumptions wontfix This will not be worked on labels Sep 24, 2023
@robbievanleeuwen
Copy link
Owner

robbievanleeuwen commented Sep 24, 2023

Hi @SoundsSerious, sounds like you have some interesting engineering challenges to solve!

While both of these ideas are very intriguing, they are outside the scope of sectionproperties, I'll expand on each point below:

  1. What you are describing is really a structural finite element analysis problem (plane stress or plane strain depending on your problem). sectionproperties is concerned with calculating the section properties of cross-sections and it happens to use finite elements to solve this (not to be conflated with structural finite element analysis, which for example, solves a static equilibrium problem). A simple extension is beam stress calculation, which uses the calculated section properties to calculate beam stresses. What you've described is a completely different problem and could perhaps be solved using PyNite and in-plane plate elements?
  2. This is also out of the scope of sectionproperties which is based in linear-elastic analysis. This could be achieved by creating another sibling library to sectionproperties that extends its functionality to perform non-linear analysis. An example of this is concreteproperties which uses sectionproperties to solve non-linear reinforced and prestressed concrete problems.

@SoundsSerious
Copy link
Author

SoundsSerious commented Sep 25, 2023

@robbievanleeuwen

Thanks for the thoughtful response, I think i understand the problem you're describing related to the simplified 2d analysis but I'd need to dig into the code / solver to really understand.

I am checking out concrete-properties and this does indeed look very interesting. I hadn't checked it out prior since, well I'm not using concrete, but I think I could potentially model carbon fibre by overlapping sections of epoxy and non linear CF materials and using mass-weighted material properties to adjust for effective volume. Do you think this could work?

From example 8.2 in https://robbievanleeuwen.github.io/concrete-properties/notebooks/composite_section.html
I would remove the line to overlap the identical sections in a similar way to section-properties

# cut hole in concrete for UC then add UC
geom = conc - uc + uc

I wonder if the functionality between sectionproperties and concreteproperties could be generalized with some kind of pluggable solver? I am speaking from ignorance because I havent done a deep dive into the code but that would be an interesting way to address a 3rd case of compositeproperties which would bring all the aero / vehicle design folks knocking :)

@robbievanleeuwen
Copy link
Owner

Do you think this could work?

Unfortunately I have zero experience in working with carbon fibre so can't really comment on a design methodology.

I wonder if the functionality between sectionproperties and concreteproperties could be generalized with some kind of pluggable solver?

I'm sure a very similar approach could be used to create a potential compositeproperties. While there is a bit of cross-over with sectionproperties (e.g. using the idea of a Geometry and getting cross-section properties), a lot of concreteproperties is also concrete specific design approaches e.g. in calculating material design capacities and non-linear moment-curvature responses. I assume a lot of similar work would need to be done with composite material design philosophies.

In terms of plug-ability, I think the best approach would be using the pre-processor from sectionproperties in determining geometries and retrieving relevant section properties where required for composite design. I'm not sure how generalised one could make it, but I'm looking forward to seeing any ideas you might have :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
engineering Issue related to engineering methods/assumptions wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants