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.

Reply via email to