[petsc-users] DMPlex export to hdf5/vtk for triangle/prism mesh

Adrian Croucher a.croucher at auckland.ac.nz
Mon May 29 17:13:31 CDT 2017


hi,

I was asking about support for exactly these 6-node wedge elements in 
DMPlex back in January.

At the time, there was no support for them. Has there been some progress 
since then?

We are going to need them before we can release our software, which 
we're aiming to do by the end of the year.

Cheers, Adrian

> Message: 4
> Date: Fri, 26 May 2017 22:40:40 -0500
> From: Matthew Knepley <knepley at gmail.com>
> To: "Fabian.Jakub" <Fabian.Jakub at physik.uni-muenchen.de>
> Cc: PETSc <petsc-users at mcs.anl.gov>
> Subject: Re: [petsc-users] DMPlex export to hdf5/vtk for
> 	triangle/prism mesh
> Message-ID:
> 	<CAMYG4GkVOTtFL_OBpUBPGEcBTikMbLOb5ruz=VU7tVTO6JQHTQ at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> On Fri, May 26, 2017 at 12:27 PM, Fabian.Jakub <
> Fabian.Jakub at physik.uni-muenchen.de> wrote:
>
> > Dear Petsc Team,
> >
> > I am playing around with DMPlex, using it to generate the Mesh for the
> > ICON weather model(http://doi.org/10.1002/2015MS000431), which employs a
> > triangle mesh horizontally and columns, vertically.
> >
> > This results in a grid, looking like prisms, where top and bottom faces
> > are triangles and side faces are rectangles.
> >
> > I was delighted to see that I could export the triangle DMPlex (2d Mesh)
> > to hdf5 and use petsc_gen_xdmf.py to then visualize the mesh in
> > visit/paraview.
> > This is especially nice when exporting petscsections/vectors directly to
> > VTK.
> >
>
> Great.
>
>
> > I then tried the same approach for the prism grid in 3D.
> > I attached the code for one single cell, as well as the output in hdf5.
> >
> > However, trying to convert the hdf5 output, it fails with:
> >
> > make prism.xmf
> >
> > $PETSC_DIR/bin/petsc_gen_xdmf.py prism.h5
> > Traceback (most recent call last):
> >   File
> > "/software/meteo/xenial/x86_64/petsc/master/debug_gcc/..//
> > bin/petsc_gen_xdmf.py",
> > line 241, in <module>
> >     generateXdmf(f)
> >   File
> > "/software/meteo/xenial/x86_64/petsc/master/debug_gcc/..//
> > bin/petsc_gen_xdmf.py",
> > line 235, in generateXdmf
> >     Xdmf(xdmfFilename).write(hdfFilename, topoPath, numCells,
> > numCorners, cellDim, geomPath, numVertices, spaceDim, time, vfields,
> > cfields)
> >   File
> > "/software/meteo/xenial/x86_64/petsc/master/debug_gcc/..//
> > bin/petsc_gen_xdmf.py",
> > line 193, in write
> >     self.writeSpaceGridHeader(fp, numCells, numCorners, cellDim, spaceDim)
> >   File
> > "/software/meteo/xenial/x86_64/petsc/master/debug_gcc/..//
> > bin/petsc_gen_xdmf.py",
> > line 75, in writeSpaceGridHeader
> >     ''' % (self.cellMap[cellDim][numCorners], numCells, "XYZ" if
> > spaceDim > 2 else "XY"))
> > KeyError: 6
> >
> >
> > Also, if I try to export a vector directly to vtk, visit and paraview
> > fail to open it.
> >
> > My question is:
> > Is this a general limitation of these output formats, that I can not mix
> > faces with 3 and 4 vertices or is it a limitation of the
> > petsc_gen_xdmf.py or the VTK Viewer.
> >
>
> petsc_gen_xdmf. Take a look here
>
>
> https://bitbucket.org/petsc/petsc/src/1731673c3fe570066779d46b51a4aee7a45775ed/bin/petsc_gen_xdmf.py?at=master&fileviewer=file-view-default#petsc_gen_xdmf.py-9
>
> This is what fails. You need to add something like
>
>    6: "Wedge"
>
> in the dictionary. See http://www.xdmf.org/index.php/XDMF_Model_and_Format
>
>
> > I'd also welcome any thoughts on the prism mesh in general.
> > Is it that uncommon to use and do you foresee other complications with it?
> >
>
> You need an element that works with prisms, but it seems you already have
> one. I know
> there is good work from here: https://arxiv.org/abs/1411.2940
>
>
> > I fear I cannot change the discretization of the host model but maybe it
> > makes sense to use a different grid for my radiative transfer code?
> >
>
> I do not really do RT, but would be happy to try and think about it.
>
>    Thanks,
>
>       Matt
>
>
> > Many thanks,
> >
> >
> > Fabian
> >
>

-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: a.croucher at auckland.ac.nz
tel: +64 (0)9 923 4611




More information about the petsc-users mailing list