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.

Reply via email to