-
Notifications
You must be signed in to change notification settings - Fork 99
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
Add yield moment calculation #476
Conversation
fy = group.material.yield_strength | ||
|
||
# loop through each element in the material group | ||
for el in group.elements: |
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.
Why not directly using the second moment of inertial and figure our the farthest fibre in each group, similar to elastic section modulus to figure out the yield moment for each group?
Looping over all elements seems to be very slow when the mesh is fine.
Reusing existing information may be beneficial here.
x11, y22 = fea.principal_coordinate(phi=phi, x=x, y=y) | ||
|
||
# calculate bending stresses due to unit moments | ||
sig_mxx = em * ( |
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.
This part is pure numerical, can be jit
-ed to improve performance.
sig_m22 = -em / i22 * x11 | ||
|
||
# update yield indexes | ||
yield_index["mxx"] = max(yield_index["mxx"], abs(sig_mxx / fy)) |
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.
This one is minor, why not directly store: yield_moment=min(yield_moment,abs(fy/sig_m))
?
Closes #232.