There is a special toolkit, sympy.physics.mechanics (and for beam bending
specifically, the new sympy.physics.continuum_mechanics).

This trick seems mostly harmless, since SymPy treats DiracDelta outside of
integration symbolically (i.e., DiracDelta(x) = 0 if x != 0 and oo if x =
0). As I noted before, by that symbolic definition (a function that is 0
except at a single point), the limit is 0, so things work out. The problem
with treating something like DiracDelta like a normal expression is that
you can't just put it anywhere in an expression and expect it to make sense
(what is sin(DiracDelta(x))?). But for a specialised mechanics toolkit, it
is only going to create expressions that make physical sense (and hence,
mathematical sense with the "shaky" definitions).

Aaron Meurer

On Sun, Aug 14, 2016 at 9:58 AM, Richard Fateman <fate...@gmail.com> wrote:

> I am not familiar with this trick, but just because engineers
> in some area hack together some method that is mathematically
> dubious, doesn't mean it should be introduced as a default in sympy.
> (Maybe it should, maybe it is harmless?)   An example that
> also involves context that sympy would not know about is
> how to deal with certain expressions involving infinity.  E.g.
> is 0*oo  equal to 0  or "indeterminate" ?  what about oo  = oo ?
>
> One way of looking at this may be to build some "mechanics"
> toolkit with such tricks.
>
> RJF
>
>
> On Sunday, August 14, 2016 at 3:12:29 AM UTC-7, SAMPAD SAHA wrote:
>>
>>
>> In Mechanics, while solving beam bending problems, we need to find out
>> the reaction force at first. There is a trick I have learned from Jason.
>> Suppose there is beam of length l, then we at first find the load
>> distribution using variables multiplied by dirac deltas in place of
>> reaction forces. After finding shear force curve and bending moment curve
>> in terms of those variables, we equates them to 0 for x = l+
>>
>> Now for tthis case we have to use the limit.
>>
>> Regards
>> Sampad Kumar Saha
>> Mathematics and Computing
>> I.I.T. Kharagpur
>>
>> On Sun, Aug 14, 2016 at 12:27 PM, Aaron Meurer <asme...@gmail.com> wrote:
>>
>>> I agree that DiracDelta doesn't make sense except under an integral
>>> sign. But as a function that is 0 everywhere except for one point, in a
>>> limit, it can be replaced with 0, which is what SymPy's limit() appears to
>>> be doing.  I am curious how you are ending up with an expression with a
>>> DiracDelta that you need to take a limit of, though.
>>>
>>> Aaron Meurer
>>>
>>> On Sat, Aug 13, 2016 at 8:34 PM, Richard Fateman <fat...@gmail.com>
>>> wrote:
>>>
>>>> Since DiracDelta is a distribution, not a function, and presumably the
>>>> limit program is oriented toward finding limits of analytic functions,
>>>> it would be fairly reasonable for the limit program to not work on
>>>> this kind of expression.  The mathematical context in which DiracDelta
>>>> is
>>>> understood and useful is under an integral sign.
>>>>
>>>> I have not tried sympy on this example, but it seems to me
>>>> that expecting sympy to answer a poorly formulated question
>>>> "correctly"  is not going to reveal a bug in the program.  It
>>>> is "user error".
>>>>
>>>> RJF
>>>>
>>>>
>>>> On Saturday, August 13, 2016 at 5:25:22 AM UTC-7, SAMPAD SAHA wrote:
>>>>>
>>>>> Suppose I want to find the value of f(x) for
>>>>> f(x) = DiracDelta(x - 30) + Heaviside(x) at x = 30+ in sympy. How can
>>>>> we do this?
>>>>>
>>>>> Regards
>>>>> Sampad Kumar Saha
>>>>> Mathematics and Computing
>>>>> I.I.T. Kharagpur
>>>>>
>>>>>
>>>>>
>>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "sympy" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to sympy+un...@googlegroups.com.
>>> To post to this group, send email to sy...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/sympy.
>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>> gid/sympy/CAKgW%3D6JAO7i1f-X6uw-WiiztsV%3DXh2Tt74crv3ULhFKr1
>>> oz2Bg%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/sympy/CAKgW%3D6JAO7i1f-X6uw-WiiztsV%3DXh2Tt74crv3ULhFKr1oz2Bg%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 sympy+unsubscr...@googlegroups.com.
> To post to this group, send email to sympy@googlegroups.com.
> Visit this group at https://groups.google.com/group/sympy.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/sympy/1ca3f3e9-4f9b-4cea-bdcb-5d62f3e8ee44%40googlegroups.com
> <https://groups.google.com/d/msgid/sympy/1ca3f3e9-4f9b-4cea-bdcb-5d62f3e8ee44%40googlegroups.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 sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2BPJkJcu5ZYKixsm7ffS4OrgmgmiXnMA50zKSjZ1RXihw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to