[Paraview] Output of ParallelUnstructuredGridWriter running on multiple nodes

Hong Yi hongyi at renci.org
Wed May 1 10:10:52 EDT 2013


Thanks, Andy. Yes, that is indeed what we're trying to do. My collaborators are currently plotting velocity profile after simulation is done and then determining at which time step the transient simulation converged by observing that velocity profile. Via in-situ run, they can set up a representative slice and use the integrated velocity for that slice to approximate the velocity profile so that they can determine at which time step the simulation converges while simulation is ongoing. After giving this some more thought, I agree writing numbers out is not a good way to achieve this. Your suggestion to tie this integrated velocity output with simulation code sounds like a great way to achieve this. I will look deeper into PV's Python API and try to figure this out. The goal is to pass this integrated velocity value for each time step from Catalyst back to the simulation code so that the simulation code can determine when it has reached a steady state.

Best regards,

Hong

From: Andy Bauer [mailto:andy.bauer at kitware.com]
Sent: Tuesday, April 30, 2013 10:36 PM
To: Hong Yi
Cc: paraview at paraview.org
Subject: Re: [Paraview] Output of ParallelUnstructuredGridWriter running on multiple nodes

Hi Hong,
I just want to verify what you're really trying to do. It looks like you want to use Catalyst to figure out if your transient simulation has reached a steady state by determining if an integrate value stays constant over several time steps I guess this could be done in Catalyst but convergence criteria is probably better handled in the simulation code itself. As far as getting information from Catalyst back into the simulation code, that's doable but may take a bit of work for those not familiar with ParaView's Python API. You may be able to figure it out with the previous information I sent you. Once that's computed in the Python script, you can pass that information back to your adaptor code with vtkCPDataDescription's UserData object.

Andy

On Mon, Apr 29, 2013 at 11:34 AM, Hong Yi <hongyi at renci.org<mailto:hongyi at renci.org>> wrote:
Thanks, Andy. Please correct me if I am wrong since I may not get what you really mean here. I agree the first option sounds like a good one, and I am thinking I can modify the co-processing script to add "CreateWriter()" to write the output from the Integrate Variables filter. Since it is not a parallel writer, I am thinking this "CreateWriter()" might work by only writing to disk from the first processor. Otherwise, there might be a way to pass this output value to the simulation code Phasta for it to output the value only from the first processor? Since users need to observe the output from simulation when running it in-situ (without live feed at this point), the only way I can think of is through the disk output for the users to observe, or is there another way?

Thanks again,

Hong

From: Andy Bauer [mailto:andy.bauer at kitware.com<mailto:andy.bauer at kitware.com>]
Sent: Monday, April 29, 2013 10:12 AM

To: Hong Yi
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: Re: [Paraview] Output of ParallelUnstructuredGridWriter running on multiple nodes

I can think of two options for this, the first is modifying the co-processing script to get the data you want directly from the output without writing it to disk. Look at http://paraview.org/Wiki/ParaView/Python_Scripting for some information on that. Otherwise, you can try using the Python programmable filter to extract the data as well and write it to disk.

If it was me I'd go with the first option.

Andy

On Fri, Apr 26, 2013 at 4:50 PM, Hong Yi <hongyi at renci.org<mailto:hongyi at renci.org>> wrote:
Thanks, Andy. In our case, users only want to observe one integrated velocity value (one output value from Integrate Variable Filter) for the slice at each time step so that they can determine from which time point on this velocity value stops changing which indicates to them the simulation has converged. So this large amount of output files from the ParallelUnstructuredGridWriter is hard to serve this purpose. I am wondering whether there is a way for me to export the SpreadSheetRepresentation view (to view Integrate Variable Filter output) as a screen capture when I export pipeline in python for coprocessing? It looks like the "Export State" GUI for coprocessing only allows to export rendered views, not other types of views. If not, I am thinking perhaps I can write a customized writer plugin to only export the needed output value for our purpose and to make this writer only exports one file for each time step regardless of the number of processors it runs on.

Thanks for any more information you can provide!

Hong

From: Andy Bauer [mailto:andy.bauer at kitware.com<mailto:andy.bauer at kitware.com>]
Sent: Thursday, April 25, 2013 7:43 PM
To: Hong Yi
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: Re: [Paraview] Output of ParallelUnstructuredGridWriter running on multiple nodes

Hi,
The parallel XML data set writers all write independently of each other (no MPI communication is needed in the writers). Because of this they can't tell process 0 when writing it's meta-data file that it doesn't need to write out meta data for them.
Andy

On Thu, Apr 25, 2013 at 4:30 PM, Hong Yi <hongyi at renci.org<mailto:hongyi at renci.org>> wrote:
I am running a simulation in-situ linked with ParaView CoProcessing library with a pipeline that includes "slice->Integrate Variables Filter->ParallelUnstructuredGridWriter" so that integrated velocity value for a slice at each time point can be written out while running the simulation in-situ. The output from this ParallelUnstructureGridWriter for each time step includes one pvtu file plus one vtu file from each running node, so that is a lot of output files for each time point especially when running on a large number of nodes in parallel. However, it looks like only the output vtu file from processing node 0 includes valid velocity range value while other output vtu files from other nodes include only blank/empty values. So I am wondering whether there is a good way to set up only outputting vtu file from processing node 0 to prevent output of those large number of files that don't include valid/useful values. Any suggestions are very much appreciated.

Thanks,

Hong

_______________________________________________
Powered by www.kitware.com<http://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/20130501/4029cf0d/attachment.htm>


More information about the ParaView mailing list