Jashanpreet Singh BE Computer Science student

Week 2 point_cflexure and remove_load methods

Exams kept me occupied for previous 11 days so I wasn’t able to contribute much. Coming to this week’s work, I created two pull request:

  • #14751 :This PR implemented remove_load method to remove previously applied loads on the beam object. This method is little different from adding a negative load to make net equal to zero and would work only if that particular load exists on beam.
  • #14753 : This PR implemented point_cflexure method to find point of contraflexure.

#14751 also included applied_loads method which keeps a track of all load applied on beam.

It is different from b.load as it treat each load as a separate entity. load property would sum up all the loads at a particular point but applied_loads will still show them as separate loads. For example

>>> b.apply_load(4, 2, -1)
>>> b.apply_load(2, 2, -1)
>>> b.load
6*SingularityFunction(x, 2, -1)
>>> b.applied_loads
[(4, 2, -1, None), (2, 2, -1, None)]

The only difficulty with #14753 occured in finding solution of moment_curve . Actually moment is zero outside the spam length too, which made solve to return a solution in form of Interval which is not a compatible return type for solve. solveset was of no help too as it can’t be used with multivariate expressions. The problem, however, was solved by wrapping bending_moment with a Piecewise function with its value equal to float("nan") outside the spam length.

Next Week

Make beam.py compatible to solve non-prismatic beams. Try to find a way around for the issue occurring in PR #14681. Support for non-horizontal beams.

comments powered by Disqus