[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #57471] streamtube.m should use surface object
[Octave-bug-tracker] [bug #57471] streamtube.m should use surface object rather than patch object
Wed, 1 Jan 2020 08:36:00 -0500 (EST)
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
Follow-up Comment #2, bug #57471 (project octave):
I did a detailed check because the function was more of a quick shot used for
validation of other stream code. There are several issues.
1.) Matlab offers a second option for calling the function (unimplemented):
streamtube (verts, x, y, z, div)
Based on the current algorithm used, the vector field strength would have to
be specified additionally. The reason is as follows: What you currently get in
octave is an approximation of the formal definition of a streamtube. This is a
set of streamlines that run through a closed contour (see e.g. Batchelor -
Introduction to Fluid Dynamics). In Matlab, a tube is plot along a streamline
and the tube diameter is modulated by the divergence. This approach is
Looking ahead, I see two options: Keep the code (show the flow expansion) and
possibly add the missing interface, including the additional "speed"
parameter. Or if Matlab compatibility rules, discard the code to continue with
a new algorithm (= draw a tube scaled with a scalar). Please let me know your
thoughts or let me know if further explanations are required.
2.) Continuing with the cleanup that started in f2b89a2e20b6
3.) Fix the plot method (surface instead of patch) and also fix an incorrect
color bar setting
4.) If a singularity is hit prematurely the code must continue instead of
exiting. The tube radius must also depend on the size of the plot object
instead of the cell size.
For issues 2+3+4 i have already prepared different patches but depending on
the decision on 1 they may become obsolet.
Reply to this item at:
Message sent via Savannah
- [Octave-bug-tracker] [bug #57471] streamtube.m should use surface object rather than patch object,