[Paraview] RungeKutta4 implementation issue
Fred Fred
stan1313 at hotmail.fr
Fri Aug 21 15:01:39 EDT 2009
Yes it helps since I understood there is no bug here, although I still think it would be more useful for users to be able to detect when the integration has gone out of the domain, so as to stop integration one step earlier.
Best regards
Date: Tue, 18 Aug 2009 15:27:15 +0200
From: jbiddiscombe at skippingmouse.co.uk
To: stan1313 at hotmail.fr
CC: zhanping.liu at kitware.com; biddisco at cscs.ch; paraview at paraview.org
Subject: Re: [Paraview] RungeKutta4 implementation issue
My main concern is why does the integrator return 0
instead of OUT_OF_DOMAIN?
Because the (current position inside domain + computed velocity * time)
is returned - this final result is out of domain as you noticed, but
until you pass that new position value back in and ask for the next
point, it doesn't check that the value is in/out.
It checks that the start point, and all intermediate computed points
are inside the domain, but if the final result pops out - then it means
that the final step was too big (or the data was a bit rubbish -
typically when every Nth time step is saved - the courant condition is
no longer satisfied etc etc).
does that help?
JB
Regards
Date: Mon, 17 Aug 2009 10:45:31 -0400
Subject: Re: [Paraview] RungeKutta4 implementation issue
From: zhanping.liu at kitware.com
To: biddisco at cscs.ch
CC: stan1313 at hotmail.fr; paraview at paraview.org
Hi Fred:
As JB suggested, please try using RK45, which employs an
adaptive step size that is insensitive to the velocity magnitude and
hence is capable of capturing accurate shape of the curve (flow line).
Using RK4 (still adopting a fixed step size) does not guarantee a
sufficient / desired acurracy of numerical integration (though
certainly it is better than RK2) since it is stil sensitive to the
velocity magnitude.
Recently we improved the flow line integration accuracy
issue. For any problems, please feel free to let us know.
Thanks.
-Zhanping
--
Zhanping Liu, PhD
Kitware, Inc.
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-371-3971 x 138
http://www.zhanpingliu.org
On Mon, Aug 17, 2009 at 5:06 AM, John
Biddiscombe <biddisco at cscs.ch> wrote:
I suggest you attach a debugger to the code and step through.
Then you'll be able to answer your question.
Since the velocity field of your data may be high, it is entirely
possible that the computed next position is outside of the bounds.
Perhaps reducing the step size will help. Try even Rk4.5 with adaptive
steps, this may help if the velocity gradient at the edge of the domain
is very large..
JB
How is it possible???
double *bds = reader->GetOutput()->GetBounds();
printf("%lf %lf %lf %lf\n", bds[0], bds[1], bds[2], bds[3]);
-> 0.000000 69.000000 0.000000 69.000000
printf("point1[0]=%f point1[1]=%f point1[2]=%f\n", point1[0],
point1[1], point1[2]);
-> point1[0]=58.196274 point1[1]=68.862898 point1[2]=0.000000
if (integrator->ComputeNextStep(point1, point2, 0, delT.Interval,
stepTaken, minStep, maxStep, this->MaximumError, error) != 0)
break;
printf("point2[0]=%f point2[1]=%f point2[2]=%f\n", point2[0],
point2[1], point2[2]);
-> point2[0]=59.002164 point2[1]=69.454414 point2[2]=0.000000
PS: This message should probably be sent to the VTK mailing list but it
seems that it is no longer so active...
Découvrez toutes les possibilités de communication avec vos proches
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
--
John Biddiscombe, email:biddisco @ cscs.ch
http://www.cscs.ch/
CSCS, Swiss National Supercomputing Centre | Tel: +41 (91) 610.82.07
Via Cantonale, 6928 Manno, Switzerland | Fax: +41 (91) 610.82.82
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
Vous voulez savoir ce que vous pouvez faire avec le nouveau
Windows Live ? Lancez-vous !
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
_________________________________________________________________
Téléphonez gratuitement à tous vos proches avec Windows Live Messenger ! Téléchargez-le maintenant !
http://www.windowslive.fr/messenger/1.asp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20090821/d2405fb5/attachment.htm>
More information about the ParaView
mailing list