[petsc-users] DMPlex H27 elements
Yann Jobic
yann.jobic at univ-amu.fr
Tue Jan 8 12:45:44 CST 2019
On 05/01/2019 13:23, Matthew Knepley wrote:
> On Sat, Jan 5, 2019 at 4:04 AM Yann Jobic <yann.jobic at univ-amu.fr
> <mailto:yann.jobic at 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 at mcs.anl.gov <mailto:petsc-users at 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.
So far, i can change the PetscSpace order, add this space to a PetscFE,
and finally attach this PetscFE to a PetscDS (discetization) to my DM.
But if i'm doing that, the middle nodes will already be added (i
couldn't find this function so far, could you point me the name ?). I
can still move those middle vertex to my geometry.
But i couldn't find a way to define the quadratic space for the
coordinate DM before all of that, at the DM (or DMPlex) level.
What way can you advise me to use in order to do that ?
Thank you,
Yann
> 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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190108/dc41e6dc/attachment.html>
More information about the petsc-users
mailing list