While solving different beam problems I found that currently only 
determinate beams can be solved (simply supported, cantilever, 
overhanging). 
However it is unable to solve indeterminate beams (fixed, propped 
cantilever and  continuous beams).

For fixed beam
>>> from sympy.physics.continuum_mechanics.beam import Beam
>>> from sympy import symbols, Piecewise
>>> E, I = symbols('E, I')
>>> R1, R2, R3, R4 = symbols('R1, R2, R3, R4')

>>> b = Beam(4, E, I)
>>> b.apply_load(R1, 0, -1)
>>> b.apply_load(R2, 0, -2)
>>> b.apply_load(R3, 4, -1)
>>> b.apply_load(R4, 4, -2)
>>> b.apply_load(6, 2, -1)
>>> b.bc_deflection = [(0, 0), (4, 0)]
>>> b.bc_slope = [(0,0), (4,0)]

>>> b.solve_for_reaction_loads(R1,R2,R3,R4)
>>>b.shear_force()
R3*SingularityFunction(x, 4, 0) + R4*SingularityFunction(x, 4, -1) + (-R3 - 
6)*SingularityFunction(x, 0, 0) + (4*R3 - R4 + 12)*SingularityFunction(x, 0, 
-1) + 6*SingularityFunction(x, 2, 0)
>>> b.bending_moment()
R3*SingularityFunction(x, 4, 1) + R4*SingularityFunction(x, 4, 0) + (-R3 - 6
)*SingularityFunction(x, 0, 1) + (4*R3 - R4 + 12)*SingularityFunction(x, 0, 
0) + 6*SingularityFunction(x, 2, 1)

Currently it reduces from 4 reactions to 2 reactions .
However these type of problem can easily be solved using various methods 
for indeterminate analysis for example - three moment theorem .

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/ae70193b-cd61-4533-b774-348397f62d25%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to