| Re: Flow3 procedure and WHERE [message #39484 is a reply to message #39480] |
Sun, 23 May 2004 18:56   |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Adhara writes:
> I updated the program and now I don't have that weird error message.
> Sometimes it helps just logging off and starting again!
Yes, it sometimes helps. This is why this is the *first*
thing a technical support engineer will ask you to do
when you call in. It solves about half the problems
before he even has to do any thinking. :-)
But that said, every time I resort to exiting IDL I
consider it a mortal sin and I head straight for
confession. :-(
> I just sent another message including my updated program because I
> noticed that I am not getting the Sx,Sy,Sz vectors with the values
> that I should. I printed the Sx values and they are just a list of
> numbers from 0 to n, where n coincides with the number of points where
> the velocity is different from zero!
> Do you know how can I define them so that they will only include the
> coordinates at which Vx, Vy and Vz are different from zero?
I have to admit, I am totally confused by your program
and your approach. I would be extremely surprised if it
works. Your three "V" arrays are three dimensional, are
they not? And many of the values are 0. Fair enough. But
you are finding the locations where Vx is not equal to
zero, then the locations where Vy is not equal to zero,
and so forth. While many of these locations will be the
same in all three arrays, presumably, many others will
not. Using your approach you will very likely end up with
three "V" arrays of unequal size. FLOW3 is not going to
like that. :-)
What you want, I think, is where Vx and Vy and Vz are
all three not equal to zero, but then you can still
potentially throw away real data, because surely 0
is a possible vector magnitude. So, I think the
approach is suspect, just from a scientific point
of view.
I've never used FLOW3, but it seems to be a three-
dimensional VELOVECT. Flow lines will be drawn in
the 3D space according to the "forces" a point
source will feel as it moves though the volume.
So probably your "S" vectors are irrelevant to
solving this problem. Eliminating them and allowing
the program to choose random starting coordinates
sounds like a good idea to me. At least I can't
see any obvious benefit from starting the flow
lines on top of the forces the point is suppose
to be feeling, which I take is the gist of your
current approach.
I take it the original problem was that the force
field lines were tiny compared to the volume space.
I believe you concluded this was because the force
vectors were quite small (10^-3 or something, if
I recall). Have you tried just scaling everything
by some factor? Have you tried setting the LEN keyword
to FLOW3?
Or maybe you just need to re-think the entire
problem. Have you tried making stacks of
2D contour plots to see if you can see anything that
way? I don't know which approach might work best.
But I think this one is not heading for a good
result. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
|
|
|
|