[Paraview] Some questions about Catalyst Live Visualization

Andy Bauer andy.bauer at kitware.com
Fri Oct 30 09:33:36 EDT 2015


Hi Adam,

To rename the objects in the pipeline, you should be able to do:
simSteps = coprocessor.CreateProducer(datadescription, 'simSteps')
RenameSource('simSteps', simSteps)
simCalHits = coprocessor.CreateProducer(datadescription, 'simCalHits')
RenameSource('simCalHits', simCalHits)

Please let me know if this doesn't work for you. Also, now that you mention
it, this should be done automatically anyway so I'll put in a feature
request for this since I like the idea a lot.

As for not generating the VTK polydata object when no client is connected,
this might be due to the adaptor implementation or a bug in the live
functionality. I can't say for sure at this point but will check it out on
our end in the near future. For the adaptor, the execution flow is that
first the adaptor should call RequestDataDescription() of any Catalyst
pipelines to see if there's any work to be done. Check the result of
RequestDataDescription() to see if anything needs to be done. If not,
return control to the simulation. If there is work to be done, create the
VTK data objects and then call DoCoprocessing(). In this use case it's
possible that RequestDataDescription() isn't checking whether or not a
client is connected to see if there's something to do. Realistically, it's
here where it should see if the client is connected or if there are any
other Catalyst outputs that need to be generated. I'm on travel this week
so I can't check on this easily but hope to try it out next week. I'll get
back to you when I do though.

As for implementing an "advance to next time step" functionality, that
makes sense to me as well. That will take a little bit of work (not much
but nothing that can be fixed in the Python script alone).

By the way, can you share any pictures or videos of this in action? This
sounds really cool!

Best regards,
Andy


On Thu, Oct 29, 2015 at 5:51 PM, Adam Lyon <lyon at fnal.gov> wrote:

> Hi, I have recently been successful in hooking up Catalyst to our Particle
> Physics analysis framework that we use at Fermilab. Our main use case is to
> make an "event display" - that is a visualization of a high energy physics
> event (e.g. particle collision) in a simulated detector. The Catalyst Live
> feature allows us to connect ParaView to a running analysis or simulation
> job and visualize the events as they're being processed. It's very cool.
> This is typically a program difficult to write - but Catalyst and ParaView
> make this much easier.
>
> This is a bit different from CFD simulations -- for us each "time step" in
> an independent event. But the system works really well and many here are
> excited about it.
>
> I have three questions (so far) about the Catalyst Live system...
>
> 1) The VTK objects appear in the connected ParaView client as
> "PVTrivialProducer0", "PVTrivialProducer1", etc. The catalyst pipeline
> knows the real names of these objects. For example I have in my catalyst
> pipeline python script,
>
> ...
> simSteps = coprocessor.CreateProducer(datadescription, 'simSteps')
> simCalHits = coprocessor.CreateProducer(datadescription, 'simCalHits')
> ...
> [that's the only stuff in the pipeline]
>
> Is there some way to have "simSteps" and "simCalHits" show up in my
> ParaView client instead of "PVTrivialProducer0", etc?
>
> 2) Our analysis framework converts our data objects into VTK objects for
> feeding to Catalyst (usually vtkPolyData). This is a potentially expensive
> operation. If no ParaView client is connected to the Catalyst port, then
> there's no reason for this translation to occur (we just using the Live
> visualization feature at the moment). Is there a way for the adapter (e.g.
> the vtkCPProcessor object) to discover if a ParaView client is connected?
> That would save time if no one is connected.
>
> 3) In addition to setting breakpoints on time steps (events for us), it
> would be nice to have a "single step" feature that would simply allow the
> program to advance to the next one. Is that possible to do from python
> within ParaView?
>
> Thanks!!! -- Adam
>
> *------*
>
> *Adam L. Lyon*
> *Scientist; Associate Division Head for Systems for Scientific
> Applications*
>
> Scientific Computing Division & Muon g-2 Experiment
> Fermi National Accelerator Laboratory
> 630 840 5522 office
> www.fnal.gov
> lyon at fnal.gov
>
> Connect with us!
> Newsletter <http://www.fnal.gov/pub/today/>  |  Facebook
> <https://www.facebook.com/Fermilab>  |  Twitter
> <https://twitter.com/Fermilab>
>
> _______________________________________________
> 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
>
> Search the list archives at: http://markmail.org/search/?q=ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/paraview
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20151030/3d2f56cf/attachment.html>


More information about the ParaView mailing list