1
$\begingroup$

We are using Kitware VTK to visualize our models. When we display streamlines, it sometimes happens that a single streamline is left out. This can be especially seen when duplicating a model several times, so that there is a model that has several components that look alike with the same distance between each other. Usually in one of the components close to the middle, a single streamline is missing. I suspect that it is due to an accumulated error in the integration VTK performs. Can it be solved in some way, e.g. by changing the Runge-Kutta method?

$\endgroup$
  • $\begingroup$ It would really help to illustrate your problem with a screenshot. I doubt it has anything to do with RK if you are just using Paraview, but I don't really get what exactly you are doing. $\endgroup$ – Vladimir F Apr 25 '17 at 9:27
  • 1
    $\begingroup$ It would really help to see either screenshots or raw data (VTK files). $\endgroup$ – Anton Menshov Apr 25 '17 at 17:15
1
$\begingroup$

Are you using a program that implements VTK (i.e. ParaView), or are you implementing the RK method yourself? I know that in the ParaView GUI, it's possible to adjust the relative error between the two RK methods, assuming it's some kind of adaptive method like 4/5 Cash-Karp.

If you are implementing your own RK method, I would adjust the error or tolerance. If you are using VTK directly, but not through a GUI like ParaView, you should investigate if the RK method has some API that addresses this issue. For very sensitive systems, adaptive RK methods are very dependent on this tolerance/error value.

| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ We are developing our program using Kitware VTK. So we access the methods of VTK directly. vtkStreamTracer has three built-in integrators, Runge-Kutta-2, Runge-Kutta-4 and Runge-Kutta-45. Unfortunately it does not seem to be possible to use custom-made integrators. $\endgroup$ – Entwickler582 Apr 27 '17 at 6:42
  • $\begingroup$ Well then I would suggest you use Runge-Kutta-45. It's an adaptive RK method, and will give you control on the allowable error between timesteps. That should help you solve your problem. $\endgroup$ – cbcoutinho Apr 27 '17 at 9:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.