Trying to understand Catalyst (Live) design choices

I’ve been looking closer into Catalyst 2 and have some questions on why particular things are the way they are. If there’s misconceptions on my end then I apologize (and am happy to be corrected).

  • To do live visualization with ParaView it seems the simulation side will initiate the connection to the ParaView GUI. Why was that setup chosen, instead of the other way around where the GUI client connect to the running simulation when it chooses to? The latter would match the usual way of connecting to a Paraview server running on an HPC system. Plus it would avoid reverse SSH tunneling in many cases to get an outward connection from the HPC system to a non-public IP address.
  • Does the previous point not imply that a Catalyst-enabled simulation and ParaView GUI need to be co-scheduled? Or can the GUI connection made at any point during the simulation lifetime?
  • Why tie the visualization setup to the simulation side by having to pass one or more Python scripts exported from ParaView? Why not have a Catalyst-enabled simulation be a data source only, with the visualization/analysis parts on the client-side only?

Thanks in advance for any feedback.

1 Like