Good News!
My first PR #23629 has been merged! This means that the Truss has been implemented into SymPy. This Pull request consisted of a quite a bit of changes: 7 file changes and 720 lines of code worth of additions. Hence, took a little longer than expected to merge as a lot of reviews are required. I thank Prakhar for the patience with this.
As I had mentioned in the previous week, my goal for this week was to get done with the documentation and tests for the solve
method. I was able to complete those in pretty easily and I had to just wait for the first PR to get merged. After it was merged, on the same Sunday night, I opened the PR #23755 for the solve
method. I have added the condition mentioned previously;
where \(n\) is the number of nodes, \(m\) is the number of members and \(r\) is the number of reaction loads (if a support is pinned then there are two reaction loads on that support and one reaction load if the support is a roller); in the method and the method works only if the above condition is met. I also added the documentation with the doctests and the tests for the same where I just visualised a truss in each and expected the method to give the answer that I was getting by solving it physically.
As time progresses and more reviews are done on the PR, I will be making more commits to try & rectify some mistakes (conceptual or related to the code) and also to improve its performance.