OK, I guess I set myself up for this. (:-)

>
>1) I find that I'm repeating the name of the file over and over again in
>the header in the form of:
>
>object 3 class array type float rank 0 items 40000
>data file "DipoleWind.040",32
>
>Can I use another object as a kind of short-hand  or macro for the file
>name in quotes?  I've not had much luck playing with this idea. :-(

No. But since you are generating this header file automatically (right?),
why do you care? That is, if you are generating it automatically, it's just
a parameterized value at the point of generating the header file, as if the
shell had already expanded a wildcard. But no, the dx header file must be
explicit, not parameterized. [There are some parameterization tricks
supported by the .general file format, but let's not backslide (and they
can get a bit messy, anyway if you try to do too much).]

>
>2) Does DX "understand" the concept of a vector field such as a velocity
>field or a magnetic field?  If so, how can I tell it to read each
>component of a velocity field into an array object and then collect them
>into a vector field object in a dx header file.

Absolutely. Assuming the data is naturally in discrete blocks (U,V,W),
continue to build fields as you appear to be doing successfully (?) for
scalars. At least 2 options are available, in rough form:
field 0 ("positions", "connections", "data" (the Us))
field 1 ("positions", "connections", "data" (the Vs))
field 2 ("positions", "connections", "data" (the Ws))
group (members: fields 0, 1, 2)
[naturally, you only define the "positions" and "connections" once in the
dx file, then refer to the same object numbers 3 times each]

OR...
field 0 (positions, connections, "U", "V", "W")

No particular reason to use one over the other.

If you do the Group, you Import the dx file (it's a Group), then Select the
fields, each of whom has "data" so you can pipe them all into a
Compute("[a,b,c]") to reconstruct the UVW 3-vectors mapped to the grid (of
arbitrary dimensionality: the positions and vector data are related only by
virtue of a one-to-one mapping of the two "lists", i.e. position 0 carries
UVW 0, etc.)

If you do the Field with 3 "data-like" components, you Mark("U"),
Mark("V"), Mark("W") to get these values into the "data" components of 3
copies (each a field) of the imported Field (3 output wires from Import
feeding 3 parallel Marks), then proceed as above (Compute the joint vector).

>
>3) If so, would it be confused by a 3-D vector field and an essentially
>2-D space?  That is viewing it in the r-z plane of cylindrical coordinates
>(r,phi,z).

You can have 3-vector glyphs based on a 2D grid, and the vectors will be
free to extend into 3 space (DX's world is always 3-space even if you are
visualizing 1 or 2D objects). Or you can project them (like just
Compute("[u,v]") for example).

>
>4) For clindrically symmetric simulations, does it make sense to describe
>to DX that the "connections" are cylindrically symmetric rings?  If so,
>how?  This is equivalent to telling dx that it's positions are not points,
>but circular line elements, which I don't think it'll accept.

Right: points is points, connections is connections. If the connections
happen to form a ring, so be it. That could be done in your definition of
the connections, though there are ways to do it within DX (however, there
are some "special" rules that become involved with vector fields: here the
dimensionality may matter, of the vectors and of the space; let's delay
that discussion until you hit the problem). Put it this way: you can fairly
trivially warp the flat mesh into a cylinder. Joining it toroidally within
DX is not too hard either, though there is a trick involved. I'll wait til
you need to know the trick.

>
>5) I'd like to have some interactive way of selecting which data in a data
>file to view, like choosing density or pressure.  How do I add a
>"selector" to a net to look at and display the names of the objects?  Let
>me guess I should be using print"rd" on the output of the import module?
>I'll go do that right now.

Add a "selector" to a net. (:-). If you have made a Group, you should be
able to run the Import into the Selector input to see the names of the
group members (hint: name the Fields intelligibly in the dx file! object
"U" blah blah, instead of object 1 blah blah). The righthand output of
Selector then feeds the right hand input of Select (the Group feeding the
left hand input of Select).

Print is useful, but only once you've got the right sort of object imported
to have a look at. You might try creating both the above structures, Print
them after Importing and see which is easier for your purposes.

Chris Pelkie
Vice President/Scientific Visualization Producer
Conceptual Reality Presentations, Inc.
30 West Meadow Drive
Ithaca, NY 14850
[EMAIL PROTECTED]
(607) 257-8335 or (607) 254-8794

Reply via email to