Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Introducing concreteproperties! 10

Status
Not open for further replies.

handofthelion

Structural
Jul 7, 2014
24
Introducing concreteproperties! This is built on top of sectionproperties to bring non-linear reinforced concrete section analysis to python!

Calculate gross, cracked and ultimate properties. Perform moment curvature analyses and generate moment interaction and biaxial bending diagrams. Create stress plots and use design code modules (currently supporting AS 3600:2018).

I'm currently looking for contributors to help implement other design codes. If you're interested have a read of this and get in touch on the discussions or issue tracker!

Here are a few examples of the output from concreteproperties:

ezgif-5-e887536d02_rofo9a.gif


Screen_Shot_2022-07-21_at_4.13.06_pm_jgy6eh.png


Screen_Shot_2022-07-21_at_4.18.10_pm_cx56mm.png


Disclaimer:
concreteproperties is an open source engineering tool that continues to benefit from the collaboration of many contributors. Although efforts have been made to ensure the that relevant engineering theories have been correctly implemented, it remains the user's responsibility to confirm and accept the output. If you find any issues with concreteproperties, feel free to raise an issue and we'll look into a fix!
 
Nice one! I'll be sure to check it out soon. Have you looked generating a 3D interaction surface?

I've started a few threads on this topic in the past. Be keen to hear your thoughts.

Link

Link
 
Very cool, thanks, I'm going to check this out!
 
@Trenno there is currently a way to generate a 3D plot based on a number of discrete biaxial bending plots at different axial loads. See the bottom of this example.

Doing it this way is very inefficient as you've got to search for the neutral axis for every point in the diagram. You also don't get much more than the diagram at the moment, no way to check if the point is inside or out etc.

The better way to do it is to create a number of moment interaction diagrams for different neutral axis angles and combine these into a 3D surfcae. This is faster as there is no searching for netural axes, you simply move the neutral axis through the section and evaluate the resultant force and moment. The code to do this is already there because you can specify and bending axis angle when generating a moment interaction diagram (optional parameter theta). To put it another way you are almost rotating your interaction diagram about the z-axis (axial force) creating a 3D surface. Different geometry would create different looking rotations.

I'll put this on the to-do list as it seems to be a useful feature. There will be a bit of work involved in how to define this surface, determining utilisation, whether the point lies inside the surface etc. which I haven't thought about but I'm sure is all doable!
 
@handofthelion:
Doing it this way is very inefficient as you've got to search for the neutral axis for every point in the diagram....
From my research this is actually one of the more efficient ways to do it such that you get a structured surface. If you hold the neutral axis depth and vary the neutral axis angle you'll get a sort of spiral effect on the interaction surface plot points. The other alternative would be to do the isoclines but that would require solving for the both the neutral axis angle and depth for each point on the isocline.

If you pre-compute the Mx vx My slice you can use the resulting data to make the brent solver more efficient and tighten up the bounds.


I'm making a thing: (It's no Kootware and it will probably break but it's alive!)
 
@Celt83, yes the isocline (if I understand you correctly) method is kind of what is being done at the moment, very slow due to the extra solving to keep the axial force constant (for a given neutral axis depth as you rotate the bending angle, the resultant axial force changes).

I agree that the shifting of the neutral axis while rotating the angle is the best way to get it to work, which is essentially computing many interaction diagrams. Just need to think of the best way to deal with the output in terms of representing the surface in python (plotting/utilisation given a point in 3d space).
 
Capture_xqqmd5.jpg

that should be clearer.

The contour plot should be the most efficient in terms of getting structured interaction surface data since you only need to solve for a single variable, NA Depth. The Interaction Diagram Curve (I was calling this the isocline but think I mixed up terms) requires solving for both NA Depth and Angle such that the curve lies on a consistent Mx/My plane. Plotting surface points by keeping the NA Depth constant and varying the NA angle will be very efficient but the resulting data won't be structured in a useful way for other calculations.



I'm making a thing: (It's no Kootware and it will probably break but it's alive!)
 
@Celt83, thanks for the food for thought, that image clears things up! I'll spend a bit of time trying to get my head around all of this :)
 
Saw this yesterday, and excited to play with it. Great work Robbie!

----
just call me Lo.
 
@all, just a heads up - while looking into the biaxial business I noticed a small bug that affected the ultimate moment calculation when bending about a non-principal axis. Biaxial bending diagrams now look more sensible.

All fixed now, ensure you are using v0.2.2.
 
All looks really good :)

I'm a bit busy with other things at the moment, but I'll have a look at the bi-axial stuff when I have time.


Doug Jenkins
Interactive Design Services
 
As someone following the development process, while the tweaks may be small, the effort and improvements have been notable. Kudos to Agent and HandoftheLion for their work here!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor