Thanks Jason, I have made some changes. Can you please review those? I have also added some comments along with yours.
I didn't get you in this comment. Can you please elaborate it? "*Comment from Jason: You will need to make sure everything is backwards compatible. See the wiki for our policy.*" Regards Sampad Kumar Saha Mathematics and Computing I.I.T. Kharagpur On Tue, Mar 22, 2016 at 8:53 PM, Jason Moore <[email protected]> wrote: > The example you show doesn't seem to reflect what we may actually see when > using this for beams. I'd suggest picking a simple beam problem and showing > what all of your code will look like. You did that pretty well for the > later examples, but this one with the random polynomials wasn't that clear. > > > Jason > moorepants.info > +01 530-601-9791 > > On Tue, Mar 22, 2016 at 7:43 AM, SAMPAD SAHA <[email protected]> > wrote: > >> Thank You Jason. I will put it. >> >> I have a doubt about this comment in my proposal : >> >> *"Comment from Jason: It would be more informative to show what a beam >> equation would look like in Piecewise form. This is a little abstract." * >> >> Can you explain it a little more? >> >> I have also added some comment next to yours, I am still working on some >> of your comments. >> >> Regards >> Sampad Kumar Saha >> Mathematics and Computing >> I.I.T. Kharagpur >> >> On Tue, Mar 22, 2016 at 8:08 PM, Jason Moore <[email protected]> >> wrote: >> >>> Sounds good, just put it in your proposal. >>> >>> >>> Jason >>> moorepants.info >>> +01 530-601-9791 >>> >>> On Tue, Mar 22, 2016 at 7:32 AM, SAMPAD SAHA <[email protected]> >>> wrote: >>> >>>> I will start coding along with community bonding. I will spend 3-4 >>>> hours extra in the last week of the community bonding period in order to >>>> achieve the proposed target in my proposal. I will have no problem managing >>>> with those extra hours since I will be having Summer break at that time and >>>> along with that I have no other commitments. And I will also have fun >>>> working those extra hours. >>>> >>>> >>>> >>>> >>>> Regards >>>> Sampad Kumar Saha >>>> Mathematics and Computing >>>> I.I.T. Kharagpur >>>> >>>> On Tue, Mar 22, 2016 at 4:13 AM, Jason Moore <[email protected]> >>>> wrote: >>>> >>>>> No need to cancel your vacation. Just give a plan for how you will >>>>> make up the days. >>>>> >>>>> >>>>> Jason >>>>> moorepants.info >>>>> +01 530-601-9791 >>>>> >>>>> On Mon, Mar 21, 2016 at 2:52 PM, SAMPAD SAHA <[email protected]> >>>>> wrote: >>>>> >>>>>> Thank You Jason for the suggestions in my proposal. I will work on >>>>>> those and let you know as soon as possible. >>>>>> >>>>>> I have mentioned in my proposal about the days of the vacation and >>>>>> how can I compensate the work. If this vacation raises any problem, I can >>>>>> cancel it . That will not be a problem for me. I don't want to let >>>>>> anything >>>>>> ruin the progess of the project as this Summer of Code will become an >>>>>> integral part of all my learning throughout the summer. >>>>>> >>>>>> ---------------- >>>>>> Regards >>>>>> Sampad >>>>>> >>>>>> >>>>>> Regards >>>>>> Sampad Kumar Saha >>>>>> Mathematics and Computing >>>>>> I.I.T. Kharagpur >>>>>> >>>>>> On Tue, Mar 22, 2016 at 2:33 AM, Jason Moore <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> I've put some comments in your proposal. >>>>>>> >>>>>>> >>>>>>> Jason >>>>>>> moorepants.info >>>>>>> +01 530-601-9791 >>>>>>> >>>>>>> On Sat, Mar 19, 2016 at 10:58 AM, SAMPAD SAHA <[email protected] >>>>>>> > wrote: >>>>>>> >>>>>>>> Jason, >>>>>>>> >>>>>>>> Actually I have misunderstood earlier. >>>>>>>> >>>>>>>> I have updated my proposal here >>>>>>>> <https://github.com/sympy/sympy/wiki/GSoC-2016-Application-Sampad-Kumar-Saha-:-Singularity-Functions> >>>>>>>> . >>>>>>>> Can you please review it and suggest me to improve it. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Regards >>>>>>>> Sampad Kumar Saha >>>>>>>> Mathematics and Computing >>>>>>>> I.I.T. Kharagpur >>>>>>>> >>>>>>>> On Sat, Mar 19, 2016 at 9:14 PM, Jason Moore <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> I don't think we should do "a hack". If we follow the patterns in >>>>>>>>> the integration code, we should leave the constants of integration >>>>>>>>> off. But >>>>>>>>> in the Beam classes you can have them manage the constants of >>>>>>>>> integration. >>>>>>>>> What you show above looks fine. >>>>>>>>> >>>>>>>>> I didn't mean to use dsolve in any way. I just meant to have a >>>>>>>>> look at that code because they include constants of integration when >>>>>>>>> you >>>>>>>>> solve the ode. You can also set the boundary conditions in the >>>>>>>>> constructor. >>>>>>>>> It can give you ideas of how to design your api. >>>>>>>>> >>>>>>>>> >>>>>>>>> Jason >>>>>>>>> moorepants.info >>>>>>>>> +01 530-601-9791 >>>>>>>>> >>>>>>>>> On Sat, Mar 19, 2016 at 8:27 AM, SAMPAD SAHA < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Jason, >>>>>>>>>> >>>>>>>>>> I went through the ode package. I felt that it would be difficult >>>>>>>>>> to use boundary condition to solve for the constants of integration >>>>>>>>>> using >>>>>>>>>> the exisiting *dsolve() *method. It seems that it is still under >>>>>>>>>> development. >>>>>>>>>> >>>>>>>>>> So I thought of implementing that functionality explicitly for >>>>>>>>>> solving beam problems. >>>>>>>>>> >>>>>>>>>> I would be taking Boundary conditions as input as: >>>>>>>>>> >>>>>>>>>> *bcs = Beam.BoundaryCondition( {f(0) : 5, f.diff(0) : 4 } )* and >>>>>>>>>> so on. >>>>>>>>>> >>>>>>>>>> If nothing is provided then *f(0) != 0 , f.diff(0) = 0 *or >>>>>>>>>> something like this would be assumed. >>>>>>>>>> >>>>>>>>>> Depending on this boundary condition I would add the required >>>>>>>>>> constants by myself while finding the slope and deflection function >>>>>>>>>> and >>>>>>>>>> output the value by solving for those constants. >>>>>>>>>> >>>>>>>>>> By this way, the hack would be easier. What do you suggests? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Regards >>>>>>>>>> Sampad Kumar Saha >>>>>>>>>> Mathematics and Computing >>>>>>>>>> I.I.T. Kharagpur >>>>>>>>>> >>>>>>>>>> On Sat, Mar 19, 2016 at 7:17 AM, SAMPAD SAHA < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Yah, you are right . We should not have the name simplify() as a >>>>>>>>>>> method since it have already created some issues in #7716 >>>>>>>>>>> <https://github.com/sympy/sympy/issues/7716> and #8798 >>>>>>>>>>> <https://github.com/sympy/sympy/issues/8798>. So i will keep it >>>>>>>>>>> as *to_piecewise()* . it would be fine then. >>>>>>>>>>> >>>>>>>>>>> As you suggested I will be look at ode package for this constant >>>>>>>>>>> of integration thing. >>>>>>>>>>> >>>>>>>>>>> Thank You... >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Regards >>>>>>>>>>> Sampad Kumar Saha >>>>>>>>>>> Mathematics and Computing >>>>>>>>>>> I.I.T. Kharagpur >>>>>>>>>>> >>>>>>>>>>> On Sat, Mar 19, 2016 at 7:07 AM, Jason Moore < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Simplification means something very specific in SymPy, see the >>>>>>>>>>>> simplify() function. I think you need to choose a different method >>>>>>>>>>>> name for >>>>>>>>>>>> converting to piecewise continuous. Maybe: .to_piecewise()? >>>>>>>>>>>> >>>>>>>>>>>> You will need to implement some method for dealing with the >>>>>>>>>>>> constants of integration and boundary conditions. Maybe you should >>>>>>>>>>>> have a >>>>>>>>>>>> look at the ordinary differential equations package in SymPy to >>>>>>>>>>>> get some >>>>>>>>>>>> ideas about that. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Jason >>>>>>>>>>>> moorepants.info >>>>>>>>>>>> +01 530-601-9791 >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Mar 18, 2016 at 4:04 PM, SAMPAD SAHA < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Thank You Jason for the appreciation. >>>>>>>>>>>>> >>>>>>>>>>>>> Yah, that *Simplify * method would convert into continous >>>>>>>>>>>>> piecewise. Like this :- >>>>>>>>>>>>> >>>>>>>>>>>>> In [ ] : F = singularityFunc(x, 0, 1) + singularityFunc(x, >>>>>>>>>>>>> 3, 2) >>>>>>>>>>>>> >>>>>>>>>>>>> In [ ] : F >>>>>>>>>>>>> Out [ ] : >>>>>>>>>>>>> 2 >>>>>>>>>>>>> <x> + <x - 3> >>>>>>>>>>>>> >>>>>>>>>>>>> In [ ] : F.simplify() >>>>>>>>>>>>> Out [ ] : >>>>>>>>>>>>> >>>>>>>>>>>>> 0 for x < 0 >>>>>>>>>>>>> x for 0 <= x < 3 >>>>>>>>>>>>> x + (x-3)^2 for x >= 3 >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> As you have suggested earlier, I have solved some examples by >>>>>>>>>>>>> hand and then tried to implement a desired api. From that I came >>>>>>>>>>>>> to this >>>>>>>>>>>>> conclusion that if we implement Addition, Substraction, >>>>>>>>>>>>> Integration, Differentiation, Simplify on Singularity Functions >>>>>>>>>>>>> then we can >>>>>>>>>>>>> successfully solve out the beam problems. >>>>>>>>>>>>> >>>>>>>>>>>>> But i got doubt while implementing the boundary constants. I >>>>>>>>>>>>> mean to say that sympy dont gives constant of integration while >>>>>>>>>>>>> doing >>>>>>>>>>>>> indefinite integration. We can take boundary conditions as input >>>>>>>>>>>>> from users >>>>>>>>>>>>> that is not a problem, but we cant use it since there will be no >>>>>>>>>>>>> constant >>>>>>>>>>>>> of integration. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Regards >>>>>>>>>>>>> Sampad Kumar Saha >>>>>>>>>>>>> Mathematics and Computing >>>>>>>>>>>>> I.I.T. Kharagpur >>>>>>>>>>>>> >>>>>>>>>>>>> On Sat, Mar 19, 2016 at 4:07 AM, Jason Moore < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Sounds like a good start. How about a method to convert to >>>>>>>>>>>>>> continuous piecewise? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Like I said earlier, you should pick some examples that you >>>>>>>>>>>>>> want the software to be able to solve and then implement methods >>>>>>>>>>>>>> and >>>>>>>>>>>>>> functionality based on those examples. It's hard to think of all >>>>>>>>>>>>>> the needed >>>>>>>>>>>>>> functionality and API without motivating examples first. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Jason >>>>>>>>>>>>>> moorepants.info >>>>>>>>>>>>>> +01 530-601-9791 >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Fri, Mar 18, 2016 at 10:27 AM, SAMPAD SAHA < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Jason, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I have thought of implementing Addition, Substraction, >>>>>>>>>>>>>>> Integration, Differentiation, Simplify on Singularity Functions. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> What are the other functionalities we should implement? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Regards >>>>>>>>>>>>>>> Sampad Kumar Saha >>>>>>>>>>>>>>> Mathematics and Computing >>>>>>>>>>>>>>> I.I.T. Kharagpur >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Fri, Mar 18, 2016 at 8:16 PM, SAMPAD SAHA < >>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Yah you are correct. Differentiation of heaviside and >>>>>>>>>>>>>>>> diracdelta also exists. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> It was my mistake. Thanks for rectifying me. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Regards >>>>>>>>>>>>>>>> Sampad Kumar Saha >>>>>>>>>>>>>>>> Mathematics and Computing >>>>>>>>>>>>>>>> I.I.T. Kharagpur >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Fri, Mar 18, 2016 at 8:02 PM, Tim Lahey < >>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> For differentiation you’re missing a case, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> if n = 0 or n = -1 >>>>>>>>>>>>>>>>> return Singularity(x, a, n-1) >>>>>>>>>>>>>>>>> else if n < -1 >>>>>>>>>>>>>>>>> return error >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> In other words, you can still differentiate for the n = 0 >>>>>>>>>>>>>>>>> and n = -1 cases. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Cheers, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Tim. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> > On Mar 18, 2016, at 10:22 AM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > And what about the pseudocode of integration and >>>>>>>>>>>>>>>>> differentiation i have posted earlier , is it alright? >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > Regards >>>>>>>>>>>>>>>>> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> > Mathematics and Computing >>>>>>>>>>>>>>>>> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > On Fri, Mar 18, 2016 at 7:51 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> > Thanks Tim, >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > It is really a nice and effective solution. >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > Regards >>>>>>>>>>>>>>>>> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> > Mathematics and Computing >>>>>>>>>>>>>>>>> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > On Fri, Mar 18, 2016 at 7:46 PM, Tim Lahey < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> > Add the constants when you integrate in your beam class. >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > On 2016-03-18, at 10:12 AM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> >> Thanks TIm, >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> Integration and Differentiation are really very >>>>>>>>>>>>>>>>> straight forward that is why i am thinking to add diff and >>>>>>>>>>>>>>>>> integrate method >>>>>>>>>>>>>>>>> to the Singularity function class itself. >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> For integrate the pseuesocode will be :- >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> if(n<0) >>>>>>>>>>>>>>>>> >> return SingularityFunction(x , a, n+1) >>>>>>>>>>>>>>>>> >> else >>>>>>>>>>>>>>>>> >> return (1/n+1 * SingularityFunction(x , a, n+1)) >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> Similarly for differentiation: >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> if (n>0) >>>>>>>>>>>>>>>>> >> return n * SingularityFunction(x , a, n - 1) >>>>>>>>>>>>>>>>> >> else >>>>>>>>>>>>>>>>> >> Error message >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> My doubt regarding Boundary condition was actually was >>>>>>>>>>>>>>>>> that since sympy don't provide constant of integration while >>>>>>>>>>>>>>>>> performing >>>>>>>>>>>>>>>>> indefinite integration on any expression, how to use the >>>>>>>>>>>>>>>>> boundary >>>>>>>>>>>>>>>>> conditions to find the exact values of constant of >>>>>>>>>>>>>>>>> integration? >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> Regards >>>>>>>>>>>>>>>>> >> Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> Mathematics and Computing >>>>>>>>>>>>>>>>> >> I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> On Fri, Mar 18, 2016 at 6:09 PM, Tim Lahey < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> Hi, >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> Do you know the integration and differentiation rules >>>>>>>>>>>>>>>>> for singularity functions? They’re pretty straightforward. >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> As for boundary conditions, the beam will have supports >>>>>>>>>>>>>>>>> (or a free end) at each end of the beam and as part of the >>>>>>>>>>>>>>>>> beam creation >>>>>>>>>>>>>>>>> each end type is specified. Each type corresponds to a >>>>>>>>>>>>>>>>> specific set of >>>>>>>>>>>>>>>>> conditions on that end (either at x=0 or x=L). You substitute >>>>>>>>>>>>>>>>> those >>>>>>>>>>>>>>>>> conditions in the appropriate equation and solve for the >>>>>>>>>>>>>>>>> integration >>>>>>>>>>>>>>>>> constant as necessary. All of the conditions should be in any >>>>>>>>>>>>>>>>> decent >>>>>>>>>>>>>>>>> mechanics of deformable solids text book. >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> You’ll want to do sums of forces and moments as well to >>>>>>>>>>>>>>>>> solve for reaction forces as well. >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> The only trick is making sure you don’t double count >>>>>>>>>>>>>>>>> things. If you have a step function due to a reaction force >>>>>>>>>>>>>>>>> at the start of >>>>>>>>>>>>>>>>> the beam and assume it’s zero at x=0 (effectively the limit >>>>>>>>>>>>>>>>> at x=0^-) you >>>>>>>>>>>>>>>>> can get a non-zero integration constant that can be double >>>>>>>>>>>>>>>>> counting that >>>>>>>>>>>>>>>>> reaction since at x=0^+ that reaction force is non-zero. Note >>>>>>>>>>>>>>>>> that you can >>>>>>>>>>>>>>>>> get a non-zero integration constant (even when including >>>>>>>>>>>>>>>>> reaction forces in >>>>>>>>>>>>>>>>> the loading function) for shear and moment equations if you >>>>>>>>>>>>>>>>> have >>>>>>>>>>>>>>>>> non-polynomial loads (e.g., sine and cosine). You’ll also >>>>>>>>>>>>>>>>> have to think >>>>>>>>>>>>>>>>> about the other end as well. I leave it up to you to reason >>>>>>>>>>>>>>>>> that out. Make >>>>>>>>>>>>>>>>> sure you completely document how you’ve implemented it for >>>>>>>>>>>>>>>>> the user (and >>>>>>>>>>>>>>>>> why). >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> Beam coordinate systems must start at the left end and >>>>>>>>>>>>>>>>> increase to the right. The definition of the singularity >>>>>>>>>>>>>>>>> functions require >>>>>>>>>>>>>>>>> this. >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> I hope this helps. >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> Cheers, >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> Tim. >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> > On Mar 18, 2016, at 8:17 AM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > I am also confused about implementing the boundary >>>>>>>>>>>>>>>>> conditions for getting the deflection curve. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Any suggestions on how to implement it. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Fri, Mar 18, 2016 at 5:36 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > Yah, you are right multiplication of singularity >>>>>>>>>>>>>>>>> functions are not needed for solving beam problems. >>>>>>>>>>>>>>>>> Mathematically, it is >>>>>>>>>>>>>>>>> also not used that much. So lets leave this multiplication >>>>>>>>>>>>>>>>> and powers part. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > I was thinking about the integrate and diff methods. >>>>>>>>>>>>>>>>> I feel that we should define instance methods diff and >>>>>>>>>>>>>>>>> integrate in the >>>>>>>>>>>>>>>>> singularity function module which would internally use the >>>>>>>>>>>>>>>>> existing diff >>>>>>>>>>>>>>>>> and integrate function for Differentiation and Integration >>>>>>>>>>>>>>>>> respectively. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > I need your suggestions. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Fri, Mar 18, 2016 at 3:14 AM, Jason Moore < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > I think you need to override the operators. I'm not >>>>>>>>>>>>>>>>> sure if multiplying singularity functions is needed (at least >>>>>>>>>>>>>>>>> for beam >>>>>>>>>>>>>>>>> problems), even if it is mathematically correct, you don't >>>>>>>>>>>>>>>>> have to >>>>>>>>>>>>>>>>> implement it. If it is easy to implement then, sure, do so. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Jason >>>>>>>>>>>>>>>>> >> > moorepants.info >>>>>>>>>>>>>>>>> >> > +01 530-601-9791 >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Thu, Mar 17, 2016 at 1:34 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Jason, >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > For implementing Additon , Multiplication Do we need >>>>>>>>>>>>>>>>> to over ride __mul__ , __add__ these methods inside the class >>>>>>>>>>>>>>>>> SingularityFunction or we can just use simplify for getting >>>>>>>>>>>>>>>>> the results. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > I am really confused. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Fri, Mar 18, 2016 at 1:59 AM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > I was thinking about multiplication of two >>>>>>>>>>>>>>>>> singularity functions. It is possible and it is >>>>>>>>>>>>>>>>> mathematically significant. >>>>>>>>>>>>>>>>> We can implement this too in Sympy. Similarly with powers. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > I need your suggestions. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Wed, Mar 16, 2016 at 9:41 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > Yah , You are right . A software having good >>>>>>>>>>>>>>>>> documentations about all the functionality is preffered more >>>>>>>>>>>>>>>>> over the >>>>>>>>>>>>>>>>> others by the users. I will be spending a good amount of time >>>>>>>>>>>>>>>>> in preparing >>>>>>>>>>>>>>>>> the documentation citing plenty of examples and tutorials. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Here is link to my proposal. I have almost added all >>>>>>>>>>>>>>>>> the things which we have disscussed. I still need to add the >>>>>>>>>>>>>>>>> example and >>>>>>>>>>>>>>>>> many more "TODO"s are left. I am working on those. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Suggestions are welcomed. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Wed, Mar 16, 2016 at 6:18 AM, Jason Moore < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > Looks good. I think you should have plenty of >>>>>>>>>>>>>>>>> examples in the docs. People tend to use software more if the >>>>>>>>>>>>>>>>> docs are top >>>>>>>>>>>>>>>>> notch. So plenty of examples and tutorials will really help. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Jason >>>>>>>>>>>>>>>>> >> > moorepants.info >>>>>>>>>>>>>>>>> >> > +01 530-601-9791 >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Tue, Mar 15, 2016 at 5:25 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > You are right. delta_function.py needs to be >>>>>>>>>>>>>>>>> improved. I will to be using only DiracDelta and Heaviside >>>>>>>>>>>>>>>>> for generating >>>>>>>>>>>>>>>>> almost all the Singularity Functions. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > I was also thinking to complete this project in four >>>>>>>>>>>>>>>>> phases: >>>>>>>>>>>>>>>>> >> > • Improving existiing Functions. >>>>>>>>>>>>>>>>> >> > • Creating Singularity Functions module >>>>>>>>>>>>>>>>> >> > • Creating beam Module >>>>>>>>>>>>>>>>> >> > • Documentation >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Wed, Mar 16, 2016 at 5:44 AM, Jason Moore < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > https://www.python.org/dev/peps/pep-0008/ >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > I think you will need a pure singularity function >>>>>>>>>>>>>>>>> module and then you will need a beam module that utlizes the >>>>>>>>>>>>>>>>> singularity >>>>>>>>>>>>>>>>> function module. You will also likely need to improve the >>>>>>>>>>>>>>>>> discontinuous >>>>>>>>>>>>>>>>> functions that are already in sympy. There are at least three >>>>>>>>>>>>>>>>> layers to >>>>>>>>>>>>>>>>> this in my eyes. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Jason >>>>>>>>>>>>>>>>> >> > moorepants.info >>>>>>>>>>>>>>>>> >> > +01 530-601-9791 >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Tue, Mar 15, 2016 at 5:07 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > Jason >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Pardon please. I couldn't get you by "You will need >>>>>>>>>>>>>>>>> to follow PEP8 for the method and class names". >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > and yah, i also felt that it would be better if i use >>>>>>>>>>>>>>>>> the input and output values of the example problem done by >>>>>>>>>>>>>>>>> hand. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > So , what do you suggest, Would it be better if we >>>>>>>>>>>>>>>>> create a different module ,other than the singularity >>>>>>>>>>>>>>>>> function module, for >>>>>>>>>>>>>>>>> solving beam problems? That module would import the >>>>>>>>>>>>>>>>> singularity function >>>>>>>>>>>>>>>>> module for using them. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Wed, Mar 16, 2016 at 5:22 AM, Jason Moore < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > I think it is a good start. You will need to follow >>>>>>>>>>>>>>>>> PEP8 for the method and class names. But I just want to see >>>>>>>>>>>>>>>>> desired >>>>>>>>>>>>>>>>> functionality. The more you can think up, the better. I would >>>>>>>>>>>>>>>>> suggest doing >>>>>>>>>>>>>>>>> a beam problem by hand and then translating that to a desired >>>>>>>>>>>>>>>>> API. You can >>>>>>>>>>>>>>>>> mock up what you think the inputs and outputs should be for >>>>>>>>>>>>>>>>> that example >>>>>>>>>>>>>>>>> problem. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Jason >>>>>>>>>>>>>>>>> >> > moorepants.info >>>>>>>>>>>>>>>>> >> > +01 530-601-9791 >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Tue, Mar 15, 2016 at 4:46 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > Ok Jason, >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > And what about the API I have posted just before the >>>>>>>>>>>>>>>>> earlier post? >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Any suggestions >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Wed, Mar 16, 2016 at 5:10 AM, Jason Moore < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > The file locations and method class names are just >>>>>>>>>>>>>>>>> fine details that can be worked out later. They are generally >>>>>>>>>>>>>>>>> not important >>>>>>>>>>>>>>>>> for your proposal. Just focus on describing what the future >>>>>>>>>>>>>>>>> modules should >>>>>>>>>>>>>>>>> do. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Jason >>>>>>>>>>>>>>>>> >> > moorepants.info >>>>>>>>>>>>>>>>> >> > +01 530-601-9791 >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Tue, Mar 15, 2016 at 4:36 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > Hi Jason, >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > As I am thinking to create a another module for >>>>>>>>>>>>>>>>> solving especially beam problems (suppose beambending.py) , >>>>>>>>>>>>>>>>> what will be >>>>>>>>>>>>>>>>> its file location? >>>>>>>>>>>>>>>>> >> > Similarly for Singularity Functions (suppose >>>>>>>>>>>>>>>>> singularity_function.py), What will be its location? >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > And what about the names of methods and classes, Can >>>>>>>>>>>>>>>>> I give any name or we will be discussing it at the time of >>>>>>>>>>>>>>>>> developing them? >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > --------------------- >>>>>>>>>>>>>>>>> >> > Regards, >>>>>>>>>>>>>>>>> >> > Sampad >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Wed, Mar 16, 2016 at 3:56 AM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > Thank You Tim and Jason for your suggestions and >>>>>>>>>>>>>>>>> clearing my doubts. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > We can also have an another module for solving beam >>>>>>>>>>>>>>>>> problems. As Jason Have suggested earlier. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Some of its classes would be Beam, DistributedLoad, >>>>>>>>>>>>>>>>> PointLoad, Moment. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > We can have the API as:- >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > from sympy import >>>>>>>>>>>>>>>>> SingularityFunction,Beam,DistributedLoad,PointLoad,Moment >>>>>>>>>>>>>>>>> >> > b = Beam(length = 1, E = 1.87, I = 12) >>>>>>>>>>>>>>>>> >> > Load1 = DistrubutedLoad(start=l/2, end=l, value= 50) >>>>>>>>>>>>>>>>> >> > Load2 = PointLoad(location=l/3, value=60) >>>>>>>>>>>>>>>>> >> > Load3 = Moment(locaton = 1, value = 40, anticlockwise >>>>>>>>>>>>>>>>> = True) >>>>>>>>>>>>>>>>> >> > b.apply(Load1,Load2,Load3) >>>>>>>>>>>>>>>>> >> > b.loadDistribution # Outputs the loading function >>>>>>>>>>>>>>>>> in the form of singularity function >>>>>>>>>>>>>>>>> >> > b.shearForce # Outputs the Shear Force >>>>>>>>>>>>>>>>> Function >>>>>>>>>>>>>>>>> >> > b.bendingMoment # Outputs the bending Moment >>>>>>>>>>>>>>>>> Function >>>>>>>>>>>>>>>>> >> > b.slope # Outputs the Slope Function >>>>>>>>>>>>>>>>> >> > b.deflection # Outputs the deflection >>>>>>>>>>>>>>>>> Function >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > b.plotLoadDistribution # Outputs the plot of load >>>>>>>>>>>>>>>>> Distribution Curve >>>>>>>>>>>>>>>>> >> > b.plotBendingMoment # Outputs the plot of >>>>>>>>>>>>>>>>> Bending Moment Curve >>>>>>>>>>>>>>>>> >> > b.plotDeflection # Outputs the plot of >>>>>>>>>>>>>>>>> Deflection Curve >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Regards >>>>>>>>>>>>>>>>> >> > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > On Wed, Mar 16, 2016 at 2:45 AM, Tim Lahey < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > I agree. One should start directly from the loading >>>>>>>>>>>>>>>>> function q(x). The general steps are: >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > 1. Start with the loading function q(x) >>>>>>>>>>>>>>>>> >> > 2. Integrate to get the shear function V(x). >>>>>>>>>>>>>>>>> >> > 3. Integrate again to get the bending moment function >>>>>>>>>>>>>>>>> M(x). >>>>>>>>>>>>>>>>> >> > 4. Integrate to get the slope function E*I*v’(x). >>>>>>>>>>>>>>>>> >> > 5. Integrate to get the displacement function >>>>>>>>>>>>>>>>> E*I*v(x). >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Note that the singularity functions can be multiplied >>>>>>>>>>>>>>>>> by arbitrary functions of x as well. This allows for varied >>>>>>>>>>>>>>>>> loads and cases >>>>>>>>>>>>>>>>> where E and I vary too. To be strictly correct one should >>>>>>>>>>>>>>>>> include the >>>>>>>>>>>>>>>>> integration constants as well and then solve for the reaction >>>>>>>>>>>>>>>>> forces and >>>>>>>>>>>>>>>>> the constants. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > You’ll need to carefully consider how you handle >>>>>>>>>>>>>>>>> evaluating at transition points, especially the beam >>>>>>>>>>>>>>>>> boundaries. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Cheers, >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > Tim. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > > On Mar 15, 2016, at 4:53 PM, Jason Moore < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > I think you'd want the user to input the loads on >>>>>>>>>>>>>>>>> the beam as singularity functions or some higher level >>>>>>>>>>>>>>>>> abstraction. If you >>>>>>>>>>>>>>>>> require them to manually compute the bending moment then you >>>>>>>>>>>>>>>>> are defeating >>>>>>>>>>>>>>>>> the purpose of having a CAS do it for you. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > Jason >>>>>>>>>>>>>>>>> >> > > moorepants.info >>>>>>>>>>>>>>>>> >> > > +01 530-601-9791 >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > On Sun, Mar 13, 2016 at 2:25 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > > Hi Jason, >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > I have a confusion regarding the user inputs for >>>>>>>>>>>>>>>>> the beam problems. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > I think that we should take only the Bending Moment >>>>>>>>>>>>>>>>> Function (in the form of singularity functions) and the >>>>>>>>>>>>>>>>> boundary conditions >>>>>>>>>>>>>>>>> as inputs. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > I mean to say that generally in a given beam >>>>>>>>>>>>>>>>> bending problem, a diagram of a beam and distributed loads >>>>>>>>>>>>>>>>> are provided. So >>>>>>>>>>>>>>>>> it is not possible to get these data as an user input. Rather >>>>>>>>>>>>>>>>> we can expect >>>>>>>>>>>>>>>>> that the user would formulate the bending moment function, in >>>>>>>>>>>>>>>>> the form of >>>>>>>>>>>>>>>>> Singularity function, and then provide that function as an >>>>>>>>>>>>>>>>> input for >>>>>>>>>>>>>>>>> getting the elastic curve equation. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > Note:- Values of E , I , Boundary Conditions are >>>>>>>>>>>>>>>>> also expected as an input. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > I need your suggestions. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > ----------------- >>>>>>>>>>>>>>>>> >> > > Regards, >>>>>>>>>>>>>>>>> >> > > Sampad >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > Regards >>>>>>>>>>>>>>>>> >> > > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > On Sat, Mar 12, 2016 at 11:50 AM, Aaron Meurer < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > > It should give (-1)**n*f^(n)(0) (that is, >>>>>>>>>>>>>>>>> (-1)**n*diff(f(x), x, n).subs(x, 0)), if I remember the >>>>>>>>>>>>>>>>> formula correctly. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > Aaron Meurer >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > On Fri, Mar 11, 2016 at 9:00 AM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > > Hi Aaron, >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > I have a doubt . >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > Do we want: >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > integrate(f(x)*DiracDelta(x, n), (x, -oo, oo)) >>>>>>>>>>>>>>>>> would output as >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > <image.png> >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > Regards >>>>>>>>>>>>>>>>> >> > > Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > > Mathematics and Computing >>>>>>>>>>>>>>>>> >> > > I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > On Wed, Mar 9, 2016 at 3:11 AM, Aaron Meurer < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > > DiracDelta(x, k) gives the k-th derivative of >>>>>>>>>>>>>>>>> DiracDelta(x) (or you >>>>>>>>>>>>>>>>> >> > > can write DiracDelta(x).diff(x, k)). >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > It does look like the delta integrate routines >>>>>>>>>>>>>>>>> could be improved here, though: >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > In [2]: integrate(f(x)*DiracDelta(x), (x, -oo, oo)) >>>>>>>>>>>>>>>>> >> > > Out[2]: f(0) >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > In [3]: integrate(f(x)*DiracDelta(x, 1), (x, -oo, >>>>>>>>>>>>>>>>> oo)) >>>>>>>>>>>>>>>>> >> > > Out[3]: >>>>>>>>>>>>>>>>> >> > > ∞ >>>>>>>>>>>>>>>>> >> > > ⌠ >>>>>>>>>>>>>>>>> >> > > ⎮ f(x)⋅DiracDelta(x, 1) dx >>>>>>>>>>>>>>>>> >> > > ⌡ >>>>>>>>>>>>>>>>> >> > > -∞ >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > Since the integration rules for derivatives of >>>>>>>>>>>>>>>>> delta functions are >>>>>>>>>>>>>>>>> >> > > simple extensions of the rules for the delta >>>>>>>>>>>>>>>>> function itself, this is >>>>>>>>>>>>>>>>> >> > > probably not difficult to fix. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > Aaron Meurer >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > On Mon, Feb 29, 2016 at 3:39 AM, Tim Lahey < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > > > Hi, >>>>>>>>>>>>>>>>> >> > > > >>>>>>>>>>>>>>>>> >> > > > Singularity functions are actually extremely easy >>>>>>>>>>>>>>>>> to implement given that we have a Dirac delta and Heaviside >>>>>>>>>>>>>>>>> functions. >>>>>>>>>>>>>>>>> Assuming that the Dirac delta and Heaviside functions >>>>>>>>>>>>>>>>> properly handle >>>>>>>>>>>>>>>>> calculus, it’s trivial to wrap them for use as singularity >>>>>>>>>>>>>>>>> functions. The >>>>>>>>>>>>>>>>> only thing that will need to be added is the derivative of >>>>>>>>>>>>>>>>> the Dirac delta >>>>>>>>>>>>>>>>> (assuming it’s not already there). I implemented singularity >>>>>>>>>>>>>>>>> functions in >>>>>>>>>>>>>>>>> Maple in less than an afternoon. >>>>>>>>>>>>>>>>> >> > > > >>>>>>>>>>>>>>>>> >> > > > I was a TA for a Mechanics of Deformable Solids >>>>>>>>>>>>>>>>> course about 11 or 12 times and wrote it to help the students >>>>>>>>>>>>>>>>> (as we have a >>>>>>>>>>>>>>>>> site license for Maple). I also wrote a set of lecture notes >>>>>>>>>>>>>>>>> on the topic. >>>>>>>>>>>>>>>>> >> > > > >>>>>>>>>>>>>>>>> >> > > > Cheers, >>>>>>>>>>>>>>>>> >> > > > >>>>>>>>>>>>>>>>> >> > > > Tim. >>>>>>>>>>>>>>>>> >> > > > >>>>>>>>>>>>>>>>> >> > > >> On Feb 26, 2016, at 4:29 PM, SAMPAD SAHA < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> Hi Jason, >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> Thank you for the explanation. It really helped >>>>>>>>>>>>>>>>> me. >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> So, basically we want to start it, firstly, by >>>>>>>>>>>>>>>>> creating a module which would deal with the mathematical >>>>>>>>>>>>>>>>> operations >>>>>>>>>>>>>>>>> performed on Singularity Functions. After this whole module >>>>>>>>>>>>>>>>> is prepared, we >>>>>>>>>>>>>>>>> would focus on how to use this module for solving beam >>>>>>>>>>>>>>>>> problems. Am I >>>>>>>>>>>>>>>>> correct? >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> Can you please explain me in brief that what are >>>>>>>>>>>>>>>>> the mathematical operations we wanted to implement on that >>>>>>>>>>>>>>>>> module? >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> On Friday, February 26, 2016 at 4:54:59 PM >>>>>>>>>>>>>>>>> UTC+5:30, SAMPAD SAHA wrote: >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> Hi, >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> I am Sampad Kumar Saha , an Undergraduate >>>>>>>>>>>>>>>>> Mathematics and Computing Student at I.I.T. Kharagpur. >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> I have gone through the idea page and I am >>>>>>>>>>>>>>>>> interested in working on the project named Singularity >>>>>>>>>>>>>>>>> Function. >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> By going through the Idea, I understood that we >>>>>>>>>>>>>>>>> want to add a package to Sympy which can be used for for >>>>>>>>>>>>>>>>> solving beam >>>>>>>>>>>>>>>>> bending stress and deflection problems using singularity >>>>>>>>>>>>>>>>> function. Am I >>>>>>>>>>>>>>>>> correct? >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> We can by this way:- >>>>>>>>>>>>>>>>> >> > > >> While solving we will be having the moment >>>>>>>>>>>>>>>>> function as an input which we can arrange in the form of >>>>>>>>>>>>>>>>> singularity >>>>>>>>>>>>>>>>> functions and then integrate it twice to get the deflection >>>>>>>>>>>>>>>>> curve and we >>>>>>>>>>>>>>>>> can give the plot or the equation obtained of deflection >>>>>>>>>>>>>>>>> curve as an output. >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> I have gone through some documents available on >>>>>>>>>>>>>>>>> internet which have brief studies on solving beam bending >>>>>>>>>>>>>>>>> stress and >>>>>>>>>>>>>>>>> deflection problems using singularity functions. >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> References:- >>>>>>>>>>>>>>>>> >> > > >> • Beam Deflection By Discontinuity >>>>>>>>>>>>>>>>> Functions. >>>>>>>>>>>>>>>>> >> > > >> • Beam Equation Using Singularity >>>>>>>>>>>>>>>>> Functions. >>>>>>>>>>>>>>>>> >> > > >> • Enhanced Student Learning in Engineering >>>>>>>>>>>>>>>>> Courses with CAS Technology. >>>>>>>>>>>>>>>>> >> > > >> Since there is just a brief idea given in the >>>>>>>>>>>>>>>>> idea page, I have a doubt that what are the things other than >>>>>>>>>>>>>>>>> solving beam >>>>>>>>>>>>>>>>> bending stress and deflection problems to be implemented in >>>>>>>>>>>>>>>>> the project? >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> Any type of suggestions are welcome. >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> ========================================================================================================================================== >>>>>>>>>>>>>>>>> >> > > >> Regards >>>>>>>>>>>>>>>>> >> > > >> Sampad Kumar Saha >>>>>>>>>>>>>>>>> >> > > >> Mathematics and Computing >>>>>>>>>>>>>>>>> >> > > >> I.I.T. Kharagpur >>>>>>>>>>>>>>>>> >> > > >> >>>>>>>>>>>>>>>>> >> > > >> -- >>>>>>>>>>>>>>>>> >> > > >> 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 post to this group, send email to >>>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>>> >> > > >> 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/7cbe2101-fd59-484b-9e25-f563636d6366%40googlegroups.com >>>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>>> >> > > >> For more options, visit >>>>>>>>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>>>>>>>> >> > > > >>>>>>>>>>>>>>>>> >> > > > -- >>>>>>>>>>>>>>>>> >> > > > 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 post to this group, send email to >>>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>>> >> > > > 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/1795A385-4AEA-44FD-BEE8-8115D53DA14B%40gmail.com >>>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>>> >> > > > For more options, visit >>>>>>>>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > -- >>>>>>>>>>>>>>>>> >> > > 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 post to this group, send email to >>>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>>> >> > > 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/CAKgW%3D6JiW6zhx%3DcTahjcugKaR3jOTrYOnFJWYRr-%2BNiS-2zcLQ%40mail.gmail.com >>>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>>> >> > > For more options, visit >>>>>>>>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > -- >>>>>>>>>>>>>>>>> >> > > 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 post to this group, send email to >>>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>>> >> > > 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/CANzav4HrH7YbrOm4%3D9s2%2BHevCnCv4vz1RbuU%2BZWwLWLnCZpbcw%40mail.gmail.com >>>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > For more options, visit >>>>>>>>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > -- >>>>>>>>>>>>>>>>> >> > > 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 post to this group, send email to >>>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>>> >> > > 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/CAKgW%3D6KrEOoZ-CvGJ_HTBVSpTLVkW6geUfvXdP8GAiBNO4y8qQ%40mail.gmail.com >>>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > For more options, visit >>>>>>>>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > -- >>>>>>>>>>>>>>>>> >> > > 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 post to this group, send email to >>>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>>> >> > > 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/CANzav4EeosCsLaP55dwMpKxOxBkGhW6ZAkeCQiSvQnXtieU6PQ%40mail.gmail.com >>>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > For more options, visit >>>>>>>>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > >>>>>>>>>>>>>>>>> >> > > -- >>>>>>>>>>>>>>>>> >> > > 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 post to this group, send email to >>>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>>> >> > > 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/CAP7f1AjHOvGfvxRfOTy2RhRm3YnNc_eJ9OpjBOain6iK15chMA%40mail.gmail.com >>>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>>> >> > > For more options, visit >>>>>>>>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>>>>>>>> >> > >>>>>>>>>>>>>>>>> >> > -- >>>>>>>>>>>>>>>>> >> > 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 post to this group, send email to >>>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>>> >> > 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/B66DECFB-0205-41DC-A09D-342BBDF6FAC4%40gmail.com >>>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>>> >> > For more options, visit >>>>>>>>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > -- 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 post to this group, send email to [email protected]. 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/CANzav4EYhjXG10g5L3rxAy9B3jwyU7yLznUx6v4DQchoyJ-YcQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
