Dear SymPy Developers,
I hope this message finds you well! My name is Rushabh Mehta, and I am a computer engineering sophomore at VJTI, Mumbai. I’ve been contributing to SymPy for some time now, with merged pull requests and a few more currently under review. Working with the SymPy codebase has been an enriching learning experience, and I am looking forward to contributing more.
I am writing to share my interest in working on a GSoC project this year to enhance the force and torque models in the mechanics module. This project builds upon the work done by last year’s contributor, Hwayeon Kang, who implemented several foundational classes like LinearSpring, DuffingSpring, and LinearDamper. While these additions were a significant step forward, I feel the scope of their usage remains limited. My goal is to broaden the applicability of these prebuilt classes by introducing additional force and torque models that are both versatile and representative of real-world systems.
Here’s a rough outline of the proposed enhancements:
Proposed Deliverables
1. Nonlinear Models:
2. Aerodynamic Forces:
3. Building on GSoC 2024 Work:
As suggested in last year’s project (link to the report):
4. Documentation and Examples:
Why This Project
The expansion of force and torque models will enhance SymPy's versatility, making it applicable to a wider range of use cases in fields such as biomechanics, aerodynamics, and mechanical systems.
I would greatly appreciate your feedback on this direction. Please let me know if there are any areas you think should be prioritized or if there's anything I should adjust.
Thank you for your time, and I look forward to your valuable input.
Best regards,
Rushabh Mehta
--
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/ada5689e-76a3-4d81-ab76-0677061052b2n%40googlegroups.com.
Hello,
Thank you for your valuable and quick feedback!
I completely agree with your point that forces like aerodynamic drag are relatively straightforward to implement, and we want to ensure that any new models we add to SymPy provide significant value beyond simple equations. The goal would be to focus on forces or torque models that are difficult to implement and would save users time and effort.
I also appreciate your insights on biomechanics. I will research and study up on muscle models and the challenges around wrapping objects for musculoskeletal models. I’ll definitely keep it in mind as I refine the proposal.
Thank you again for your guidance, and I’ll be sure to keep your comments in mind as I develop the full proposal. I will be sure to communicate my progress and queries here.
Best regards,
Rushabh Mehta
Hello again,
Thank you for your valuable feedback and insights! Based on the discussion so far, I’ve refined my proposed project scope to ensure meaningful contributions that align with current needs. This remains open to any and all feedback.
Current Proposed Scope
Completing Future Work from GSoC 2024 (H. Kang)
Expanding Nonlinear Models in sympy.physics.mechanics
Advancing sympy.physics.biomechanics
(If Time Permits) Additional Extensions
Queries and Next Steps
Given my limited background in biomechanics, I wanted to clarify:
I’d love to hear your thoughts on this refined scope and any guidance on it.
Looking forward to your feedback!
Best regards,
Rushabh Mehta
Dear Jason,
I hope you're doing well! I wanted to follow up on my previous message regarding my proposed GSoC project. I understand you must be busy, but I’d really appreciate any feedback on the refined scope I shared—especially concerning the biomechanics aspect.
If there are specific priorities or areas that would strengthen my proposal, I’d be happy to adjust accordingly. Your insights would be invaluable in shaping a more impactful contribution.
Looking forward to your thoughts!
Best regards,
Rushabh Mehta
Dear Hwayeon,
Thank you for your feedback! I wanted to follow up with more details on both of your mentioned points.
For the HysteresisSpring class, I plan to implement it using the Bouc-Wen model, which is widely used for modeling hysteretic behavior in materials like rubber. The reference I'll try to follow is Ismail et al. (2009), "The Bouc-Wen Model, a Survey." This model captures different types of hysteresis loops and effects, making it a good fit for SymPy in my opinion. Let me know if you have thoughts or concerns about this approach.
Regarding Nonlinear Damping in DuffingSpring, I see your comment about the current implementation assuming that negative stiffness leads to chaotic motion. To work around this, instead of modifying the DuffingSpring class directly, I’m thinking of subclassing it to create a NonLinearDamperSpring (name not fixed). This subclass would introduce a velocity-dependent damping term:
where is configurable to allow for different damping behaviors. This way, the original DuffingSpring remains unchanged, and users can opt into nonlinear damping separately.
Would love to hear your thoughts on this. Thanks again for your guidance and time.
Best,
Rushabh Mehta
Hello, sympy community,
I wanted to follow up on my proposed GSoC project on expanding force and torque models. I haven't received a response to my last message, so I wanted to check if there is still interest in this direction.
If there are any specific concerns or priorities that I should consider, I’d be happy to adjust my approach accordingly. I appreciate any feedback and would love to know if it makes sense to continue refining the proposal.
Looking forward to your thoughts!
Best regards,
Rushabh Mehta