[Paraview] CoProcessing

Jacques Papper jacques.papper at gmail.com
Mon Aug 16 12:17:14 EDT 2010


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
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20100816/d4d8d739/attachment-0001.htm>


More information about the ParaView mailing list