Use Case 1: Point Loads#
%pip install git+https://github.com/lfverlaan/sympy.git@telescope_hinge
Collecting git+https://github.com/lfverlaan/sympy.git@telescope_hinge
Cloning https://github.com/lfverlaan/sympy.git (to revision telescope_hinge) to c:\users\lucas\appdata\local\temp\pip-req-build-psw7uozs
Resolved https://github.com/lfverlaan/sympy.git to commit 9b4d2066f1444a8ccc573286e3ae48cc85e32217
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Requirement already satisfied: mpmath>=1.1.0 in c:\users\lucas\anaconda3\lib\site-packages (from sympy==1.15.0.dev0) (1.3.0)
Note: you may need to restart the kernel to use updated packages.
Running command git clone --filter=blob:none --quiet https://github.com/lfverlaan/sympy.git 'C:\Users\lucas\AppData\Local\Temp\pip-req-build-psw7uozs'
Running command git checkout -b telescope_hinge --track origin/telescope_hinge
branch 'telescope_hinge' set up to track 'origin/telescope_hinge'.
Switched to a new branch 'telescope_hinge'
# This is a workaround for the fact that micropip does not support git URLs, to make it work in the online book.
import micropip
await micropip.install('../packages/sympy-1.15.0.dev0-py3-none-any.whl')
#takes a while
from sympy.physics.continuum_mechanics.column import Column
import matplotlib.pyplot as plt
length, E, A = 12, 40000, 0.5
c = Column(length, E, A)
c.apply_support(0)
c.apply_support(8)
c.apply_support(12)
c.apply_load(10, 3, -1)
c.apply_load(10, 11, -1)
c.applied_loads
[(10, 3, -1, None), (10, 11, -1, None)]
c.load
\[\displaystyle R_{0} {\left\langle x \right\rangle}^{-1} + R_{12} {\left\langle x - 12 \right\rangle}^{-1} + R_{8} {\left\langle x - 8 \right\rangle}^{-1} + 10 {\left\langle x - 3 \right\rangle}^{-1} + 10 {\left\langle x - 11 \right\rangle}^{-1}\]
c.solve_for_reaction_loads()
c.reaction_loads
{R_0: -25/4, R_8: -25/4, R_12: -15/2}
c.axial_force()
\[\displaystyle \frac{25 {\left\langle x \right\rangle}^{0}}{4} - 10 {\left\langle x - 3 \right\rangle}^{0} + \frac{25 {\left\langle x - 8 \right\rangle}^{0}}{4} - 10 {\left\langle x - 11 \right\rangle}^{0} + \frac{15 {\left\langle x - 12 \right\rangle}^{0}}{2}\]
c.deflection()
\[\displaystyle 0.0003125 {\left\langle x \right\rangle}^{1} - 0.0005 {\left\langle x - 3 \right\rangle}^{1} + 0.0003125 {\left\langle x - 8 \right\rangle}^{1} - 0.0005 {\left\langle x - 11 \right\rangle}^{1} + 0.000375 {\left\langle x - 12 \right\rangle}^{1}\]
c.plot_axial_force();

c.plot_deflection();
