[SciPy-User] odeint - Excess work done on this call
Warren Weckesser
warren.weckesser at gmail.com
Wed Oct 15 11:33:11 EDT 2014
On Wed, Oct 15, 2014 at 11:11 AM, nicky van foreest <vanforeest at gmail.com>
wrote:
> Hi,
>
> On 14 October 2014 17:08, Farid Afandiyev <faridafandiyev at gmail.com>
> wrote:
>
>> Hi Nicky,
>>
>> Correct, flow will stop after pressures are equalized. I would like it to
>> stop integration at that point, i.e. after pressure equilibrium is reached
>> odeint should stop calling derivative function.
>>
>
> Ok. I don't know how to stop odeint at a point that you know that
> pressures are the same. BTW, I find it a bit strange that the pressures
> balance in finite time. My intuition tells me that the pressure difference
> should go down like an exponential function. Is all ok in your problem
> formulation, or I am just wrong?
>
>
That's what can happen when the differential equation doesn't satisfy a
Lipschitz condition (http://en.wikipedia.org/wiki/Lipschitz_continuity).
The classic example is dx/dt = x**(1/2). x(t) == 0 is a solution. Other
solutions are parabolas with their vertices on the x axis (i.e. they reach
0 in finite time).
Warren
Nicky
>
>>
>> Thanks,
>>
>> Farid.
>>
>> On Tue, Oct 14, 2014 at 5:05 PM, nicky van foreest <vanforeest at gmail.com>
>> wrote:
>>
>>> Hi Farid,
>>>
>>> Please see below.
>>>
>>> [[ 4.00000000e+03 2.64000000e-01 2.00000000e+03 3.30000000e-01]
>>>> [ 3.49242034e+03 2.30499743e-01 2.20303186e+03 3.63500257e-01]
>>>> [ 3.09580400e+03 2.04323064e-01 2.36167840e+03 3.89676936e-01]
>>>> [ 2.81015098e+03 1.85469965e-01 2.47593961e+03 4.08530035e-01]
>>>> [ 2.63546127e+03 1.73940444e-01 2.54581549e+03 4.20059556e-01]
>>>> [ 2.57173487e+03 1.69734501e-01 2.57130605e+03 4.24265499e-01]
>>>> [ 2.57142857e+03 1.69714286e-01 2.57142857e+03 4.24285714e-01]
>>>>
>>>
>>> It appears that your P1 - P2 = 0 at this line. It might mean that the
>>> pressure in both vessels is the same at that moment in time, and then the
>>> flow should stop, right? So, what should the integrator tell you after
>>> this point in time?
>>>
>>> Nicky
>>>
>>>
>>>> [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
>>>> [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
>>>> [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]
>>>>
>>>>
>>
>> _______________________________________________
>> SciPy-User mailing list
>> SciPy-User at scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-user
>>
>>
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20141015/798afbe1/attachment.html>
More information about the SciPy-User
mailing list