On Sat, Jan 5, 2019 at 4:04 AM Yann Jobic <yann.jo...@univ-amu.fr> wrote:

>
> On 05/01/2019 02:36, Matthew Knepley wrote:
>
> On Fri, Jan 4, 2019 at 10:04 AM Yann Jobic via petsc-users <
> petsc-users@mcs.anl.gov> 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.
>
Yes.

> Then the interpolation will be correct ?
>
This is the tricky part. What you likely have to do is:

  1) Build the topology
  2) Run over the cells
  3) For each cell, put in the coordinates using DMPlexVecSetClosure().
This is redundant, but the only way
      you can connect with the Q9 format.

> Can i use DMproject and all the petsc functions ?
>
This is the idea. The amount of testing is so far almost nothing.

> 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).
>
That is a good question. Right now, it will just output Q4. However,
compared to everything else, writing Q9 should
be comparatively easy.

> Or is it working with the hdf5 one ?
>
I would probably write code to to Xdmf through HDF5 rather than straight
VTK, but we will end up having both.

> Does the p4est interface work with this setup ?
>
It will. I do not know if it currently does. We have to check.

  Thanks,

    Matt

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

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