robbievanleeuwen/concrete-properties

Moment Interaction Diagram Usability Enhancements

robbievanleeuwen opened this issue · 2 comments

  • More helpful exception messages when number of labels, control_points or n_points do not match
  • Automatic sorting of control_points, rather than raising an exception if not sorted

Originally posted by @Agent6-6-6 in #32 (reply in thread)

@robbievanleeuwen, having played around with the control points and trying to consistently create relatively smooth curves, I have a few thoughts on a potentially better approach to defining the axial load control points/analysis points for the M/N curve:-

  • Take the entire range from max tension to max compression as the bounds on axial load control points
  • Either have a user supplied variable to break this range up evenly by a certain number of evenly spaced control points (like n_points = 48), or a user specify max axial load interval (like n_spacing = 200), and divide the entire range by this to create an evenly spaced axial load range
  • work out corresponding neutral axis depths for these loads based on whatever rotation is required
  • add in the user defined points as extra points, working out neutral axis depths as required depending on how they were specified
  • sort combined list (as all based on neutral axis depths)
  • calculate capacities at those points for the analysis

Otherwise I've found it's actually quite hard to make nicer curves that look nicely curved, especially if you're looking at different neutral axis rotations as the vertical spacing of control points jumps all over the place in terms of axial load. It might look nice at one rotation, but then at another rotation it gets a bit piecemeal like with obvious straight lines being joined in another between wider spaced control points.

Based on what you have already I don't think that would be too much of a change. Potentially it can be another option beside the current implementation that gives users another option to tweak plotting resolution?

@robbievanleeuwen

One more comment to add on this in its current implementation that I've noted:-

  • when utilising the max_comp variable if you specify a custom control point that turns out to be above the maximum axial load cutoff for the section you are analysing. Currently, these are not filtered out resulting in the error being raised whereby the control points must be ordered...