Hi all, I have a pvbatch script that worked in version 3.12. It uses plot over line and writes out CSV data. Now I get the following error in version 3.14:
Is this a bug or am I supposed to call the writer differently in 3.14? Thanks! Tony ERROR: In /build/buildd/paraview-3.14.1/ParaViewCore/ServerManager/vtkSMWriterFactory.cxx, line 374 vtkSMWriterFactory (0x17ee360): No matching writer found for extension: csv Traceback (most recent call last): File "wakeProfilesAllTurbines.py", line 65, in <module> writer.FieldAssociation = "Points" AttributeError: 'NoneType' object has no attribute 'FieldAssociation' Here is the script Im using: try: paraview.simple except: from paraview.simple import * paraview.simple._DisableFirstRenderCameraReset() import os import math import matplotlib as mpl mpl.use('Agg') import matplotlib.pyplot as plt import csv from scipy.integrate import trapz # Current location directory=os.getcwd() if not os.path.exists('./wakeProfiles/plots/'): os.makedirs('./wakeProfiles/plots/') # Rotor Diameter D=93 width=D*1.5 profiles=[0.125,0.25,0.5,0.75,1,2,3,4] layout=open('./layout.dat') Umean_slice_0_vtk = LegacyVTKReader( FileNames=[directory+'/../ADM/sliceDataADM/12746.8908019/Umean_slice_0.vtk'] ) Umean_slice_1_vtk = LegacyVTKReader( FileNames=[directory+'/../ALM/sliceDataALM/12771/Umean_slice_0.vtk'] ) SetActiveSource(Umean_slice_0_vtk) CellDatatoPointData1 = CellDatatoPointData() SetActiveSource(CellDatatoPointData1) Calculator1 = Calculator() Calculator1.AttributeMode = 'point_data' Calculator1.Function = 'Umean_X*cos(0.84444265) + Umean_Y*sin(0.84444265)' Calculator1.ResultArrayName = 'U_row' SetActiveSource(Umean_slice_1_vtk) CellDatatoPointData2 = CellDatatoPointData() SetActiveSource(CellDatatoPointData2) Calculator2 = Calculator() Calculator2.AttributeMode = 'point_data' Calculator2.Function = 'Umean_X*cos(0.84444265) + Umean_Y*sin(0.84444265)' Calculator2.ResultArrayName = 'U_row' for i, turbine in enumerate(layout): for profile in profiles: SetActiveSource(Calculator1) PlotOverLine1 = PlotOverLine( Source="High Resolution Line Source" ) PlotOverLine1.Source.Resolution = 100 alpha0=0.84444265-math.atan((width/2)/(profile*D)) alpha1=0.84444265+math.atan((width/2)/(profile*D)) L=math.sqrt((D*profile)**2+(width/2)**2) x0=float(turbine.split()[0])+L*math.cos(alpha0) y0=float(turbine.split()[1])+L*math.sin(alpha0) x1=float(turbine.split()[0])+L*math.cos(alpha1) y1=float(turbine.split()[1])+L*math.sin(alpha1) PlotOverLine1.Source.Point1 = [x0, y0, 65.0] PlotOverLine1.Source.Point2 = [x1, y1, 65.0] if not os.path.exists('./wakeProfiles/'+str(profile)): os.makedirs('./wakeProfiles/'+str(profile)) if not os.path.exists('./wakeProfiles/plots/'+str(profile)): os.makedirs('./wakeProfiles/plots/'+str(profile)) nameADM=directory+'/wakeProfiles/'+str(profile)+'/ADM'+'turbine'+str(i+1)+'.csv' writer = CreateWriter(nameADM, PlotOverLine1) writer.FieldAssociation = "Points" writer.UpdatePipeline() del writer SetActiveSource(Calculator2) PlotOverLine2 = PlotOverLine( Source="High Resolution Line Source" ) PlotOverLine2.Source.Resolution = 100 PlotOverLine2.Source.Point1 = [x0, y0, 65.0] PlotOverLine2.Source.Point2 = [x1, y1, 65.0] nameALM=directory+'/wakeProfiles/'+str(profile)+'/ALM'+'turbine'+str(i+1)+'.csv' writer = CreateWriter(nameALM, PlotOverLine2) writer.FieldAssociation = "Points" writer.UpdatePipeline() del writer csvreader1 = csv.reader(open(nameADM,'rb')) csvreader2 = csv.reader(open(nameALM,'rb')) x,y,x1,y1=[],[],[],[] for j, line in enumerate(csvreader1): if j>0: x.append((float(line[5])-width/2)/D) y.append(float(line[0])) for j, line in enumerate(csvreader2): if j>0: x1.append((float(line[5])-width/2)/D) y1.append(float(line[0])) plt.plot(x,y,'-',label='ADM',color='black') plt.plot(x1,y1,'--',label='ALM',color='black') plt.xlabel('Distance') plt.ylabel(r'$U$ (m/s)') plt.legend(loc='best') plt.ylim([2,10]) plt.savefig('./wakeProfiles/plots/'+str(profile)+'/turbine'+str(i+1)+'.eps') plt.savefig('./wakeProfiles/plots/'+str(profile)+'/turbine'+str(i+1)+'.png') plt.clf() del x,y,x1,y1,csvreader1,csvreader2
_______________________________________________ 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