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 <sampadsa...@gmail.com> 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 <moorepa...@gmail.com> 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 <sampadsa...@gmail.com> >> 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 <sampadsa...@gmail.com> >>> 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 <tim.la...@gmail.com> 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 <moorepa...@gmail.com> >>>>> 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 <sampadsa...@gmail.com> >>>>> 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 <asmeu...@gmail.com> >>>>> 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 <sampadsa...@gmail.com> >>>>> 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 <asmeu...@gmail.com> >>>>> 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 <tim.la...@gmail.com> >>>>> 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 <sampadsa...@gmail.com> >>>>> 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 sympy+unsubscr...@googlegroups.com. >>>>> > >> To post to this group, send email to sympy@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/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 sympy+unsubscr...@googlegroups.com. >>>>> > > To post to this group, send email to sympy@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/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 sympy+unsubscr...@googlegroups.com. >>>>> > To post to this group, send email to sympy@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/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 sympy+unsubscr...@googlegroups.com. >>>>> > To post to this group, send email to sympy@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/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 sympy+unsubscr...@googlegroups.com. >>>>> > To post to this group, send email to sympy@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/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 sympy+unsubscr...@googlegroups.com. >>>>> > To post to this group, send email to sympy@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/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 sympy+unsubscr...@googlegroups.com. >>>>> > To post to this group, send email to sympy@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/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 sympy+unsubscr...@googlegroups.com. >>>>> To post to this group, send email to sympy@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/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 sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@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/CAP7f1Ajqax337Z2hCBuAwsz20Yh%2Bpjfh63e14HqU9pQ0LGdapA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.