Hi Peter, Can you give us the first 10-20 timesteps of this dataset? Maybe there is a memory leak somewhere and I would like to debug it.
-berk On Wed, Apr 1, 2009 at 4:48 PM, Peter Brady <[email protected]> wrote: > Hello all, > > I have some reasonable sized data sets (256x256x512) that I'm using > paraview to do some postprocessing on via a python script. However, > for some reason, as time progresses and it slogs through more > timesteps the memory usage slowly creeps up until my workstation > crashes (seems to take about 200-300 timesteps before it eats up all > my memory). I haven't encountered this problem before but this is the > largest data set I've processed thus far. My data format is ensight > gold. The script I'm using is below: > > from paraview import servermanager > > if not servermanager.ActiveConnection: > connection = servermanager.Connect() > > suffix = '' > > # open file center_vol_data and get center and radius data > datafile = open('center_vol_data'+suffix, 'r') > lines = datafile.readlines() > datafile.close() > > filterfile = open('prog_filter.py', 'r') > filterString = filterfile.read() > filterfile.close() > > tempfile = open('temp_data', 'w') > tempfile.write(lines[0]) > tempfile.close() > > # open NGA data and read in temperature field > #nga_reader = > servermanager.sources.ensight(ByteOrder='LittleEndian',CaseFileName='ensight-3D/arts.case') > > #nga_reader.UpdatePipelineInformation() > # only read in temperature... > a1 = ['Pressure', '0'] > a2 = ['Viscosity', '0'] > a3 = ['Diffusivity', '0'] > a4 = ['T', '1'] > a5 = ['VolumeFraction', '0'] > a6 = ['Density', '0'] > a7 = ['Curvature', '0'] > a8 = ['SurfaceTension', '0'] > a9 = ['Sigma', '0'] > a10 = ['divg', '0'] > a11 = ['Pcrit', '0'] > a12 = ['Qcrit', '0'] > a13 = ['Rcrit', '0'] > #nga_reader.CellArrayStatus = a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13 > #nga_reader.UpdatePipeline() > > # outline source > myBox = servermanager.sources.OutlineSource() > myBox.Bounds = [-0.0225, 0.0225, -0.0225, 0.0225, 0.0, 0.060] > myBox.UpdatePipeline() > > # open LIT data > lit_reader = servermanager.sources.ensight(ByteOrder='LittleEndian', > > CaseFileName='dump'+suffix+'/td.case') > lit_reader.UpdatePipelineInformation() > # only read in G field > a1 = ['G', '1'] > a2 = ['KAPPA', '0'] > a3 = ['V', '0'] > lit_reader.PointArrayStatus = a1+a2+a3 > lit_reader.UpdatePipeline() > > # apply contour to G field > g_cont = servermanager.filters.Contour(Input=lit_reader) > g_cont.ContourValues = 0.0 > g_cont.SelectInputScalars = ['0', '0', '0', '0', 'G'] > g_cont.UpdatePipeline() > > # resample dataset > #resample = servermanager.filters.Probe(Input=nga_reader, Source=g_cont) > #resample.UpdatePipeline() > > # read in center and volume from file > #deform = servermanager.filters.ProgrammableFilter(Input=resample) > deform = servermanager.filters.ProgrammableFilter(Input=g_cont) > deform.Script = filterString > deform.UpdatePipeline() > > # create rendering views > view = servermanager.CreateRenderView() > rep1 = servermanager.CreateRepresentation(deform, view) > rep1.Representation = 2 # set view to surface > #rep2 = servermanager.CreateRepresentation(nga_reader, view) > rep2 = servermanager.CreateRepresentation(myBox, view) > rep2.Representation = 3 > > # set background to black > view.Background = [0.0, 0.0, 0.0] > view.CameraParallelProjection = 1 > view.ViewSize = [625,700] > view.CameraPosition = [0.0263666,-0.165717,0.0707883] > view.CameraViewUp = [-0.019148, 0.236082, 0.971544] > view.UseOffscreenRenderingForScreenshots = 0 > view.ResetCamera() > > lt = servermanager.rendering.PVLookupTable() > rep1.LookupTable = lt > rep1.ColorAttributeType = 0 # point data > rep1.ColorArrayName = "radiusDeform" > lt.RGBPoints = [-3,0,0,1,3,1,0,0] > lt.ColorSpace = 1 > rep2.Color = [1.0, 1.0, 1.0] > > # color legend > sbar = servermanager.rendering.ScalarBarWidgetRepresentation() > sbar.Title = '% def' > sbar.LookupTable = lt > sbar.Position = [0.85, 0.1] > view.Representations.append(sbar) > > # get timesteps and append to view > tsteps = lit_reader.TimestepValues.GetData() > annTime = servermanager.filters.TimeToTextConvertor(Input=lit_reader) > timeRep = servermanager.rendering.TextSourceRepresentation(Input=annTime) > view.Representations.append(timeRep) > #make bigger > timeRep.Position2 = [0.2,0.2] > > # get ready to do some file saving > #savestep = [0, 1] # frame of interest > savestep= range(1000,1100) > namei = map(str, savestep) > #offset = 624-63 > #for i in range(len(savestep)): > # namei[i] = str(savestep[i]+offset) > > for i in range(len(savestep)): > tempfile = open('temp_data', 'w') > tempfile.write(lines[savestep[i]]) > tempfile.close() > view.ViewTime = tsteps[savestep[i]] > if savestep[i] < 10: > namei[i] = "000" + namei[i] > elif savestep[i] < 100: > namei[i] = "00" + namei[i] > elif savestep[i] < 1000: > namei[i] = "0" + namei[i] > view.WriteImage("movie/arc."+namei[i]+".png", "vtkPNGWriter", 1) > > Any help in this matter would be greatly appreciated. > Thanks, > Peter. > _______________________________________________ > 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 > _______________________________________________ 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
