Skip to content

find concrete_section.ultimate_bending_capacity() needs method for max compression load check #41

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

Closed
Agent6-6-6 opened this issue Sep 11, 2022 · 1 comment · Fixed by #65
Assignees
Labels
bug Something isn't working

Comments

@Agent6-6-6
Copy link
Contributor

Hi @robbievanleeuwen
concrete_section.ultimate_bending_capacity() needs a way of detecting when you analyse a section and enter an axial load that is greater than maximum compression capacity of a cross section. Not having this ability may lead to unconservative results being accepted as being true.

This could be handled within the individual design_code code if easier, by checking the axial load is less than the max compression before calling concrete_section.ultimate_bending_capacity().

But I was thinking you'd be better implementing a max_comp similar to what you did for the generation of an M/N interaction diagram within concrete_section.ultimate_bending_capacity()??

@robbievanleeuwen robbievanleeuwen self-assigned this Sep 18, 2022
@robbievanleeuwen
Copy link
Owner

Hi @Agent6-6-6.

The current implementation of ConcreteSection.ultimate_bending_capacity() prints an unhelpful warning when the brentq algorithm fails: "brentq algorithm failed." This generally occurs when the algorithm cannot find a neutral axis that satisfies the axial load, so if you enter a compression or tensile load outside the maximum values in the moment interaction diagram this warning will be printed.

The problem with the current implementation (apart from the unhelpful warning) is that results are still returned from the last iteration of the algorithm which are junk results. I propose that these results do not get returned and an error is raised instead.

Then there is the problem of design codes where equilibrium can be found in an unfactored case, but the result not be valid after apply capacity reduction factors (or applying the max_comp). I feel like this needs to be dealt with inside the design code as its implementation is design code dependent. I may need to tweak the AS3600 implementation to catch this.

What are your thoughts on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants