[Paraview] Maybe a silly question?
wastrel at gmail.com
wastrel at gmail.com
Wed Mar 23 23:50:25 EDT 2011
Thanks David, I made a programmable filter and got it running. It works.
Now I have a new question, how to get a point_data array from a ex2 object?
For vtk object, I know I can fetch it to local, like
from paraview.simple import servermanager as sm
data=sm.Fetch(reader)
Then there is data.GetPointData().GetArray(). But I could not find such
routines when I tried to do the same to ex2 object.
Any idea?
On Wed, Mar 23, 2011 at 5:01 PM, David Thompson <dcthomp at sandia.gov> wrote:
> 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 <dcthomp at 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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20110323/d7ce2959/attachment.htm>
More information about the ParaView
mailing list