Thanks again, and I took a look on the programmable filter code. In my case the block consists of more than 1 million tetrahedrons and it will be time consuming to run iterations. Is there a way that I can export the cells and their corresponding point information to a numpy array? The ultimate goal is to calculate the volume of each tetrahedron.<div>
<br></div><div>Your help is much appreciated!</div><div><br></div><div>Ken<br><br>
<br><br><div class="gmail_quote">On Wed, Mar 23, 2011 at 4:45 PM, David Thompson <span dir="ltr"><<a href="mailto:dcthomp@sandia.gov">dcthomp@sandia.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I have an Exodus II type file loaded into Paraview and trying to get the point ID for a group of cells. I know for vtk type object there are functions like GetCell(), GetPoint()<br>
<br>
</blockquote>
I assume you're talking about using Python from ParaView?<br>
</blockquote>
<br>
Yup, that's exactly what I am doing here.<br>
</blockquote>
<br></div>
There are 2 ways to use Python in ParaView: writing a programmable filter and scripting the user interface. The former is evaluated on the server where you can get access to (at least a portion of) the actual dataset. The latter is evaluated on the client, which does not have access to the datasets -- instead it has proxy objects that send messages to the servers, telling them what to do. So, you can access the points and cells from within a programmable filter, but not from within a client-side script.<div class="im">
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
and just wonder if there are such kind of routines available for Exodus II files.<br>
<br>
</blockquote>
Yes, the ExodusII reader outputs VTK objects in a multiblock dataset. You can use GetCell(), GetPoint(), and such on each individual block... you just have to decide on a particular block. The ExodusII reader separates things into blocks because each one may have different point and/or cell variables. There are actually 2 levels of blocks; the top level segregates datasets into groups that correspond to exodus blocks vs. sets. The second level breaks individual blocks or sets into separate datasets. Does that help?<br>
<br>
</blockquote>
<br>
I am new in dealing with ex2 file, could you please be detailed? There is just one block in the dataset, so how to get the vtk object out from it so I can access the points and cells?<br>
</blockquote>
<br>
<br></div>
See the section of this page<br>
<a href="http://www.vtk.org/Wiki/Python_Programmable_Filter" target="_blank">http://www.vtk.org/Wiki/Python_Programmable_Filter</a><br>
named "Dealing with Composite Datasets". It describes how to iterate over all of the blocks in the dataset and run a function (in this case, one named "flatten") on each block.<br><font color="#888888">
<br>
David<br>
</font></blockquote></div><br></div>