<div dir="ltr"><div><div><div><div>Hi Dennis,<br><br>I took a look at the filter to see what might be wrong, but I seem to be missing a couple of things:<br><br></div>1) Are you using the "Copy Arrays" option of the programmable filter? Otherwise you will need to reference the input data as well.<br>
<br></div>2) Where are the P1,P2,P3, etc vectors created? What type are they?<br></div><div><br></div><div>The below script worked for me if Copy Arrays is enabled. I used the can.ex2 example dataset from paraview and ensured the "Object Ids" cell data was selected in the reader.<br>
</div><div><br>
<p style="margin:0px;text-indent:0px">for oblock in output:</p>
<p style="margin:0px;text-indent:0px"> oid = oblock.CellData['ObjectId']</p>
<p style="margin:0px;text-indent:0px"> o2 = oid + 10</p>
<p style="margin:0px;text-indent:0px"> oblock.CellData.append(o2, 'newdata')</p><br></div>Hope that helps<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 4, 2014 at 3:21 PM, Dennis Conklin <span dir="ltr"><<a href="mailto:dennis_conklin@goodyear.com" target="_blank">dennis_conklin@goodyear.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr" style="font-size:14pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<p>I have the following script for a Paraview Programmable filter:<br>
</p>
<p><br>
</p>
<div>import math</div>
<div>import numpy</div>
<div><br>
</div>
<div>#</div>
<div># Gdyr_Principal_Strains_ProgFilter</div>
<div># Rev 0</div>
<div># Aug 1, 2014</div>
<div># Dennis Conklin - Engineering Mechanics</div>
<div># </div>
<div># Paraview 4.0.1 Progammable Filter</div>
<div># Adds Cell Variables:</div>
<div># Principal Strains: str_P1, str_P2, str_P3</div>
<div># max shear strain: tau_max</div>
<div># These can be used for coloring, Spreadsheet view, formulas, threshold, etc</div>
<div>#</div>
<div>def process_block(block):</div>
<div> #</div>
<div> # Global coordinate strains</div>
<div> # Assume strains loaded in Paraview</div>
<div> xx = block.CellData['USTRTOTXX']</div>
<div> yy = block.CellData['USTRTOTYY']</div>
<div> zz = block.CellData['USTRTOTZZ']</div>
<div> xy = block.CellData['USTRTOTXY']</div>
<div> xz = block.CellData['USTRTOTZX']</div>
<div> yz = block.CellData['USTRTOTYZ']</div>
<div><br>
</div>
<div> for i in range(block.GetNumberOfCells()</div>
<div> sigma = numpy.array([ [xx[i],xy[i],xz[i]],</div>
<div> [xy[i],yy[i],yz[i]],</div>
<div> [xz[i],yz[i],zz[i]]</div>
<div> ])</div>
<div><br>
</div>
<div> # isotropic strain matrix</div>
<div> iso = 1.0/3.0*numpy.trace(sigma)*numpy.eye(3)</div>
<div> # deviatoric strain matrix</div>
<div> dev = sigma - iso</div>
<div> </div>
<div> #principal strains</div>
<div> eigvals = list(numpy.linalg.eigvalsh(sigma))</div>
<div> eigvals.sort()</div>
<div> eigvals.reverse()</div>
<div> P1[i] = eigvals[0]</div>
<div> P2[i] = eigvals[1]</div>
<div> P3[i] = eigvals[2]</div>
<div> # max shear</div>
<div> max_shear[i] = (max(eigvals)-min(eigvals))/2.0</div>
<div> </div>
<div> block.CellData.append(P1,"P1_strain")</div>
<div> block.CellData.append(P2,"P2_strain")</div>
<div> block.CellData.append(P3,"P3_strain")</div>
<div> block.CellData.append(max_shear,"tauMax") </div>
<div><br>
</div>
<div><br>
</div>
<div># Loop over blocks in composite (Exodus) data set</div>
<div>for block in output:</div>
<div> # process each block</div>
<div> process_block(block) </div>
<div><br>
After running this script, no errors or warnings are issued but the additional quantites (taumax, Px_strain) are not present as element quantities. <br>
</div>
<div><br>
</div>
<div>Any hints as to what I'm doing wrong.<br>
</div>
<p><br>
</p>
<div>
<div name="divtagdefaultwrapper">
Dennis Conklin, PE<br>
RDE&Q Senior Engineer<br>
Goodyear Innovation Center, 5th Floor South, Pillar M34<br>
Phone: <a href="tel:330-796-5701" value="+13307965701" target="_blank">330-796-5701</a><br>
Email: <a href="mailto:dennis_conklin@goodyear.com" target="_blank">dennis_conklin@goodyear.com</a><br>
</div>
</div>
</div>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr">Casey B. Goodlett, Ph.D.<br>Technical Leader<br>Kitware, Inc. - North Carolina Office<br><a href="http://www.kitware.com" target="_blank">http://www.kitware.com</a><br>
(919) 969-6990 x310</div>
</div>