[petsc-users] Generating xdmf from h5 file.
subramanya sadasiva
potaman at outlook.com
Sun Sep 28 11:15:54 CDT 2014
Thanks Matt, That worked perfectly.
Subramanya
Date: Fri, 26 Sep 2014 14:52:52 -0500
Subject: Re: [petsc-users] Generating xdmf from h5 file.
From: knepley at gmail.com
To: potaman at outlook.com
CC: petsc-users at mcs.anl.gov
On Thu, Sep 25, 2014 at 10:29 PM, subramanya sadasiva <potaman at outlook.com> wrote:
Hi Matt, Sorry about that, I changed if 'time' in h5: time = np.array(h5['time']).flatten() else: time = np.empty(1)
The code now fails in the writeSpaceGridHeader function. with the error,
Traceback (most recent call last):
File "/Users/ssadasiv/software/petsc/bin/pythonscripts/petsc_gen_xdmf.py", line 232, in <module>
generateXdmf(sys.argv[1])
File "/Users/ssadasiv/software/petsc/bin/pythonscripts/petsc_gen_xdmf.py", line 227, in generateXdmf
Xdmf(xdmfFilename).write(hdfFilename, topoPath, numCells, numCorners, cellDim, geomPath, numVertices, spaceDim, time, vfields, cfields)
File "/Users/ssadasiv/software/petsc/bin/pythonscripts/petsc_gen_xdmf.py", line 180, in write
self.writeSpaceGridHeader(fp, numCells, numCorners, cellDim, spaceDim)
File "/Users/ssadasiv/software/petsc/bin/pythonscripts/petsc_gen_xdmf.py", line 64, in writeSpaceGridHeader
print self.cellMap[cellDim][numCorners]
The error is due to the fact that numCorners is set to be 1 , while celldim=2. cellMap has the following elements.
{1: {1: 'Polyvertex', 2: 'Polyline'}, 2: {3: 'Triangle', 4: 'Quadrilateral'}, 3: {8: 'Hexahedron', 4: 'Tetrahedron'}}
I also tried
./ex12 -dm_view vtk:my.vtk:vtk_vtu . This doesn't seem to do anything. Is there any specific option I need to build petsc with to get vtk output? My current build has hdf5 and netcdf enabled.
I made the change in a branch, and merged to 'next', so it will work if you pull. Here is a test from ex12 (testnum 39 in builder.py):
./ex12 -run_type full -refinement_limit 0.015625 -interpolate 1 -petscspace_order 2 -pc_type gamg -ksp_rtol 1.0e-10 -ksp_monitor_short -ksp_converged_reason -snes_monitor_short -snes_converged_reason -dm_view hdf5:sol.h5 -snes_view_solution hdf5:sol.h5::append
which makes sol.h5. Then I run
./bin/pythonscripts/petsc_gen_xdmf.py sol.h5
which makes sol.xmf. I load it up in Paraview and it makes the attached picture.
Thanks,
Matt Thanks,
Subramanya
Date: Wed, 24 Sep 2014 17:36:52 -0500Subject: Re: [petsc-users] Generating xdmf from h5 file.
From: knepley at gmail.com
To: potaman at outlook.com; petsc-maint at mcs.anl.gov; petsc-users at mcs.anl.gov
On Wed, Sep 24, 2014 at 5:29 PM, subramanya sadasiva <potaman at outlook.com> wrote:
Hi Matt,
That did not help.
That's not enough description to fix anything, and fixing it will require programming. Is there any other way to output the mesh to something that paraview can view? I tried outputting the file to a vtk file using
ex12 -dm_view vtk:my.vtk:ascii_vtk
which, I saw in another post on the forums, but that did not give me any output.
This is mixing two different things. PETSc has a diagnostic ASCII vtk output, so the type would be ascii, not vtk,and format ascii_vtk . It also has a production VTU output, which is type vtk with format vtk_vtu.
Thanks,
Matt
Subramanya
Date: Wed, 24 Sep 2014 17:19:51 -0500
Subject: Re: [petsc-users] Generating xdmf from h5 file.
From: knepley at gmail.com
To: potaman at outlook.com
CC: petsc-users at mcs.anl.gov
On Wed, Sep 24, 2014 at 5:08 PM, subramanya sadasiva <potaman at outlook.com> wrote:
Hi,
i was trying to use petsc_gen_xdmf.py to convert a h5 file to a xdmf file. The h5 file was generated by snes/ex12 which was run as,
ex12 -dm_view hdf5:my.h5
When I do,
petsc_gen_xdmf.py my.h5
I get the following error,
File "/home/ssadasiv/software/petsc/bin/pythonscripts/petsc_gen_xdmf.py", line 220, in <module>
generateXdmf(sys.argv[1])
File "/home/ssadasiv/software/petsc/bin/pythonscripts/petsc_gen_xdmf.py", line 208, in generateXdmf
time = np.array(h5['time']).flatten()
File "/usr/lib/python2.7/dist-packages/h5py/_hl/group.py", line 153, in __getitem__
oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
File "h5o.pyx", line 173, in h5py.h5o.open (h5py/h5o.c:3403)
KeyError: "unable to open object (Symbol table: Can't open object)"
I am not sure if the error is on my end. This is on Ubuntu 14.04 with the serial version of hdf5. I built petsc with --download-hdf5, is it necessary to use the same version of hdf5 to generate the xdmf file?
That code is alpha, and mainly built for me to experiment with an application here, so it is not user-friendly. In yourHDF5 file, there is no 'time' since you are not running a TS. This access to h5['time'] should just be protected, andan empty array should be put in if its not there.
Matt Thanks
Subramanya
--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener
--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener
--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140928/48bd7a61/attachment.html>
More information about the petsc-users
mailing list