Week 3 Composite Beams
09 Jun 2018This week me, Arihant and Jason discussed the API for creating composite Beam objects. Initially, we used Piecewise and SingularityFunction to represent our changing second_moment but then we agreed upon .join
method to represent such beams. So the final API was like:
>>> b1 = Beam(2, E, 1.5*I)
>>> b2 = Beam(2, E, I)
>>> b = b1.join(b2, "fixed")
>>> b.length
4
>>> b.second_moment
Piecewise((1.5*I, x <= 2), (I, x <= 4))
Here b1.join(b2, "fixed")
joins b2 at the right end of b1 via a fixed connection.All this was implemented in #14773 and hopefully it would be merged in coming few days.
I also created #14786 at the end of this week implementing apply_support
and max_deflection
methods.
apply_support
is an easier way to apply support structures on our Beam object rather than adding all the reaction loads and moments and constraints on it by yourself. Its API is not finalised yet but for now it is something like:
>>>b.apply_support(position, type='hinge')
where position represents the position at which support was applied.
and type is type of support structure. It can be either hinge, roller or cantilever.
Next Week
- Add support for composite beams connected via hinge.
- Add support for non-horizontal beams.
- See for any remaining implementation from first two stages of my proposal.