Hi Utkarsh, Using the script you wrote with the Programmable Filter does the job nicely! Thanks so much for going above and beyond to help me assemble the arrays into a tensor. Programmable Filter never occurred to me and I am now looking forward to exploring Chapter 13 of the Paraview Guide to see what else I can do with it.
Many thanks, Nick Richmond On Wed, Nov 29, 2017 at 9:56 PM, Utkarsh Ayachit < utkarsh.ayac...@kitware.com> wrote: > Nick, > > You can use the *Programmable Filter* instead with something like the > following script as the *Script*: > > > from paraview.vtk.numpy_interface import dataset_adapter as dsa > > import numpy > > def make_tensor(xx,yy,zz, xy, yz, xz): > > t = numpy.vstack([xx,yy,zz,xy, yz, xz]).transpose().view(dsa.VTKArray) > > t.DataSet = xx.DataSet > > t.Association = xx.Association > > return t > > > xx = inputs[0].PointData["sigma_xx"] > > yy = inputs[0].PointData["sigma_yy"] > > zz = inputs[0].PointData["sigma_zz"] > > xy = inputs[0].PointData["sigma_xy"] > > yz = inputs[0].PointData["sigma_yz"] > > xz = inputs[0].PointData["sigma_xz"] > > output.PointData.append(make_tensor(xx,yy,zz,xy,yz,xz), "tensor") > > > Utkarsh > > On Wed, Nov 29, 2017 at 5:01 PM, Nicholas Richmond < > nicholas.richm...@maine.edu> wrote: > >> Greetings, >> >> I have a vtk Polygonal Mesh with six separate arrays (sigma_xx, sigma_yy, >> sigma_zz, sigma_xy, sigma_yz, sigma_xz). I'd like to assemble these into a >> tensor so that I may apply the Tensor Glyph filter. >> >> After reading that the paraview.simple.TensorGlyph >> <https://www.paraview.org/ParaView/Doc/Nightly/www/py-doc/paraview.simple.TensorGlyph.html> >> expects a symmetric tensor with the order XX, YY, ZZ, XY, YZ, XZ, I >> tried to assemble the six separate arrays into a single array with the >> Python Calculator, but have been unsuccessful. >> >> I've tried a variety of approaches, including: >> >> *Expression:* np.array([sigma_xx, sigma_yy, sigma_zz, sigma_xy, >> sigma_yz, sigma_xz]) >> *Array Association:* Point Data >> >> I can make a vector of the normal stresses using the "make_vector" >> function from paraview.vtk.numpy_interface.algorithms, but there is no >> "make_tensor" function to assemble both normal and shear stresses into a >> single symmetric tensor. >> >> Any guidance would be most appreciated. >> Many thanks, >> Nick Richmond >> >> _______________________________________________ >> 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 >> >> Search the list archives at: http://markmail.org/search/?q=ParaView >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/paraview >> >> >
_______________________________________________ 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 Search the list archives at: http://markmail.org/search/?q=ParaView Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/paraview