The sixth week has ended with a lot of work to be done ahead.

Last week the work was majorly focused on the work in progress PR #17122. I have included the critical load function which makes the Column class capable of determining the critical load. Some problems still came up in solving some equations. I have made an issue related to those.

An equation similar to **tan(x) – x** comes up while determining the critical load for the **pinned-fixed** end-condition. SymPy’s **solve() **won’t be able to solve such an equation, and as per the solution given in the issue, I think that **nsolve()** would surely help in this case. So I will be going ahead to solve it using the approximation returned by **nsolve()** to handle this condition.

Another problem that I faced was determining deflection and critical load for the **pinned-pinned** end-condition. Here, the deflection comes out to be:

**C1*sin(sqrt(P)*x/(sqrt(E)*sqrt(I)))** +** C2*cos(sqrt(P)*x/(sqrt(E)*sqrt(I)))**

Now on solving it for constants **C1** and **C2, **using initial boundary conditions, both come out to be **0**, making the deflection **zero**. This implies that no buckling occurs, which is not the case.

Even when solving it manually, this situation occurs, we deal with it by putting **C2 = 0 **and instead of putting **C1 = 0,** we consider the **sin **term equal to zero and then solve for **P (critical load). **So, I will be adding a few more lines of code to deal with this situation.

Apart from working on this module, I have also opened another PR #17153 which implement methods to determine **section modulus** and **polar modulus** of any polygon (more precisely a cross-section). Initially it was a draft PR, but now the work has been completed on it. Once I get the approval, I will also be adding the same for the Ellipses module. Also, if **cut_section() **gets successfully implemented I will be adding another method to determine the first moment.

I am pretty sure the work on **Column class** will be successfully completed before the end of the next week. Also, we will be heading towards the next stage which intends to plot beam diagrams using matplotlib. Till then we can have an initial discussion regarding the same.

**Next Week:**

- Improving the
**critical_load()**to handle the above problems - Completing the Column class (documentation and tests)
- Starting with the next phase

Will keep you updated!

Thanks!

## Leave a Reply