I’ve used Slice and IntegrateVariables/SurfaceFlow using Pot3d Datasets for post processing. I’ve tried to extend that by creating new Arrays beyond the 5 variables initially read in. I can use Calculator for simple equations but some of my computations are more involved. I’ve included some pseudo code below that works in the GUI using the programmable Filter (with minor changes). I can’t make it work in pvpython. Referring to the code - I have my new Arrays included in a vtkMultiBlockDataSet (rc). Slice won’t operate on this. Slice operates on p3d, which doesn’t include my new Arrays.
Does this make sense to anybody that can point to a way to handle this? I’ll bet it’s simple but it escapes me.
**p3d=PLOT3DReader** **rc = servermanager.Fetch(p3d)** **nb = rc.GetNumberOfBlocks()** **for ib in range(nb):** ** b = rc.GetBlock(ib)** ** pd =b.GetPointData()** ** dvdata = pd.GetAbstractArray('Density')** ** pvdata = vtk.vtkFloatArray()** ** pvdata.DeepCopy(dvdata)** ** np = b.GetNumberOfPoints()** ** for ip in range(np):** ** pvdata.SetTuple(ip,new_value)** ** pvdata.SetName('StaticPressure')** ** pd.AddArray(pvdata)** **slice1=slice(rc)**. #doesn't work **iv=IntegrateVariables(slice1)**