[Paraview] CoProcessing

Andy Bauer andy.bauer at kitware.com
Fri Aug 20 14:19:54 EDT 2010


Here's how I got the coprocessing library to work with offscreen rendering:
1) build paraview server with qt client turned off
2) use osmesa -- replacing opengl lib and dir locations with proper osmesa
ones
3) set use offscreen rendering (I left VTK_USE_X on since I have problems
when I set it to off)
4) in your coprocessing python script add in:
import paraview.servermanager as sm
options = sm.vtkPVOptions()
options.SetUseOffscreenRendering(1)

There may be a better way to do this but this at least worked for me.

Andy

On Thu, Aug 19, 2010 at 11:39 AM, Andy Bauer <andy.bauer at kitware.com> wrote:

>
>
> 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/20100820/da7ae066/attachment-0001.htm>


More information about the ParaView mailing list