[Paraview] CoProcessing

Andy Bauer andy.bauer at kitware.com
Thu Aug 19 11:39:48 EDT 2010


On Thu, Aug 19, 2010 at 11:23 AM, Jacques Papper
<jacques.papper at gmail.com>wrote:

> Hi Andy,
>
> 1 : Here are he files
>

Somehow Utkarsh's change to servermanager.py didn't make it into your build
servermanager.py.  The change is:
@@ -796,6 +796,10 @@ class ArraySelectionProperty(VectorProperty):
         elif len(values) == 2:
             if isinstance(values[0], str):
                 val = str(ASSOCIATIONS[values[0]])
+            else:
+                # In case user didn't specify valid association,
+                # just pick POINTS.
+                val = str(ASSOCIATIONS['POINTS'])
             self.SMProperty.SetElement(3,  str(val))
             self.SMProperty.SetElement(4, values[1])
         else:

Try rebuilding and if you don't see those changes in your build
servermanager.py file, do a clean build.



> 2 : Thanks ! I do need this to work, so I can run on a cluster without any
> graphics card. I haven't tried the patch Adriano sent earlier yet.
>
> 3 : How do you want me to set this up for you ? If you are using the Phasta
> code then if you just replace the Hex input by Poly input then you should
> get the same problem ?
>

Do something similar to the example I put up on the coprocessing wiki.  Use
the multiblock reader to load the grid and let me know how many processes
you use when you see the problem.



