We have this *_eval_rewrite_as_Piecewise()  *method defined in *Heaviside*
Class.
But How can we call it or use this implemented functionality from terminal?



Regards
Sampad Kumar Saha
Mathematics and Computing
I.I.T. Kharagpur

On Fri, Mar 25, 2016 at 2:00 AM, SAMPAD SAHA <[email protected]> wrote:

> Hi Aaron,
>
> Pardon Please. I am bit confused. Are you taking about the "*Piecewise
> Representation*" that I have mentioned in Phase I ?
>
>
>
>
>
> Regards
> Sampad Kumar Saha
> Mathematics and Computing
> I.I.T. Kharagpur
>
> On Fri, Mar 25, 2016 at 12:00 AM, Aaron Meurer <[email protected]> wrote:
>
>> 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/CANzav4FA_sJ8_EeR89dj0fv9UC4k%2BSrqL5B8M63E5jdEvkmazA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to