HI Sai,

My feedback is very positive. If you really solved 80 problems with the
module, then you should have a strong idea of what to improve.

Jason
moorepants.info
+01 530-601-9791


On Sat, Mar 22, 2025 at 11:35 AM sai udayagiri <[email protected]>
wrote:

> Hi Jason,
>
> I wanted to follow up on my previous email regarding my observations and
> proposed Enhancements for the *structure2d.py
> <https://github.com/BorekSaheli/sympy/blob/structure2d/sympy/physics/continuum_mechanics/structure2d.py>*
> module. I’d appreciate any feedback on whether the proposed scope aligns
> with expectations.
>
> If it’s too limited, I’m happy to add more stages and compress my timeline
> in the *GSoC proposal draft*. If some of the proposed changes aren’t
> desirable, I’d love to explore other areas where contributions would be
> more impactful.
>
> Looking forward to your feedback.
>
> Best regards,
>  Sai Udayagiri
>
> On Friday, March 14, 2025 at 5:07:13 AM UTC+5:30 sai udayagiri wrote:
>
>> Hi Jason,
>>
>> I appreciate your response and the priorities you shared. Over the past
>> four days, I have been thoroughly exploring the structure2d.py
>> <https://github.com/BorekSaheli/sympy/blob/structure2d/sympy/physics/continuum_mechanics/structure2d.py>
>> and Beam.py
>> <https://github.com/sympy/sympy/blob/master/sympy/physics/continuum_mechanics/beam.py>
>> modules. I found structure2d.py
>> <https://github.com/BorekSaheli/sympy/blob/structure2d/sympy/physics/continuum_mechanics/structure2d.py>
>> exciting, readable, and easy to work with. As part of this process, I
>> solved 80+ problems using different combinations of available functions
>> within the module, covering most of them to understand their capabilities
>> and limitations better. This hands-on experience has given me deeper
>> insight into its functionality and highlighted areas where improvements or
>> additions could be made.
>>
>> While the module is well-structured and logically sound, I noticed
>> several areas that could be refined:
>>
>> *Key Observations*
>>
>>    - *Function Behavior Inconsistencies:* Some functions lack basic
>>    validation checks. For instance, when applying a distributed load without
>>    specifying end values, the draw function assumes default values, whereas
>>    the apply_load function fails to add it as a distributed load.
>>    Additionally, many methods allow users to enter inputs in any order 
>> without
>>    proper validation, leading to incorrect calculations or failures,
>>    especially in complex systems with multiple members.
>>    - *Missing Functionalities:* Some methods are only partially
>>    implemented. For example, the apply_load function currently supports only
>>    point and distributed loads, but not ramp or parabolic loads. 
>> Additionally,
>>    several key methods available in Beam.py are missing in structure2d.py.
>>    Adding these would significantly enhance the module's ability to handle
>>    more advanced structural problems.
>>    - *Lack of Documentation & Examples:* Neither the .py file nor the
>>    module documentation contains structured examples or detailed comments,
>>    making it difficult for users to fully understand and utilize its
>>    capabilities.
>>    - *Limited Test Cases:* The current test suite does not
>>    comprehensively cover all cases and functionalities. Expanding test
>>    coverage would improve reliability and prevent potential regressions.
>>    - *Plotting Limitations:* The module lacks proper visualization
>>    enhancements. Plots miss key elements such as units, labels, and load
>>    values, and they do not always provide a perfectly analyzed square-type
>>    representation. Additionally, the default graph often lacks the proper 
>> axes
>>    which , makes it not neat as the structures overlaps with the top borders.
>>
>> *Proposed Contributions*
>>
>>    - *Refining the Existing Implementation* – Addressing inconsistencies
>>    and improving method robustness.
>>    - *Expanding Functionality* – Implementing missing features and
>>    adding key methods from Beam.py to enhance versatility.
>>    - *Comprehensive Documentation & Examples* – Creating structured
>>    documentation and usage examples to improve accessibility.
>>    - *Strengthening Test Coverage* – Developing a more extensive test
>>    suite to validate correctness and reliability.
>>    - *Enhancing Plotting & Visualization* – Improving graphical outputs
>>    by ensuring proper labels, units, load values, and clearer structural
>>    representations.
>>
>> I would love to hear your thoughts and suggestions on these observations.
>> If there are additional aspects you'd like me to focus on, please let me
>> know—I’d be happy to explore them further.
>>
>> If these align with your expectations, I’ll begin drafting my GSoC
>> proposal and start working on a PR to submit alongside it. I have also
>> compiled a list of specific issues I encountered while solving problems,
>>
>>    - When order=0 and end_x, end_y are not provided, the draw function
>>    assigns default end values, but apply_load does not, causing
>>    inconsistencies.
>>    - If an invalid order is given, the function fails without a proper
>>    error message.
>>    - The apply_load function lacks support for ramp loads and parabolic
>>    loads.
>>    - Some loads do not appear correctly in the graphical representation.
>>    - Distributed loads applied at (2.5,5) do not get plotted.
>>    - Certain loads are missing entirely from the visualization.
>>    - If supports are defined before loads, reaction calculations fail.
>>    - Graph defaults to (0, -y) when no supports or loads exist, making
>>    visualization unclear.
>>    - Graph lacks auto-adjustment for better readability.
>>    - No proper validation checks when applying loads at points not on
>>    the beam.
>>    - Lack of error messages when end_x, end_y values are missing but
>>    required.
>>    - Order 5 is incorrectly considered a distributed load without strict
>>    checks.
>>
>>
>>    - Graph lacks essential features like units, scale, grids, and
>>    borders for analysis.
>>
>> Looking forward to your feedback!
>>
>> Best regards,
>> *Udayagiri Saibabu*
>>
>> On Monday, March 10, 2025 at 12:17:44 AM UTC+5:30 [email protected]
>> wrote:
>>
>> The most recent work on that module is:
>> https://github.com/sympy/sympy/pull/27130 which we would like to merge
>> and get it working more generally. This expands the capabilities to more
>> structure types. That would be my hope for any near future work.
>>
>> Fixing bugs seen in this list of issues is also priority:
>> https://github.com/sympy/sympy/issues?q=is%3Aissue%20state%3Aopen%20label%3Aphysics.continuum_mechanics
>> Jason
>> moorepants.info
>> +01 530-601-9791
>>
>>
>> On Sun, Mar 9, 2025 at 2:02 PM sai udayagiri <[email protected]>
>> wrote:
>>
>> Hello,
>>
>> I am Sai Udayagiri, a physics graduate from India with a strong interest
>> in computational mechanics and symbolic mathematics. I have been exploring
>> SymPy for over a month now, focusing particularly on the Physics module.
>> While going through the GSOC ideas page, the projects "Implement
>> Specific Forces and Torques
>> <https://github.com/sympy/sympy/wiki/GSoC-Ideas#classical-mechanics-implement-specific-forces-and-torques>"
>> and "Create a Rich 2D Beam Solving System
>> <https://github.com/sympy/sympy/wiki/GSoC-Ideas#continuum-mechanics-create-a-rich-2d-beam-solving-system>"
>> caught my attention.
>>
>> To evaluate my suitability for the project, I thoroughly explored the
>> continuum mechanics module for the past 10 days, reviewed the past
>> contributions by Sampad, Jashan
>> <https://github.com/jashan498/GSoC/wiki/GSoC-2018-Report-Jashanpreet-Singh:-Create-a-Rich-Beam-Solving-System>,
>> Ishan
>> <https://github.com/sympy/sympy/wiki/GSoC-2019-Final-Report-Ishan-Joshi:-Creating-a-rich-beam-solving-system-and-extending-continuum-mechanics-module>,
>> Prakhar
>> <https://github.com/sympy/sympy/wiki/GSoC-2021-Report-Prakhar-Saxena-:-Creating-a-Rich-Beam-Solver-and-Extending-Continuum-Mechanics-Module>,
>> Advait
>> <https://github.com/sympy/sympy/wiki/GSoC-2022-Report-Advait-Pote-:-Extending-the-Continuum-Mechanics-Module>,
>> and Ishan Pandhare, and studied NPTEL
>> <https://youtube.com/playlist?list=PLyqSpQzTE6M_MEUdn1izTMB2yZgP1NLfs&si=_YBViE6P2L7yHl1r>
>> lectures on beams to deepen my theoretical understanding. Although I had a
>> subject on Solid Mechanics during my college coursework, I found that the
>> work in this module extends beyond my prior knowledge. Hence, I invested
>> time in researching both the theory behind beam mechanics and SymPy's
>> implementation of 2D and 3D beam modules.
>> Observations & Ideas for Improvement
>>
>> After analyzing previous work and Current Project Requirements, I
>> observed several areas that could be improved or expanded upon:
>>
>> *Enhanced Plotting Capabilities*
>>
>>    - Currently, all plots in the beams module are very simple and lack
>>    customization.
>>    - I believe we can enhance default plotting features and allow users
>>    to fully customize plots .
>>
>> *Support for More Complex Beam Structures*
>>
>>    - The module currently does not allow beams with different material
>>    properties at joints.
>>    - I am unsure about the complexity and importance of this feature, so
>>    I would love to hear thoughts from the community.
>>
>> *Support for Complex Cross-Sections*
>>
>>    - The module does not fully support non-standard cross-sections.
>>    - Integrating with the geometry package could allow defining
>>    arbitrary cross-sections for 2D and 3D beams.
>>
>> *Expanded Problem Examples & Documentation*
>>
>>    - Adding more real-world problem examples would help users better
>>    understand the module.
>>    - Examples showcasing more analytical solutions would be beneficial.
>>
>> My Technical Experience
>>
>> *Python :* I have experience in symbolic computation, data structures,
>> and numerical methods.
>> *Git & Open Source* :I am familiar with Git, GitHub workflows, and
>> open-source contribution practices.
>>
>> I would love to hear the views of the community and potential mentors
>> Advait, Prakhar regarding these ideas. If these are not the most desirable
>> changes, I would appreciate guidance on what improvements are needed for
>> the SymPy Beams Module.
>>
>> Looking forward to your response!
>>
>> Thanks & Best Regards,
>> Sai Udayagiri
>>
>> --
>> 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 view this discussion visit
>> https://groups.google.com/d/msgid/sympy/683d2c01-63ff-4b65-b101-499e8eca0375n%40googlegroups.com
>> <https://groups.google.com/d/msgid/sympy/683d2c01-63ff-4b65-b101-499e8eca0375n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> --
> 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 view this discussion visit
> https://groups.google.com/d/msgid/sympy/7a14b8ae-459a-4dd4-b611-b1e38ee19c07n%40googlegroups.com
> <https://groups.google.com/d/msgid/sympy/7a14b8ae-459a-4dd4-b611-b1e38ee19c07n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 view this discussion visit 
https://groups.google.com/d/msgid/sympy/CAP7f1AgKvwaThTuAnxLfx%3D9kyNJ6wW0EaVsgEWaT12ANykHjUw%40mail.gmail.com.

Reply via email to