GSOC : 2D Beam Solving System

244 views
Skip to first unread message

Jashan

unread,
Feb 26, 2018, 8:42:55 AM2/26/18
to sympy
Hello,

I am Jashan, a second-year undergrad from India. I have been contributing to SymPy for more than a month now. While going through Gsoc Ideas page, I found 2D Beam Solving System intriguing. I had a subject on solid mechanics in my college and I would be pleased if I get a chance to work on it this summers.

After going through the previous work, I observed everything desired was implemented. I am kinda confused what exactly more is to be needed by this module. But still, I have some ideas which I think can be discussed/implemented. Currently, beams are considered to be of uniform cross-section 

and youngs modulus. But I was thinking of problems having multiple beams with different parameters welded/attached together.  

Also why to get restricted on 2D, I don't know how much complicated it can get but we can solve the problems for beams with some thickness and height both just by breaking the forces in perpendicular components and adding shear forces and deflections vectors. Yeah, this would need the forces to input as a vector in the value parameter of  (value, start, order) API and we will have to change API of beam module that it should then take two moments of area(or area vectors) while initializing.

I don't know how appropriate these ideas are and are they even long/important enough to be considered implementing in summers. If these are not the desirable changes, what else can be implemented? I would love to hear the views of Jason Moore and Sampad Saha as they are way more familiar with the project.

Thanks,

Jason Moore

unread,
Feb 26, 2018, 4:32:12 PM2/26/18
to sy...@googlegroups.com
Jashanpreet,

All of your ideas sound great. I recommend that you pick a variety of beam problems and try to solve them with SymPy. That is the best way to come up with a list of needs to improve things.

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+unsubscribe@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
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/25fd6cd3-08be-4bb3-a59c-e6618a66c87c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jashan

unread,
Mar 1, 2018, 2:26:46 PM3/1/18
to sympy
Jason,

I have gone through the continuum_mechanics module. As far as i could see, the module can solve only one basic type of beam problem(a simple horizontal beam with different kind of forces/moment applied).

One new kind of problem would be a non-horizontal beam(in a 2D plane). But problem with its implementation is that we would have to change some input parameters, like while initializing a beam we would need something like Beam(orientation, E, I)  where orientation can be any way to represent our beam length and its angle with the horizontal (we can use polar coordinates or a simple length vector) instead of just length. And also load will be expected to be vectors. Then we can proceed as usual by taking components of forces perpendicular to the beam.

You think these changes in the API are worth making(considering it would open a whole new set of beam problems)? If yes, can I implement these changes and create a PR?

Jashan

Jason Moore

unread,
Mar 1, 2018, 4:06:55 PM3/1/18
to sy...@googlegroups.com
Jashan,


> I have gone through the continuum_mechanics module. As far as i could see, the module can solve only one basic type of beam problem(a simple horizontal beam with different kind of forces/moment applied).

I don't think it can solve all horizontal beams correctly. My suggestion is to try to solve many different beams. If you can solve a beam, send it as a pull request to add documentation for the module. If it can't solve a beam then submit an issue about it. Try solving the examples and problem sets from http://dl.iranidata.com/amuzeshi/Daneshgahi/Shigley%27s%20Mechanical%20Engineering%20Design,%209th%20Edition-McGraw-Hill%20(www.iranidata.com).pdf for example.

Expanding to non-horizontal beams sounds neat, but it first needs to be able to reliably solve existing problems.

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at https://groups.google.com/group/sympy.

SAMPAD SAHA

unread,
Mar 1, 2018, 4:55:03 PM3/1/18
to sy...@googlegroups.com
What I remember is that the current Beam object can't solve cantilever beam problems. 

Jashan you can try to solve a cantilever beam problem using the current Beam object. You might get some room for improvement.



Regards
Sampad Kumar Saha
Mathematics and Computing
Department of Mathematics
I.I.T. Kharagpur

Message has been deleted

Jashan

unread,
Mar 9, 2018, 9:50:22 AM3/9/18
to sympy
Jason,

Sorry for late reply, stuck between exams. I am solving beam problems for some time now. I have solved a few here. You said me to send these as a PR but exactly where to add these in the module?
 

Jason Moore

unread,
Mar 9, 2018, 10:59:24 AM3/9/18
to sy...@googlegroups.com
I suggest submitting them to the documentation.
On Fri, Mar 9, 2018 at 6:50 AM, Jashan <jashansi...@gmail.com> wrote:
Jason,

Sorry for late reply, stuck between exams. I am solving beam problems for some time now. I have solved a few here. You said me to send these as a PR but exactly where to add these in the module?
 

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at https://groups.google.com/group/sympy.

Jashan

unread,
Mar 22, 2018, 5:01:51 PM3/22/18
to sympy
Jason,

I have created a wiki page for my proposal here. I have talked about implementation of following:
  • Solving statically indeterminate beams
  • Solving Non-Prismatic beam
  • Point of contra flexure
  • maximum deflection
  • method to remove load
  • connected beams (such as via hinge)
  • solving non-horizontal beams
  • Support class as an abstract way to represent a support structure
  • 3d Beam class(to solve beam with high shear modulus in three dimensions)
  • Plotting of SFD, BMD and deflection curve
Kindly review the application, and provide necessary feedbacks about the proposal. Also, tell if you think any of them should be removed/replaced.

Thanks,
Jashan
Reply all
Reply to author
Forward
0 new messages