Build up your own python program to solve a beam with an arbritary number of elements and arbritary loading. Do it either in a text file (.py
) or in a new jupyther notebook. You can use object-oriented programming, as suggested below.
In particular, test your program on a clamped-clamped beam submitted ot a uniform transverse load $\underline f(s)=-p\underline e_2$. It can be shown (see the class of Structural Mechanics) that the analytical solution for the transverse displacement is $$ v(s) = \dfrac{p s^2}{24EI}(L-s)^2 $$ Compare the numerical solution against this analytical solution when using $n=5$, $n=10$, $n=20$, $n=100$ elements
You find below an example to start a Frame
class. The example include geometry and visualization features. You should add the methods (i.e. the functions of the class) to assemble K
, F
, impose bcs and solve the system.
Once done, test the solution for a cantilever beam under its own weigth. Compare againt the analytical solution