On 05/01/2019 02:36, Matthew Knepley wrote:
On Fri, Jan 4, 2019 at 10:04 AM Yann Jobic via petsc-users <[email protected] <mailto:[email protected]>> wrote:

    Dear Petsc Users,

    I'm using DMPlexCreateFromCellList to create my DM. I would like
    to have
    an order 2 geometry.

    It's working fine in 2D for elements of type Q9.


I do not see how that is possible. The topology does not work that way, and there is no way a 9 vertex quad was interpolated, so something else is happening.

Moreover, anything you input still has affine geometry. Toby has been working on non-affine geometry, and all the code is there, but right now you have to build and populate the coordinate space by hand. What this means is that you create a quadratic space for the coordinate DM (rather than the default linear), get the global coordinate vector out, and stick in the Q9 coordinates. The topology is still
the same no matter what coordinates you read in.

I get the idea. So at the beginning i start with the Q4/H8 dmplex, then i fill from the global coordinate vector the missing coordinates, and attach this new coordinate vector to the DM. Then the interpolation will be correct ? Can i use DMproject and all the petsc functions ?

In order to output the results, i've got to write my own vtk interface no ? (by splitting the Q9/H27 in 4xQ4 or 8xH8).

Or is it working with the hdf5 one ?

Does the p4est interface work with this setup ?


We will get around to making an interface for this soon.

Great !

Thanks,

Yann


  Thanks,

     Matt

    I checked that it's working correctly by using
    DMPlexComputeCellGeometryFEM, and compute the value of the
    determinant
    (CheckMeshGeometry of dm/impls/plex/examples/tutorials/ex2.c)

    I can import H8 elements, it's working fine.

    But for H27 element, it's not working. I really don't know how to
    order
    my vertex in the cells array. So far, the determinant is zero...

    I don't know where to look in order to find this information. I tried
    the function DMPlexGetRawFaces_Internal of the file

    
https://www.mcs.anl.gov/petsc/petsc-current/src/dm/impls/plex/plexinterpolate.c.html#DMPlexGetRawFaces_Internal

    but it didn't help me.

    Could you please point me where to look ?

    Thanks, and happy new year !

    Yann



--
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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>

Reply via email to