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.
