This week me, Arihant and Jason discussed the API for creating composite Beam objects. Initially, we used
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))
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 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:
position represents the position at which support was applied
and type is type of support structure. It can be either
- 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.