SymPy Logo


During this week, I implemented the last part of Phase-2. These included solve_for_ild_moment() and plot_ild_moment() functions. The solve_for_ild_moment() function uses the solve_for_ild_reactions() function and calculates the I.L.D. equations for moment at a point specified by the user. The derived equations can then be plotted using the plot_ild_moment() function.

solve_for_ild_moment()

This function calculates the moment equations in terms of ‘x’. Here ‘x’ represents the distance of the moving load from the origin. Here is an example:

    >>> from sympy import symbols
    >>> from sympy.physics.continuum_mechanics.beam import Beam
    >>> E, I = symbols('E, I')
    >>> R_0, R_8 = symbols('R_0, R_8')
    >>> b = Beam(12, E, I)
    >>> b.apply_support(0, 'roller')
    >>> b.apply_support(8, 'roller')
    >>> b.solve_for_ild_reactions(1, R_0, R_8)
    >>> b.solve_for_ild_moment(4, 1, R_0, R_8)
    >>> b.ild_moment
    Piecewise((-x/2, x < 4), (x/2 - 4, x > 4))


plot_ild_moment()

This function plots the above solved equations

    >>> b.plot_ild_moment()
I.L.D. Moment


With this PR, Phase-2 ends. I have started working on Phase-3 functions. These include plotting function for shear stress in Beam class and Beam3D class and functions to find max shear force, bending moment and deflection in Beam3D class. Hopefully Phase-3 will get completed by the end of the next week.