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: 1. Improving existiing Functions. 2. Creating Singularity Functions module 3. Creating beam Module 4. 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/CANzav4Ei2VUeftYAyzhdqx9MxrY2W3S6tTvP8EsKwko5E%2B5zTA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
