[Paraview] exodusII reader & writer in parallel

Moreland, Kenneth kmorel at sandia.gov
Fri Jan 13 16:19:02 EST 2017


Hmm. That’s disappointing. Although I’ve heard of files missing fields on element blocks because no blocks with that field is local, I guess having no data on a process is not something simulations typically experience.

I agree with modifying the reader then. I would not mess around with the third party code over this.

-Ken

From: Andy Bauer [mailto:andy.bauer at kitware.com]
Sent: Friday, January 13, 2017 2:03 PM
To: Moreland, Kenneth <kmorel at sandia.gov>
Cc: paraview at paraview.org
Subject: [EXTERNAL] Re: [Paraview] exodusII reader & writer in parallel

It's looking like there could be a decent amount of hacking in the ExodusII code to get the writer to work properly for this (as well as the reader to read it back in without issues). The main issue appears to be that NetCDF doesn't allow creating a dimension of 0 length/size. Thus the stuff in VTK/ThirdParty/exodusII/vtkexodusII would need to be changed.
Both the reader and writer make the assumption that if the num_nodes dimension exists that there are points to be read in.
At this point I'm thinking it's better to modify the reader than the writer...

On Fri, Jan 13, 2017 at 2:59 PM, Andy Bauer <andy.bauer at kitware.com<mailto:andy.bauer at kitware.com>> wrote:
Hi Ken,
Thanks for the input.
There is an explicit check in the writer to see if there are any points before writing out point data. I took that check out and am hitting a NetCDF error that the "num_nodes" dimension isn't specified. It will probably take a bit of investigating to fix this but at least you've helped me go down the correct path.
Thanks,
Andy

On Fri, Jan 13, 2017 at 2:44 PM, Moreland, Kenneth <kmorel at sandia.gov<mailto:kmorel at sandia.gov>> wrote:
Andy,

That sounds like a bug in our Exodus writer to me. I’m not positive, but I’m pretty sure that you can specify in Exodus point and cell arrays if no grid points or cells exist. The writer is probably making a shortcut and skipping that if there is no actual data.

-Ken

From: ParaView [mailto:paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org>] On Behalf Of Andy Bauer
Sent: Friday, January 13, 2017 12:00 PM
To: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: [EXTERNAL] [Paraview] exodusII reader & writer in parallel

Hi,
I'm trying out the ExodusII writer in parallel and had some questions about how it should work in general when there isn't any data on process 0. Currently what happens in ParaView is that a file for each process is written out but the file corresponding to process 0 doesn't have any grid information or field data (an example is attached). When I read this back into ParaView using the built-in server (i.e. in serial) the ExodusII reader gets the proper points and cells but no field data is read in.
So my question is this, does the ExodusII file format allow specifying point and cell arrays in a file if no grid points or cells exist?
I'm tempted to fix this issue by modifying the reader to properly pass the field data information to process 0 from another one that has data but wanted to get the community's thoughts on this before I go through the implementation. The alternative would be to modify the writer to include point and cell data information and that's probably a better solution, assuming that the ExodusII format allows for that.
Thanks,
Andy
ps. Attached is a sample set of ExodusII files that doesn't have any data on parallel.ex2.4.0 in case someone wants to play around with it.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20170113/9076c4a6/attachment.html>


More information about the ParaView mailing list