GSOC'25: Enhancing 2D & 3D Beam Solving System.

233 views
Skip to first unread message

Pratyksh Gupta

unread,
Mar 9, 2025, 2:22:01 PMMar 9
to sympy

Hello SymPy developers,

I am excited to express my interest in contributing to SymPy by enhancing its 2D and 3D Beam Solving System within the continuum mechanics module.  I have also reviewed past contributions by  Advait Pote,  Jashanpreet SinghIshan Joshi, Prakhar SaxenaSampad Saha, Ishan Pandhare, and Shishir Khushwa. While my college and school studies provided me with a background in Solid Mechanics, I found that this module’s scope extends beyond my prior knowledge. This realization has driven me to invest additional effort in studying both the theoretical principles of beam mechanics and SymPy’s approach to implementing 2D and 3D beam models.


Proposed Enhancements  - 
  1. Cross-Sectional Geometry Integration

    • Leverage SymPy’s geometry package to define arbitrary cross-sections (e.g., I-beams, hollow cylinders) and automate second moment of area calculations.

    • Extend the cross_section property to support variable geometries along the beam span.

  2. 3D Beam Class Development

    • Expand the existing 2D Beam class to handle 3D loading scenarios (torsion, combined bending) with generalised singularity functions.

    • Implement boundary condition support for 3D deflections and slopes, inspired by the 2D Macaulay method.

  3. Plotting and Visualization

    • Develop interactive plotting methods for shear force, bending moment, slope, and deflection diagrams using SymPy’s plotting backend.

    • Add 3D rendering for deformed beam shapes under load.

  4. Example Library Expansion

    • Curate a comprehensive set of benchmark problems (e.g., statically indeterminate beams, composite sections) to validate accuracy and demonstrate functionality.


My Question - 

Would extending the Beam Solving System in these directions align with SymPy’s development roadmap and priorities? If so, I am eager to contribute and explore potential implementation strategies.


My Background - 

I have a strong foundation in structural mechanics, continuum mechanics, and computational methods, with experience in Python, symbolic computation, and algorithm optimization. My studies have focused on beam theories (Euler-Bernoulli, Timoshenko), structural analysis techniques, and numerical approaches, making this project a perfect match for my expertise. I have thoroughly explored SymPy’s continuum mechanics module, reviewed prior contributions, and examined key engineering references to understand how the module can be further improved. I bring hands-on experience in structural mechanics and familiarity with SymPy’s codebase, including the Beam module’s reaction force solver and singularity function integration. Before proceeding, I would appreciate guidance on:

  • Existing efforts or roadblocks in 3D beam development within SymPy.

  • Preferred strategies for integrating the geometry package with continuum mechanics modules.


Thank you for considering this proposal. I look forward to collaborating to elevate SymPy’s capabilities in computational structural analysis.

Looking forward to your response!

Best regards,
Pratyksh Gupta

Jason Moore

unread,
Mar 9, 2025, 2:44:58 PMMar 9
to sy...@googlegroups.com
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.


Jason


--
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 sympy+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sympy/a3d0ea08-013e-4f9d-96d5-5544c17bf036n%40googlegroups.com.

Pratyksh Gupta

unread,
Mar 11, 2025, 2:33:34 AMMar 11
to sympy
Hi Jason, 

Thank you for your response and for sharing PR and issue tracker. I will review PR #27130 in detail to understand its scope and how it expands capabilities to more structural types. I will also go through the open issues in the physics.continuum_mechanics module to identify areas where I can contribute.

Would you recommend focusing on integrating this PR first before considering additional enhancements like 3D beam modeling and cross-sectional geometry extensions?

Looking forward to your insights!

Best Regard,

Pratyksh Gupta.

Message has been deleted

Pratyksh Gupta

unread,
Mar 20, 2025, 4:27:09 PMMar 20
to sympy

Hi Jason,

After this PR #27130 merges, I propose the following enhancements to align with sympy’s development roadmap while expanding its beam analysis capabilities.

Refined Proposed Enhancements - 

1. Structure2d for More Structural Types : -

Current Limitation: Supports only single-span, non-branching beams.

Enhancements:

  • extend Structure2d for multi-span beams, branched frames, and trusses.
  • modify apply_load() and apply_support() for intersecting members.
  • implement node connectivity graphs for load distribution.

2. Cross-Sectional Geometry Integration : -

Current Limitation: No cross-section support for 2D beams.

Enhancements:

  • use SymPy’s geometry package for I-beams, hollow cylinders, rectangular beams.
  • automate second moment of area (I) calculations.
  • extend cross_section property for variable geometries (tapered beams).

3. Robust Testing & Error Handling : - 

Current Limitation: Lacks comprehensive unit tests & validation checks.

Enhancements:

  • add tests for multi-span beams, trusses, support types.
  • validate input errors, missing beam properties, unsupported geometries.
  • implement exception handling for unstable configurations.

4. Advanced Plotting & Visualization : -

Current Limitation: Basic plotting; lacks interactive features.

Enhancements:

  • extend Structure2d.draw() for branched beams & multi-span structures.
  • add interactive plotting (drag nodes, modify loads dynamically).
  • implement 3D deformation rendering, bending moment & shear force overlays.
  • support plot export (PNG, SVG, PDF).

5. Expanding Example Library : - 

Current Limitation: Lacks real-world problems & benchmarks.

Enhancements:

  • add statically indeterminate beams, variable cross-section problems.
  • create Jupyter Notebook tutorial with step-by-step guides & interactive plots.

6. Performance Optimization : -

Current Limitations : Redundant symbolic computations, no numpy optimizations.

Enhancements:

  • optimize solve_for_reaction_loads() with NumPy-based matrix operations.
  • reduce memory usage via lazy evaluation & efficient load storage.

Would these enhancements align with sympy's roadmap? I’m eager to contribute and explore implementation strategies.

Looking forward to your response!

Best regards,

Pratyksh Gupta

Jason Moore

unread,
Mar 21, 2025, 10:34:53 PMMar 21
to sy...@googlegroups.com
Hi Pratyksh,

These are all nice ideas, but the scope is huge for a GSoC project. You need to narrow the scope.

Jason


Message has been deleted

Pratyksh Gupta

unread,
Apr 1, 2025, 6:02:15 AMApr 1
to sympy

Hello Jason,

I have just finished my proposal for my project on Extending Continuum Mechanics Module: Enhancement of 2D, 3D Beam and Arch Classes.

Here is the link for the document.

Also who all will be the potential mentors for this module in 2025 ?

Looking forward to your feedback and comments on it!

Best regards,
Pratyksh

Pratyksh Gupta

unread,
Apr 3, 2025, 6:42:17 AMApr 3
to sympy
Hello Jason,

I have completed my proposal and here is the link of the document please review this and give suggestions on this. And also please give information of the potential mentors for this module for this year.

Regards,
Pratyksh
Reply all
Reply to author
Forward
0 new messages