On Mon, May 29, 2017 at 5:13 PM, Adrian Croucher <[email protected]> wrote:
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.
Sorry about not keeping up to date on that. I had not really thought about it working until Fabian suggested it. So, it looks like XDMF output works. I am making a test now. However, other stuff will not, like refinement, interpolation, cell geometry, and other discretization stuff. What do you need working? Thanks, Matt
Cheers, Adrian
Message: 4
Date: Fri, 26 May 2017 22:40:40 -0500 From: Matthew Knepley <[email protected]> To: "Fabian.Jakub" <[email protected]> Cc: PETSc <[email protected]> Subject: Re: [petsc-users] DMPlex export to hdf5/vtk for triangle/prism mesh Message-ID: <CAMYG4GkVOTtFL_OBpUBPGEcBTikMbLOb5ruz=VU7tVTO6JQHTQ@mail. gmail.com> Content-Type: text/plain; charset="utf-8"
On Fri, May 26, 2017 at 12:27 PM, Fabian.Jakub < [email protected]> 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/1731673c3fe570066779d4 6b51a4aee7a45775ed/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: [email protected] tel: +64 (0)9 923 4611
-- 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 http://www.caam.rice.edu/~mk51/