Hi,
I use Catalyst-5.6 to compare PlotOverLine data from a multiblock AMR solution, and from a single block solution. While PlotOverLine works on the single block case, it returns all zeros for the multi-block case. If solution data are loaded in Paraview, PlotOverLine works for both. I use the same python script for the single block and for the AMR solution (with “input” data of type vtkNonOverlappingAMR).
What I am doing wrong? Any help is highly appreciated,
Thanks,
Ted
line.py
###################
from paraview.simple import *
from paraview import coprocessing
#--------------------------------------------------------------
Code generated from cpstate.py to create the CoProcessor.
----------------------- CoProcessor definition -----------------------
def CreateCoProcessor():
def _CreatePipeline(coprocessor, datadescription):
class Pipeline:
data = coprocessor.CreateProducer( datadescription, “input” ) # vtkNonOverlappingAMR
p = PlotOverLine(Source='High Resolution Line Source')
p.Source.Point1 = [0.00, 0.05, 0]
p.Source.Point2 = [0.50, 0.05, 0]
csvWriter = servermanager.writers.CSVWriter(Input=p)
coprocessor.RegisterWriter(csvWriter, filename='lineX_%t.csv', freq=20)
return Pipeline()
class CoProcessor(coprocessing.CoProcessor):
def CreatePipeline(self, datadescription):
self.Pipeline = _CreatePipeline(self, datadescription)
coprocessor = CoProcessor()
freqs = {‘input’: [20]}
coprocessor.SetUpdateFrequencies(freqs)
return coprocessor
#--------------------------------------------------------------
Global variables that will hold the pipeline for each timestep
Creating the CoProcessor object, doesn’t actually create the ParaView pipeline.
It will be automatically setup when coprocessor.UpdateProducers() is called the
first time.
coprocessor = CreateCoProcessor()
#--------------------------------------------------------------
Enable Live-Visualizaton with ParaView
coprocessor.EnableLiveVisualization(False)
---------------------- Data Selection method ----------------------
def RequestDataDescription(datadescription):
“Callback to populate the request for current timestep”
from _ast import If
global coprocessor
if datadescription.GetForceOutput() == True:
# We are just going to request all fields and meshes from the simulation
# code/adaptor.
for i in range(datadescription.GetNumberOfInputDescriptions()):
datadescription.GetInputDescription(i).AllFieldsOn()
datadescription.GetInputDescription(i).GenerateMeshOn()
return
# setup requests for all inputs based on the requirements of the
# pipeline.
coprocessor.LoadRequestedData(datadescription)
------------------------ Processing method ------------------------
def DoCoProcessing(datadescription):
“Callback to do co-processing for current timestep”
global coprocessor
# Update the coprocessor by providing it the newly generated simulation data.
# If the pipeline hasn't been setup yet, this will setup the pipeline.
coprocessor.UpdateProducers(datadescription)
# Write output data, if appropriate.
coprocessor.WriteData(datadescription);
# Write image capture (Last arg: rescale lookup table), if appropriate.
coprocessor.WriteImages(datadescription, rescale_lookuptable=False)
# Live Visualization, if enabled.
coprocessor.DoLiveVisualization(datadescription, "localhost", 22222)