On 07/03/2021 22:30, Matthew Knepley wrote:
On Sun, Mar 7, 2021 at 4:13 PM Nicolas Barral <[email protected] <mailto:[email protected]>> wrote:

    On 07/03/2021 16:54, Matthew Knepley wrote:
     > On Sun, Mar 7, 2021 at 8:52 AM Nicolas Barral
     > <[email protected]
    <mailto:[email protected]>
     > <mailto:[email protected]
    <mailto:[email protected]>>> wrote:
     >
     >     Matt,
     >
     >     Thanks for your answer.
     >
     >     However, DMPlexComputeCellGeometryFVM does not compute what I
    need
     >     (normals of height 1 entities). I can't find any function doing
     >     that, is
     >     there one ?
     >
     >
     > The normal[] in DMPlexComputeCellGeometryFVM() is exactly what
    you want.
     > What does not look right to you?


    So it turns out it's not what I want because I need non-normalized
    normals. It doesn't seem like I can easily retrieve the norm, can I?


You just want area-weighted normals I think, which means that you just multiply by the area,
which comes back in the same function.


Ah by the area times 2, of course, my bad.
Do you order height-1 elements in a certain way ? I need to access the facet (resp. edge) opposite to a vertex in a tet (resp. triangle).

Thanks

--
Nicolas


   Thanks,

     Matt

    If not, I'll fallback to computing them by hand for now. Is the
    following assumption safe or do I have to use DMPlexGetOrientedFace?
      >  if I call P0P1P2P3 a tet and note x the cross product,
      >  P3P2xP3P1 is the outward normal to face P1P2P3
      >  P0P2xP0P3              "                P0P2P3
      >  P3P1xP3P0              "                P0P1P3
      >  P0P1xP0P2              "                P0P1P2

    Thanks

-- Nicolas
     >
     >    Thanks,
     >
     >      Matt
     >
     >     So far I've been doing it by hand, and after a lot of
    experimenting the
     >     past weeks, it seems that if I call P0P1P2P3 a tetrahedron
    and note x
     >     the cross product,
     >     P3P2xP3P1 is the outward normal to face P1P2P3
     >     P0P2xP0P3              "                P0P2P3
     >     P3P1xP3P0              "                P0P1P3
     >     P0P1xP0P2              "                P0P1P2
     >     Have I been lucky but can't expect it to be true ?
     >
     >     (Alternatively, there is a link between the normals and the
    element
     >     Jacobian, but I don't know the formula and can  find them)
     >
     >
     >     Thanks,
     >
     >     --
     >     Nicolas
     >
     >     On 08/02/2021 15:19, Matthew Knepley wrote:
     >      > On Mon, Feb 8, 2021 at 6:01 AM Nicolas Barral
     >      > <[email protected]
    <mailto:[email protected]>
     >     <mailto:[email protected]
    <mailto:[email protected]>>
     >      > <mailto:[email protected]
    <mailto:[email protected]>
     >     <mailto:[email protected]
    <mailto:[email protected]>>>> wrote:
     >      >
     >      >     Hi all,
     >      >
     >      >     Can I make any assumption on the orientation of triangular
     >     facets in a
     >      >     tetrahedral plex ? I need the inward facet normals. Do
    I need
     >     to use
     >      >     DMPlexGetOrientedFace or can I rely on either the tet
    vertices
     >      >     ordering,
     >      >     or the faces ordering ? Could
    DMPlexGetRawFaces_Internal be
     >     enough ?
     >      >
     >      >
     >      > You can do it by hand, but you have to account for the face
     >     orientation
     >      > relative to the cell. That is what
     >      > DMPlexGetOrientedFace() does. I think it would be easier
    to use the
     >      > function below.
     >      >
     >      >     Alternatively, is there a function that computes the
    normals
     >     - without
     >      >     bringing out the big guns ?
     >      >
     >      >
     >      > This will compute the normals
     >      >
     >      >
     >
    
https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexComputeCellGeometryFVM.html
     >      > Should not be too heavy weight.
     >      >
     >      >    THanks,
     >      >
     >      >      Matt
     >      >
     >      >     Thanks
     >      >
     >      >     --
     >      >     Nicolas
     >      >
     >      >
     >      >
     >      > --
     >      > 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/>



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