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.

Your help is much appreciated!

There is a VTK-numpy bridge which is documented on the wiki. I don't recall exactly where but I'm sure a search engine will find it for you.

        David

On Wed, Mar 23, 2011 at 4:45 PM, David Thompson <dcth...@sandia.gov> wrote:

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()

I assume you're talking about using Python from ParaView?

Yup, that's exactly what I am doing here.

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.



and just wonder if there are such kind of routines available for Exodus II files.

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?


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?


See the section of this page
 http://www.vtk.org/Wiki/Python_Programmable_Filter
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.

       David


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to