Chris,

Thanks.

> BTW, what group are you in at Rochester?
I work with prof. Adam Frank the the Physics and Astronomy dept.  I'm  
working on magnetohydrodynamic models of outflows from young stars and  
dying stars (planetary nebulae).
 
I tried your method below, but immediately ran into trouble.  The first
and I'm afraid most difficult problem is that my data are connection
dependent rather than position dependent.  Moreover, I'm not sure I
understand how this will work.  I have essentially a 2-D data set in (r,z)
which I want to map to a cylindrically symmetric 3-D data set in
(r,phi,z).  If I understand what is described below, I would be doing
essentially what is done in the sample "WarpingPositions.net" in which a
2-D finite open topolgy sheet is deformed into a closed topology cylinder.
The trick you describe below is, if I understand it, just taking apart the
surface and putting it back together, this time joined.

I think this differs from what I want to do which is to essentially
describe to DX how I want it to embed a 2-D data set into a 3-D space;
should the connections be 2-D squares or 3-D finite cylinders.

I fear that I'm pushing against one of the fundamental ideas of the data
model; i.e. that connections are 2-D Euclidian surfaces which connect
points.

So I think this is the question.  Is it possible to describe a solid 3-D
ring with bounding surfaces which are given by r,z = constants in
cylindrical (r,phi,z) coordinates without having to describe it as being
made up of a bunch of small triangular or quadrilateral surfaces?  If so,
how does one tell DX that connections should be made up of these rings,
rather than 2-D squares in my case.

Many Thanks,
Tom

On Tue, 20 Jun 2000, Chris Pelkie wrote:

>Wrapping the cylinder (since I'm also teaching a virtual workshop on
>OpenDX here at Cornell right now, I just answered this same question
>last week, so here's the cut and paste answer):
>
><bold>Q:</bold>
>In paragraph 2 of page 229 of the DX users guide, reference is made to
>the ability to warp grids from cartesian to cylindrical coordinates. I
>have attempted this previously. A nasty side effect is that streamlines
>do not recognize the periodicity of this warp and will terminate at the
>theta=2pi boundary. I see that this is a lack of connections. Is there
>a simple way to create these connections without having to hack them
>into each point on the periodic boundary? 
>
>
><bold>A:</bold> Assuming the grid is regular, you do the following: 
>
>
>1.     Slab the grid in the appropriate dimension with position="(all)",
>thickness=0; this creates a Series (of thin slices) 
>
>2.     In parallel, Slab the grid in the appropriate dimension with
>position=0, thickness=0; this makes a single slice ("first" edge) 
>
>3.     Structuring Append: put the Series into the "input" and the single
>slice into the first "object" input; make up a bogus "id"; Append
>attaches the "first" edge slice at the end of the Series, thus adjacent
>to the "last" edge 
>
>4.     Stack; this makes connections between all slices in the new longer
>Series 
>
>
>The mesh is now toroidally continuous in that dimension. Warp the mesh.
>Streamlines should pass through the "join" without problems. 
>
>
>Slab only works on regular meshes, so if it's irregular, you do it the
>hard way, connection by connection (no help from DX). 
>
>
>I did the above from memory, so if there's any problem, let us know. 
>
>
></fontfamily>And credit where due: I first learned the Slab/Append
>trick from Greg Abram, our fearless and benevolent code czar for OpenDX
>(and one of the original DX codemonkeys).
>
>
>The problem is that Streamlines can only be made through a 2D vector
>field mapped to 2D positions, or 3D vectors on 3D positions (read
>Streamline Help for more detail).

Reply via email to