You should call the method _eval_rewrite_Piecewise. Then you can call it
with expr.rewrite(Piecewise). The advantage here is that this will
automatically work even if it's a subexpression of some larger expression.

Aaron Meurer

On Fri, Mar 18, 2016 at 9:37 PM, 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/CAP7f1AiuP1c2LxKte0%3DEV3BYAb-TYEi1wDBfNXg4E5YV1e64Aw%40mail.gmail.com
> <https://groups.google.com/d/msgid/sympy/CAP7f1AiuP1c2LxKte0%3DEV3BYAb-TYEi1wDBfNXg4E5YV1e64Aw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> 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%3D6KvxC66s-NcVfd3nxvT8i3WUn3JW7YgPD5YxvMfj7kUiQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to