>
> Thanks again,
> Jacques
>
> 2010/8/17 Andy Bauer <andy.bauer at kitware.com>
>
> For 1:  Can you send me your
>> Utilities/VTKPythonWrapping/paraview/servermanager.py in the PV source as
>> well as the
>> Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py file in
>> your PV build?
>>
>> For 2: I'll take a look at that since I have to do the same thing on a
>> remote machine I'll be working on.
>>
>> For 3: No idea why.  If you can set up a simple problem I can take a look
>> at it.
>>
>> Andy
>>
>>
>> On Tue, Aug 17, 2010 at 10:06 AM, Jacques Papper <
>> jacques.papper at gmail.com> wrote:
>>
>>> Hi All,
>>>
>>> Although I've got the coprocessing to work somehow, I still have a couple
>>> of problems :
>>>
>>> -> I have pulled from git yesterday.
>>>
>>> 1. None inside the python scripts generated by the plugin throws up some
>>> issues :
>>>
>>> Traceback (most recent call last):
>>>   File "<string>", line 2, in <module>
>>>   File "/users/boreas01/jacques/TESTING/A6_saloon_50k/pvCopro.py", line
>>> 138, in DoCoProcessing
>>>     DataRepresentation1.SelectOrientationVectors = [None, '']
>>>   File
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py",
>>> line 207, in __setattr__
>>>     setter(self, value)
>>>   File
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py",
>>> line 2367, in setProperty
>>>     return self.GetPropertyValue(propName)
>>>   File
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py",
>>> line 256, in SetPropertyWithName
>>>     def SetPropertyWithName(self, pname, arg):
>>>   File
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py",
>>> line 799, in SetData
>>>     if len(values) == 1:
>>> UnboundLocalError: local variable 'val' referenced before assignment
>>>
>>>
>>> 2. When Compiling with MESA, and switching offscreen rendering ON I get
>>> problems at runtime when coprocessing (I have no problems saving screenshots
>>> directly from within paraview) :
>>>
>>>
>>> --- Some of my CMAKE settings :
>>> //Path to a file.
>>> OPENGL_INCLUDE_DIR:PATH=/usr/include
>>>
>>> //Path to a library.
>>> OPENGL_gl_LIBRARY:FILEPATH=/usr/lib64/libGL.so
>>>
>>> //Path to a library.
>>> OPENGL_glu_LIBRARY:FILEPATH=/usr/lib64/libGLU.so
>>>
>>> //Path to a file.
>>> OPENGL_xmesa_INCLUDE_DIR:PATH=/usr/include
>>>
>>> //Path to a file.
>>> OSMESA_INCLUDE_DIR:PATH=/usr/include
>>>
>>> //Path to a library.
>>> OSMESA_LIBRARY:FILEPATH=/usr/lib64/libOSMesa.so
>>>
>>> ----- RunTime error message ----
>>>
>>>
>>> #0  Foam::error::printStack(Foam::Ostream&) in
>>> "/users/boreas01/jacques/FOAMpro-1.6-dev/FOAM-dev/lib/linux64GccDPOpt/libFOAM.so"
>>> #1  Foam::sigSegv::sigSegvHandler(int) in
>>> "/users/boreas01/jacques/FOAMpro-1.6-dev/FOAM-dev/lib/linux64GccDPOpt/libFOAM.so"
>>> #2  ?? in "/lib64/libc.so.6"
>>> #3  __rawmemchr in "/lib64/libc.so.6"
>>> #4  ?? in "/lib64/libc.so.6"
>>> #5  vsscanf in "/lib64/libc.so.6"
>>> #6  _IO_sscanf in "/lib64/libc.so.6"
>>> #7  vtkOpenGLExtensionManager::ReadOpenGLExtensions() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #8  vtkOpenGLExtensionManager::Update() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #9  vtkOpenGLExtensionManager::ExtensionSupported(char const*) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #10  vtkOpenGLRenderWindow::OpenGLInit() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #11  vtkXOpenGLRenderWindow::Start() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #12  vtkRenderWindow::DoStereoRender() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #13  vtkRenderWindow::DoFDRender() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #14  vtkRenderWindow::DoAARender() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #15  vtkRenderWindow::Render() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #16  vtkXOpenGLRenderWindow::Render() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRendering.so.pv3.9"
>>> #17  vtkXOpenGLRenderWindowCommand(vtkClientServerInterpreter*,
>>> vtkObjectBase*, char const*, vtkClientServerStream const&,
>>> vtkClientServerStream&) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkRenderingCS.so"
>>> #18
>>> vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream
>>> const&, int) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkClientServer.so"
>>> #19  vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream
>>> const&, int) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkClientServer.so"
>>> #20  vtkClientServerInterpreter::ProcessStream(vtkClientServerStream
>>> const&) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkClientServer.so"
>>> #21  vtkSelfConnection::ProcessStreamLocally(vtkClientServerStream&) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>> #22
>>> vtkMPISelfConnection::SendStreamToDataServerRoot(vtkClientServerStream&) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>> #23  vtkProcessModuleConnection::SendStream(unsigned int,
>>> vtkClientServerStream&) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>> #24  vtkProcessModuleConnectionManager::SendStream(long long, unsigned
>>> int, vtkClientServerStream&, int) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>> #25  vtkProcessModule::SendStream(long long, unsigned int,
>>> vtkClientServerStream&, int) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>> #26  vtkSMRenderViewProxy::PerformRender() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>> #27  vtkSMViewProxy::StillRender() in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>> #28  vtkSMRenderViewProxy::CaptureWindow(int) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>> #29  vtkSMRenderViewProxy::WriteImage(char const*, char const*, int) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>> #30  ?? at vtkSMRenderViewProxyPython.cxx:0
>>> #31  vtkPythonUtil::CallOverloadedMethod(PyMethodDef*, _object*,
>>> _object*) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPythonCore.so.pv3.9"
>>> #32  PyObject_Call in "/usr/lib64/libpython2.6.so.1.0"
>>> #33  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>> #34  PyEval_EvalCodeEx in "/usr/lib64/libpython2.6.so.1.0"
>>> #35  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>> #36  PyEval_EvalCodeEx in "/usr/lib64/libpython2.6.so.1.0"
>>> #37  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>> #38  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>> #39  PyEval_EvalCodeEx in "/usr/lib64/libpython2.6.so.1.0"
>>> #40  PyEval_EvalCode in "/usr/lib64/libpython2.6.so.1.0"
>>> #41  ?? in "/usr/lib64/libpython2.6.so.1.0"
>>> #42  PyRun_StringFlags in "/usr/lib64/libpython2.6.so.1.0"
>>> #43  PyRun_SimpleStringFlags in "/usr/lib64/libpython2.6.so.1.0"
>>> #44  vtkPVPythonInterpretor::RunSimpleString(char const*) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVPythonInterpretor.so"
>>> #45  vtkCPPythonScriptPipeline::CoProcess(vtkCPDataDescription*) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkCoProcessor.so"
>>> #46  vtkCPProcessor::CoProcess(vtkCPDataDescription*) in
>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkCoProcessor.so"
>>>
>>>
>>> When compiling without MESA and OFFSCREEN then it works fine but I get an
>>> annoying window that pops up all the time...
>>>
>>> 3. I am able to use the Parallel Multi Block Data Set Writer, on a very
>>> simple hex mesh. But when I use it on a more complex mesh (including
>>> POLYHEDRA cells) I get the following error :
>>>
>>> When opening the file in paraview :
>>>
>>>   ERROR: In
>>> /users/boreas01/jacques/PARAVIEW/ParaView/VTK/IO/vtkXMLParser.cxx, line 483
>>>
>>> vtkXMLDataParser (0x18aa700): Error parsing XML in stream at line 1,
>>> column 7, byte index 7: not well-formed (invalid token)
>>>
>>>  ERROR: In
>>> /users/boreas01/jacques/PARAVIEW/ParaView/VTK/IO/vtkXMLReader.cxx, line 362
>>>
>>> vtkXMLUnstructuredGridReader (0x18cbbc0): Error parsing input file.
>>> ReadXMLInformation aborting.
>>>
>>>  ERROR: In
>>> /users/boreas01/jacques/PARAVIEW/ParaView/VTK/Filtering/vtkExecutive.cxx,
>>> line 756
>>>
>>> vtkStreamingDemandDrivenPipeline (0xdadf60): Algorithm
>>> vtkXMLUnstructuredGridReader(0x18cbbc0) returned failure for request:
>>> vtkInformation (0x127b170)
>>>
>>> Debug: Off
>>>
>>> Modified Time: 80976
>>>
>>> Reference Count: 1
>>>
>>> Registered Events: (none)
>>>
>>> Request: REQUEST_INFORMATION
>>>
>>> ALGORITHM_AFTER_FORWARD: 1
>>>
>>> FORWARD_DIRECTION: 0
>>>
>>>
>>>
>>> When running the coprocessor  I do not get any error message. And I am
>>> still able to ouput png screenshots (when not using OFFSCREEN)... Is there
>>> an incompatibility between the writers and the polyhedra cell type ? Or is
>>> it possible that somewhere I am not filling in the cells / points properly ?
>>>
>>>
>>> Best,
>>> Jacques
>>>
>>>
>>>
>>>
>>>
>>> 2010/8/16 pat marion <pat.marion at kitware.com>
>>>
>>>> cc'ing the list.
>>>>
>>>> Pat
>>>>
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: Jacques Papper <jacques.papper at gmail.com>
>>>> Date: Mon, Aug 16, 2010 at 1:55 PM
>>>> Subject: Re: [Paraview] CoProcessing
>>>> To: pat marion <pat.marion at kitware.com>
>>>>
>>>>
>>>> Once again... My mistake .. I'm not used to submodules !
>>>>
>>>> 2010/8/16 Jacques Papper <jacques.papper at gmail.com>
>>>>
>>>> Hi, I just pulled my git..
>>>>>
>>>>> CMake Error in Utilities/VTKClientServer/Wrapping/CMakeLists.txt:
>>>>>   Cannot find source file "vtkParsePreprocess.c".  Tried extensions .c
>>>>> .C
>>>>>   .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
>>>>>
>>>>> I tried to configure and generate cmake but I get the same error when
>>>>> generating...
>>>>>
>>>>> Should I start from a clean cmake cache ?
>>>>>
>>>>> Jacques
>>>>>
>>>>> 2010/8/16 pat marion <pat.marion at kitware.com>
>>>>>
>>>>> If you can't upgrade your paraview version you could try hand applying
>>>>>> the patch to /users/boreas01/jacques/
>>>>>>
>>>>>>>
>>>>>>> PARAVIEW/ParaView-bin/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py
>>>>>>
>>>>>>
>>>>>> The patch:
>>>>>>
>>>>>>
>>>>>> http://paraview.org/gitweb?p=ParaView.git;a=commitdiff;h=23027770320168c3f7877c6e4150d5ca834f3b9b
>>>>>>
>>>>>> Pat
>>>>>>
>>>>>>
>>>>>> On Mon, Aug 16, 2010 at 11:01 AM, Jacques Papper <
>>>>>> jacques.papper at gmail.com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm sorry I was just rerunning to reproduce the error, and did not
>>>>>>> realize I missed changing my input back to input.foam instead of toto.foam
>>>>>>> ....
>>>>>>>
>>>>>>> Here is the actual error message :
>>>>>>>
>>>>>>> Traceback (most recent call last):
>>>>>>>   File "<string>", line 2, in <module>
>>>>>>>   File "/users/boreas01/jacques/TESTING/A6_saloon_50k/pvCopro.py",
>>>>>>> line 138, in DoCoProcessing
>>>>>>>     DataRepresentation1.SelectOrientationVectors = [None, '']
>>>>>>>   File
>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py",
>>>>>>> line 207, in __setattr__
>>>>>>>     setter(self, value)
>>>>>>>   File
>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py",
>>>>>>> line 2367, in setProperty
>>>>>>>     return self.SetPropertyWithName(propName, value)
>>>>>>>   File
>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py",
>>>>>>> line 256, in SetPropertyWithName
>>>>>>>     prop.SetData(arg)
>>>>>>>   File
>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/Utilities/VTKPythonWrapping/site-packages/paraview/servermanager.py",
>>>>>>> line 799, in SetData
>>>>>>>     self.SMProperty.SetElement(3,  str(val))
>>>>>>> UnboundLocalError: local variable 'val' referenced before assignment
>>>>>>>
>>>>>>>
>>>>>>> Jacques
>>>>>>>
>>>>>>> 2010/8/16 Andy Bauer <andy.bauer at kitware.com>
>>>>>>>
>>>>>>> The other thing is that there was a problem when outputting images
>>>>>>>> from coprocessing.  Try updating to commit 2302777 to see if that's it.
>>>>>>>>
>>>>>>>> Andy
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Aug 16, 2010 at 9:07 AM, pat marion <pat.marion at kitware.com
>>>>>>>> > wrote:
>>>>>>>>
>>>>>>>>> Hi Jacques,
>>>>>>>>>
>>>>>>>>> That error message seems to be unrelated to the lines containing
>>>>>>>>> 'None' that you copied in a previous email.  It looks to me like your code
>>>>>>>>> that calls the coprocessor is not inserting the vtk data set under the name
>>>>>>>>> 'test.foam'.  In the calling code you need something like:
>>>>>>>>>
>>>>>>>>> dataDesc->AddInput("test.foam")
>>>>>>>>>
>>>>>>>>> dataDesc->GetInputDescriptionByName("test.foam")->SetGrid(dataObject);
>>>>>>>>>
>>>>>>>>> Pat
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Aug 16, 2010 at 8:35 AM, Jacques Papper <
>>>>>>>>> jacques.papper at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Pat,
>>>>>>>>>>
>>>>>>>>>> This is what shows up for me :
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> datadescription.GetInputDescriptionByName(input_name).AllFieldsOff()
>>>>>>>>>> AttributeError: 'NoneType' object has no attribute 'AllFieldsOff'
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Inside the Python script :
>>>>>>>>>>
>>>>>>>>>> def RequestDataDescription(datadescription):
>>>>>>>>>>     "Callback to populate the request for current timestep"
>>>>>>>>>>     timestep = datadescription.GetTimeStep()
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>     input_name = 'test.foam'
>>>>>>>>>>     if (timestep % 0.0004 == 0) :
>>>>>>>>>>
>>>>>>>>>> datadescription.GetInputDescriptionByName(input_name).AllFieldsOn()
>>>>>>>>>>
>>>>>>>>>> datadescription.GetInputDescriptionByName(input_name).GenerateMeshOn()
>>>>>>>>>>     else:
>>>>>>>>>>
>>>>>>>>>> datadescription.GetInputDescriptionByName(input_name).AllFieldsOff()
>>>>>>>>>>
>>>>>>>>>> datadescription.GetInputDescriptionByName(input_name).GenerateMeshOff()
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Best,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Jacques
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2010/8/13 pat marion <pat.marion at kitware.com>
>>>>>>>>>>
>>>>>>>>>> Hi Jacques,
>>>>>>>>>>>
>>>>>>>>>>> My python trace files have similar lines, and I am able to run
>>>>>>>>>>> them without error.  I've only just tested with latest git master, not 3.8.
>>>>>>>>>>> Can you copy the specific error message you're getting so I can take a look?
>>>>>>>>>>>
>>>>>>>>>>> Pat
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Aug 13, 2010 at 6:20 PM, Jacques Papper <
>>>>>>>>>>> jacques.papper at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>    Sorry I meant None... not Null :
>>>>>>>>>>>>
>>>>>>>>>>>> For example :
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>     DataRepresentation1.SelectOrientationVectors = [None, '']
>>>>>>>>>>>>     DataRepresentation1.SelectedMapperIndex = 'Projected tetra'
>>>>>>>>>>>>     DataRepresentation1.CubeAxesTickLocation = 'Inside'
>>>>>>>>>>>>     DataRepresentation1.CubeAxesXAxisMinorTickVisibility = 1
>>>>>>>>>>>>     DataRepresentation1.CubeAxesYAxisVisibility = 1
>>>>>>>>>>>>     DataRepresentation1.SelectionPointLabelFontFamily = 'Arial'
>>>>>>>>>>>>     DataRepresentation1.Source.ShaftResolution = 6
>>>>>>>>>>>>     DataRepresentation1.CubeAxesFlyMode = 'Closest Triad'
>>>>>>>>>>>>     DataRepresentation1.SelectScaleArray = [None, '']
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2010/8/13 Andy Bauer <andy.bauer at kitware.com>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, Aug 13, 2010 at 3:39 AM, Jacques Papper <
>>>>>>>>>>>>> jacques.papper at gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I found the problem... I was inserting PointData instead of
>>>>>>>>>>>>>> CellData :) ,,,
>>>>>>>>>>>>>> Anyway it seems to be starting to work now.. 2 things though :
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -> Whenever I try to run directly a python script exported
>>>>>>>>>>>>>> from paraview (Through the Coprocessing export state) it won't run until I
>>>>>>>>>>>>>> remove all references to LIC and all lines containing Null...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Now that you mention it, I didn't put in anything special for
>>>>>>>>>>>>> plugins.  Setting the plugins to auto-load may work but my guess is that it
>>>>>>>>>>>>> won't.  I'll look into the plugin thing and the best way to do it in the
>>>>>>>>>>>>> script generator.
>>>>>>>>>>>>>
>>>>>>>>>>>>> What do you mean by Null?  I don't know what that is so you'll
>>>>>>>>>>>>> have to explain it to me.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> For the LIC, is it because the python script doesn't
>>>>>>>>>>>>>> automatically load the LIC plugin ?
>>>>>>>>>>>>>> For the Null, do you have this problem as well ?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -> Is the Live Source Data code already available in git ? I'd
>>>>>>>>>>>>>> love to test it out even if it is not robust yet.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> We don't yet have permission to release the Live Source Data
>>>>>>>>>>>>> code yet but I think it should be available in the next couple of months.
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2010/8/12 Andy Bauer <andy.bauer at kitware.com>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> You probably want to add the field data to the specific grids
>>>>>>>>>>>>>>> in the multiblock data set and not just the block itself.  As an example:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> create multiblock
>>>>>>>>>>>>>>> for each grid:
>>>>>>>>>>>>>>>   create grid points and cells
>>>>>>>>>>>>>>>   add point and cell data to grid
>>>>>>>>>>>>>>>   add grid to block
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Note that in parallel for coprocessing that the block must
>>>>>>>>>>>>>>> have the same structure on each process but whether a leaf node is empty or
>>>>>>>>>>>>>>> not can change.  For example:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> proc 0 mutliblock:
>>>>>>>>>>>>>>>   block 0 -> unstructured grid
>>>>>>>>>>>>>>>   block 1 -> uniform grid
>>>>>>>>>>>>>>>   block 2 -> NULL
>>>>>>>>>>>>>>> proc 1 multiblock:
>>>>>>>>>>>>>>>   block 0 -> NULL
>>>>>>>>>>>>>>>   block 1 -> NULL
>>>>>>>>>>>>>>>   block 2 -> unstructured grid
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm not sure of all of the details but what I do is that I
>>>>>>>>>>>>>>> set a block to only be non-NULL on a single process.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hope this helps,
>>>>>>>>>>>>>>> Andy
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thu, Aug 12, 2010 at 2:38 PM, Jacques Papper <
>>>>>>>>>>>>>>> jacques.papper at gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I am making some more progress on this. Everything was
>>>>>>>>>>>>>>>> working until I tried adding field data... I now get an explosion :
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> #2  ?? in "/lib64/libc.so.6"
>>>>>>>>>>>>>>>> #3  vtkDataArrayTemplate<double>::ComputeScalarRange(int) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkCommon.so.pv3.9"
>>>>>>>>>>>>>>>> #4  vtkDataArray::ComputeRange(int) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkCommon.so.pv3.9"
>>>>>>>>>>>>>>>> #5  vtkPVArrayInformation::CopyFromObject(vtkObject*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>>>>>>>>>>>>>>> #6
>>>>>>>>>>>>>>>> vtkPVDataSetAttributesInformation::CopyFromDataSetAttributes(vtkDataSetAttributes*)
>>>>>>>>>>>>>>>> in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>>>>>>>>>>>>>>> #7  vtkPVDataInformation::CopyFromDataSet(vtkDataSet*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>>>>>>>>>>>>>>> #8  vtkPVDataInformation::CopyFromObject(vtkObject*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>>>>>>>>>>>>>>> #9
>>>>>>>>>>>>>>>> vtkPVCompositeDataInformation::CopyFromObject(vtkObject*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>>>>>>>>>>>>>>> #10
>>>>>>>>>>>>>>>> vtkPVDataInformation::CopyFromCompositeDataSet(vtkCompositeDataSet*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>>>>>>>>>>>>>>> #11  vtkPVDataInformation::CopyFromObject(vtkObject*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>>>>>>>>>>>>>>> #12  vtkSelfConnection::GatherInformation(unsigned int,
>>>>>>>>>>>>>>>> vtkPVInformation*, vtkClientServerID) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>>>>>>>>>>>>>>> #13
>>>>>>>>>>>>>>>> vtkSynchronousMPISelfConnection::GatherInformation(unsigned int,
>>>>>>>>>>>>>>>> vtkPVInformation*, vtkClientServerID) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerCommon.so"
>>>>>>>>>>>>>>>> #14  vtkSMOutputPort::GatherDataInformation() in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>>>>>>>>>>>>>>> #15  vtkSMOutputPort::GetDataInformation() in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>>>>>>>>>>>>>>> #16  vtkSMDataTypeDomain::IsInDomain(vtkSMSourceProxy*, int)
>>>>>>>>>>>>>>>> in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>>>>>>>>>>>>>>> #17  vtkSMDataTypeDomain::IsInDomain(vtkSMProperty*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>>>>>>>>>>>>>>> #18  vtkSMProperty::IsInDomains() in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>>>>>>>>>>>>>>> #19
>>>>>>>>>>>>>>>> vtkSMRenderViewProxy::CreateDefaultRepresentation(vtkSMProxy*, int) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVServerManager.so"
>>>>>>>>>>>>>>>> #20  ?? at vtkSMRenderViewProxyPython.cxx:0
>>>>>>>>>>>>>>>> #21  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #22  PyEval_EvalCodeEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #23  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #24  PyEval_EvalCodeEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #25  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #26  PyEval_EvalCodeEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #27  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #28  PyEval_EvalCodeEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #29  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #30  PyEval_EvalFrameEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #31  PyEval_EvalCodeEx in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #32  PyEval_EvalCode in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #33  ?? in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #34  PyRun_StringFlags in "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #35  PyRun_SimpleStringFlags in
>>>>>>>>>>>>>>>> "/usr/lib64/libpython2.6.so.1.0"
>>>>>>>>>>>>>>>> #36  vtkPVPythonInterpretor::RunSimpleString(char const*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkPVPythonInterpretor.so"
>>>>>>>>>>>>>>>> #37
>>>>>>>>>>>>>>>> vtkCPPythonScriptPipeline::CoProcess(vtkCPDataDescription*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkCoProcessor.so"
>>>>>>>>>>>>>>>> #38  vtkCPProcessor::CoProcess(vtkCPDataDescription*) in
>>>>>>>>>>>>>>>> "/users/boreas01/jacques/PARAVIEW/ParaView-bin/bin/libvtkCoProcessor.so"
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Any ideas where this can be coming from ?
>>>>>>>>>>>>>>>> When I do not add the field data it just complains about
>>>>>>>>>>>>>>>> missing fields so I know that the code is not completely wrong...
>>>>>>>>>>>>>>>> I am adding the data to the first block of my
>>>>>>>>>>>>>>>> multiblockdataset... Is that a problem ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks !
>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 2010/8/12 Jacques Papper <jacques.papper at gmail.com>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Andy, Pat,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I have the skeleton of the coprocessing working (for the
>>>>>>>>>>>>>>>>> moment I just tried by populating the point field - no cells, no data).
>>>>>>>>>>>>>>>>> I am trying to figure out the most efficient way of
>>>>>>>>>>>>>>>>> transferring my data structure to VTK with minimal copying and looping...
>>>>>>>>>>>>>>>>> I would like to use the vtkUnstructuredGrid::SetCells()
>>>>>>>>>>>>>>>>> method, which means I probably need to use the vtkCellArray::SetCells()
>>>>>>>>>>>>>>>>> method, and therefore the vtkIdType::SetArray() method...
>>>>>>>>>>>>>>>>> The problem is I am not sure what the format of the array
>>>>>>>>>>>>>>>>> should be ?
>>>>>>>>>>>>>>>>> I am dealing with unstructured polyhedra cells (most of
>>>>>>>>>>>>>>>>> which are known types like hex prism etc..).
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Of course, I could also use the InsertNextCell() methods,
>>>>>>>>>>>>>>>>> but I was wondering if there wasn't a more efficient way...
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 2010/8/9 Andy Bauer <andy.bauer at kitware.com>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi Jacques,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I put an example on the wiki based on Pat's example for
>>>>>>>>>>>>>>>>>> running a coprocessing.  It's at:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> http://paraview.org/Wiki/Coprocessing_example#Python_Scripts
>>>>>>>>>>>>>>>>>> Let me know if you have any problems with it so that I can
>>>>>>>>>>>>>>>>>> fix any errors that I have.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Also, I just made changes so that the coprocessing library
>>>>>>>>>>>>>>>>>> gets installed properly.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>> Andy
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Wed, Aug 4, 2010 at 7:21 PM, Jacques Papper <
>>>>>>>>>>>>>>>>>> jacques.papper at gmail.com> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks Pat,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I am trying to compile my first attempt.
>>>>>>>>>>>>>>>>>>> Although I do find the headers I need, I am having some
>>>>>>>>>>>>>>>>>>> trouble identifying which libraries I need to link to.
>>>>>>>>>>>>>>>>>>> For example, I assume that I should be linking to
>>>>>>>>>>>>>>>>>>> libvtkCoProcessor.so ... Although I find this library in the compilation
>>>>>>>>>>>>>>>>>>> folder (under bin), I do not find it in the make installed version under
>>>>>>>>>>>>>>>>>>> lib...
>>>>>>>>>>>>>>>>>>> Is this normal ?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 2010/8/4 pat marion <pat.marion at kitware.com>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Below is a simple cxx program I have used for testing.
>>>>>>>>>>>>>>>>>>>> It creates one sphere per process, positions the sphere as a function of the
>>>>>>>>>>>>>>>>>>>> process id, and the spheres grow/shrink over time.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Pat
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> #include "vtkCPProcessor.h"
>>>>>>>>>>>>>>>>>>>> #include "vtkCPPythonScriptPipeline.h"
>>>>>>>>>>>>>>>>>>>> #include "vtkMultiProcessController.h"
>>>>>>>>>>>>>>>>>>>> #include "vtkXMLUnstructuredGridReader.h"
>>>>>>>>>>>>>>>>>>>> #include "vtkUnstructuredGrid.h"
>>>>>>>>>>>>>>>>>>>> #include "vtkCPDataDescription.h"
>>>>>>>>>>>>>>>>>>>> #include "vtkCPInputDataDescription.h"
>>>>>>>>>>>>>>>>>>>> #include "vtkSmartPointer.h"
>>>>>>>>>>>>>>>>>>>> #include "vtkPolyData.h"
>>>>>>>>>>>>>>>>>>>> #include "vtkSphereSource.h"
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> #include <stdio.h>
>>>>>>>>>>>>>>>>>>>> #include <string>
>>>>>>>>>>>>>>>>>>>> #include <sstream>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> static unsigned int procId;
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> void myprint(const std::string& str)
>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>   printf("driver (%u): %s\n", procId, str.c_str());
>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> class DataGenerator {
>>>>>>>>>>>>>>>>>>>> public:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   DataGenerator()
>>>>>>>>>>>>>>>>>>>>     {
>>>>>>>>>>>>>>>>>>>>     this->Sphere =
>>>>>>>>>>>>>>>>>>>> vtkSmartPointer<vtkSphereSource>::New();
>>>>>>>>>>>>>>>>>>>>     this->Sphere->SetThetaResolution(30);
>>>>>>>>>>>>>>>>>>>>     this->Sphere->SetPhiResolution(30);
>>>>>>>>>>>>>>>>>>>>     this->Sphere->SetCenter(procId*4.0, 0, 0);
>>>>>>>>>>>>>>>>>>>>     this->Index = 0;
>>>>>>>>>>>>>>>>>>>>     }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   vtkSmartPointer<vtkPolyData> GetNext()
>>>>>>>>>>>>>>>>>>>>     {
>>>>>>>>>>>>>>>>>>>>     double radius = fabs(sin(0.1 * this->Index));
>>>>>>>>>>>>>>>>>>>>     this->Index++;
>>>>>>>>>>>>>>>>>>>>     this->Sphere->SetRadius(1.0 + radius);
>>>>>>>>>>>>>>>>>>>>     this->Sphere->Update();
>>>>>>>>>>>>>>>>>>>>     vtkSmartPointer<vtkPolyData> ret =
>>>>>>>>>>>>>>>>>>>> vtkSmartPointer<vtkPolyData>::New();
>>>>>>>>>>>>>>>>>>>>     ret->DeepCopy(this->Sphere->GetOutput());
>>>>>>>>>>>>>>>>>>>>     return ret;
>>>>>>>>>>>>>>>>>>>>     }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> protected:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   int Index;
>>>>>>>>>>>>>>>>>>>>   vtkSmartPointer<vtkSphereSource> Sphere;
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> };
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> int main(int argc, char* argv[])
>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>   if (argc < 3)
>>>>>>>>>>>>>>>>>>>>     {
>>>>>>>>>>>>>>>>>>>>     printf("Usage: %s <cp python file> <number of
>>>>>>>>>>>>>>>>>>>> steps>\n", argv[0]);
>>>>>>>>>>>>>>>>>>>>     return 1;
>>>>>>>>>>>>>>>>>>>>     }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   std::string cpPythonFile = argv[1];
>>>>>>>>>>>>>>>>>>>>   int nSteps = atoi(argv[2]);
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   myprint("starting coprocessor");
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   vtkCPProcessor* processor = vtkCPProcessor::New();
>>>>>>>>>>>>>>>>>>>>   processor->Initialize();
>>>>>>>>>>>>>>>>>>>>   vtkCPPythonScriptPipeline* pipeline =
>>>>>>>>>>>>>>>>>>>> vtkCPPythonScriptPipeline::New();
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   // mpi was initialized when we called
>>>>>>>>>>>>>>>>>>>> vtkCPPythonScriptPipeline::New()
>>>>>>>>>>>>>>>>>>>>   procId =
>>>>>>>>>>>>>>>>>>>> vtkMultiProcessController::GetGlobalController()->GetLocalProcessId();
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   // read the coprocessing python file
>>>>>>>>>>>>>>>>>>>>   myprint("loading pipeline python file: " +
>>>>>>>>>>>>>>>>>>>> cpPythonFile);
>>>>>>>>>>>>>>>>>>>>   int success =
>>>>>>>>>>>>>>>>>>>> pipeline->Initialize(cpPythonFile.c_str());
>>>>>>>>>>>>>>>>>>>>   if (!success)
>>>>>>>>>>>>>>>>>>>>     {
>>>>>>>>>>>>>>>>>>>>     myprint("aborting");
>>>>>>>>>>>>>>>>>>>>     return 1;
>>>>>>>>>>>>>>>>>>>>     }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   processor->AddPipeline(pipeline);
>>>>>>>>>>>>>>>>>>>>   pipeline->Delete();
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   if (nSteps == 0)
>>>>>>>>>>>>>>>>>>>>     {
>>>>>>>>>>>>>>>>>>>>     return 0;
>>>>>>>>>>>>>>>>>>>>     }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   // create a data source
>>>>>>>>>>>>>>>>>>>>   DataGenerator generator;
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   // do coprocessing
>>>>>>>>>>>>>>>>>>>>   double tStart = 0.0;
>>>>>>>>>>>>>>>>>>>>   double tEnd = 1.0;
>>>>>>>>>>>>>>>>>>>>   double stepSize = (tEnd - tStart)/nSteps;
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   vtkCPDataDescription* dataDesc =
>>>>>>>>>>>>>>>>>>>> vtkCPDataDescription::New();
>>>>>>>>>>>>>>>>>>>>   dataDesc->AddInput("input");
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   for (int i = 0; i < nSteps; ++i)
>>>>>>>>>>>>>>>>>>>>     {
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>     double currentTime = tStart + stepSize*i;
>>>>>>>>>>>>>>>>>>>>     std::stringstream timeStr;
>>>>>>>>>>>>>>>>>>>>     timeStr << "time(" << i << ", " << currentTime <<
>>>>>>>>>>>>>>>>>>>> ")";
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>     dataDesc->SetTimeData(currentTime, i);
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>     myprint("call RequestDataDescription, " +
>>>>>>>>>>>>>>>>>>>> timeStr.str());
>>>>>>>>>>>>>>>>>>>>     int do_coprocessing =
>>>>>>>>>>>>>>>>>>>> processor->RequestDataDescription(dataDesc);
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>     if (do_coprocessing)
>>>>>>>>>>>>>>>>>>>>       {
>>>>>>>>>>>>>>>>>>>>       myprint("calling CoProcess, " + timeStr.str());
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>       vtkSmartPointer<vtkDataObject> dataObject =
>>>>>>>>>>>>>>>>>>>>         generator.GetNext();
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> dataDesc->GetInputDescriptionByName("input")->SetGrid(dataObject);
>>>>>>>>>>>>>>>>>>>>       processor->CoProcess(dataDesc);
>>>>>>>>>>>>>>>>>>>>       }
>>>>>>>>>>>>>>>>>>>>     }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   myprint("finalizing");
>>>>>>>>>>>>>>>>>>>>   dataDesc->Delete();
>>>>>>>>>>>>>>>>>>>>   processor->Finalize();
>>>>>>>>>>>>>>>>>>>>   processor->Delete();
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>   return 0;
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Wed, Aug 4, 2010 at 12:14 PM, Andy Bauer <
>>>>>>>>>>>>>>>>>>>> andy.bauer at kitware.com> wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Hi Jacques,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> There is a polyhedra cell type in VTK now --
>>>>>>>>>>>>>>>>>>>>> http://www.vtk.org/doc/nightly/html/classvtkPolyhedron.html
>>>>>>>>>>>>>>>>>>>>> As far as I know it works with all of the proper
>>>>>>>>>>>>>>>>>>>>> filters but since I haven't tried it yet I won't promise that.  The good
>>>>>>>>>>>>>>>>>>>>> news is that Will Schroeder had a high interest in it and probably worked on
>>>>>>>>>>>>>>>>>>>>> some of it so I'd assume that it's working quite well right now.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> As for Phasta, it does run in parallel (as props to
>>>>>>>>>>>>>>>>>>>>> their developers it was a finalist for the 2009 Gordon Bell prize).  The
>>>>>>>>>>>>>>>>>>>>> grid is already partitioned and each process runs the adaptor and creates an
>>>>>>>>>>>>>>>>>>>>> unstructured grid from its portion of the partitioned mesh.  Thus, there
>>>>>>>>>>>>>>>>>>>>> isn't any need for mpi calls in the adaptor code.  If you had ghost cell
>>>>>>>>>>>>>>>>>>>>> information in your partitioned mesh and wanted to get fancy you should be
>>>>>>>>>>>>>>>>>>>>> able to add that to your partitioned grid to make some of the filters faster
>>>>>>>>>>>>>>>>>>>>> but I haven't tried that.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Andy
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Wed, Aug 4, 2010 at 11:58 AM, Jacques Papper <
>>>>>>>>>>>>>>>>>>>>> jacques.papper at gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks a lot Andy, Takuya,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I'm using the PhastaAdaptor, and the FortranAdaptorAPI
>>>>>>>>>>>>>>>>>>>>>> as a guide for the moment.
>>>>>>>>>>>>>>>>>>>>>> I know there were talks of getting POLYHEDRAL cell
>>>>>>>>>>>>>>>>>>>>>> support in VTK. Do you know if this is there yet?
>>>>>>>>>>>>>>>>>>>>>> My dataset is multiregion unstructured polyhedral mesh
>>>>>>>>>>>>>>>>>>>>>> domain decomposed amongst each processor.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Is the Phasta code parallelized ? If so, I do not see
>>>>>>>>>>>>>>>>>>>>>> any MPI statements in the adaptor code ?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> 2010/8/4 Andy Bauer <andy.bauer at kitware.com>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Hi Jacques,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> What type of data set do you have?  Even though the
>>>>>>>>>>>>>>>>>>>>>>> PHASTA adaptor (
>>>>>>>>>>>>>>>>>>>>>>> ParaView/CoProcessing/Adaptors/FortranAdaptors/PhastaAdaptor) is for fortran
>>>>>>>>>>>>>>>>>>>>>>> code it may give you an idea.  Also stepping through the example in
>>>>>>>>>>>>>>>>>>>>>>> ParaView/CoProcessing/CoProcessor/Testing/Cxx/PythonScriptCoProcessingExample.cxx
>>>>>>>>>>>>>>>>>>>>>>> may help as well.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I'll spend some time this week putting up a skeleton
>>>>>>>>>>>>>>>>>>>>>>> of a simulation code on the coprocessing wiki that should hopefully be
>>>>>>>>>>>>>>>>>>>>>>> easier to follow.  I'll let you know when it's done.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Andy
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Wed, Aug 4, 2010 at 8:02 AM, Jacques Papper <
>>>>>>>>>>>>>>>>>>>>>>> jacques.papper at gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>  Hi All,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Sorry for my last post, I figured out that I had
>>>>>>>>>>>>>>>>>>>>>>>> wrongly set my PYTHONPATH..
>>>>>>>>>>>>>>>>>>>>>>>> All the tests work ok now. Still interested in
>>>>>>>>>>>>>>>>>>>>>>>> CoProcessing adaptors examples though :)
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> 2010/8/4 Jacques Papper <jacques.papper at gmail.com>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> I'm starting to look into the ParaView CoProcessing
>>>>>>>>>>>>>>>>>>>>>>>>> libraries.
>>>>>>>>>>>>>>>>>>>>>>>>> I just pulled from git today, and compiled it all
>>>>>>>>>>>>>>>>>>>>>>>>> up following the guidelines in :
>>>>>>>>>>>>>>>>>>>>>>>>> http://www.paraview.org/Wiki/CoProcessing
>>>>>>>>>>>>>>>>>>>>>>>>> I didn't find :
>>>>>>>>>>>>>>>>>>>>>>>>> *BUILD_PYTHON_COPROCESSING_ADAPTOR
>>>>>>>>>>>>>>>>>>>>>>>>> *but instead :
>>>>>>>>>>>>>>>>>>>>>>>>> PARAVIEW_BUILD_PLUGIN_CoProcessingScriptGenerator
>>>>>>>>>>>>>>>>>>>>>>>>> anyway the compilation went through without any
>>>>>>>>>>>>>>>>>>>>>>>>> issues.
>>>>>>>>>>>>>>>>>>>>>>>>> I then tried :
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> ctest -R CoProcessing
>>>>>>>>>>>>>>>>>>>>>>>>> Test project
>>>>>>>>>>>>>>>>>>>>>>>>> /users/boreas01/jacques/PARAVIEW/ParaView-bin
>>>>>>>>>>>>>>>>>>>>>>>>>     Start 491: CoProcessingTestPythonScript
>>>>>>>>>>>>>>>>>>>>>>>>> 1/3 Test #491: CoProcessingTestPythonScript
>>>>>>>>>>>>>>>>>>>>>>>>> ...........   Passed    0.45 sec
>>>>>>>>>>>>>>>>>>>>>>>>>     Start 492: CoProcessingPythonScriptGridPlot
>>>>>>>>>>>>>>>>>>>>>>>>> 2/3 Test #492: CoProcessingPythonScriptGridPlot
>>>>>>>>>>>>>>>>>>>>>>>>> .......***Failed    0.09 sec
>>>>>>>>>>>>>>>>>>>>>>>>>     Start 493: CoProcessingPythonScriptPressurePlot
>>>>>>>>>>>>>>>>>>>>>>>>> 3/3 Test #493: CoProcessingPythonScriptPressurePlot
>>>>>>>>>>>>>>>>>>>>>>>>> ...***Failed    0.09 sec
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> 33% tests passed, 2 tests failed out of 3
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Total Test time (real) =   0.68 sec
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> The following tests FAILED:
>>>>>>>>>>>>>>>>>>>>>>>>>         492 - CoProcessingPythonScriptGridPlot
>>>>>>>>>>>>>>>>>>>>>>>>> (Failed)
>>>>>>>>>>>>>>>>>>>>>>>>>         493 - CoProcessingPythonScriptPressurePlot
>>>>>>>>>>>>>>>>>>>>>>>>> (Failed)
>>>>>>>>>>>>>>>>>>>>>>>>> Errors while running CTest
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Is this a problem in my current installation or on
>>>>>>>>>>>>>>>>>>>>>>>>> the master branch ?
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Finally, I would like to start writing an adaptor
>>>>>>>>>>>>>>>>>>>>>>>>> to a C++ parallelised code. Can you tell me what is the closest code I can
>>>>>>>>>>>>>>>>>>>>>>>>> inspire myself from ?
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> PS sorry mixed up the subjects..
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>>>>>>>>> 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
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20100819/b169b0cb/attachment-0001.htm>


More information about the ParaView mailing list