On Wed, Feb 5, 2025 at 2:06 PM neil liu <liufi...@gmail.com> wrote:

> For open boundaries, MMG sets a reference for the internal open boundary
> surface and then runs in opnbdy mode after we define the corners using
> MMG3D_Set_corner.
>
> The edges are only desired for my own case. We need to know the edges
> delimiting the open boundary surface after refinement to extract some
> physical data.
>

Okay, so it seems that we need to extend the interface to MMG to allow
corners to be labeled. You can label edges on your own without extending
the interface I think. Let me know if this is wrong.

  Thanks,

     Matt


> On Wed, Feb 5, 2025 at 1:56 PM Matthew Knepley <knep...@gmail.com> wrote:
>
>> On Wed, Feb 5, 2025 at 1:24 PM neil liu <liufi...@gmail.com> wrote:
>>
>>> The corners can be set with MMG's own API function, LIBMMG3D_EXPORT int
>>> MMG3D_Set_corner(MMG5_pMesh mesh, MMG5_int k);
>>>
>>
>> This definitely sets a corner attribute on a vertex.
>>
>>
>>> The edges can be set with MMG's own API function,   LIBMMG3D_EXPORT int
>>> MMG3D_Set_edges(MMG5_pMesh mesh, MMG5_int *edges, MMG5_int* refs);
>>>
>>
>> This seems to define all the edges in the mesh. Are you saying that MMG
>> only uses these edge definitions for open boundaries?
>>
>>
>>> MMG doesn't have a very detailed documentation. The above API
>>> subroutines can be found,
>>> mmg/src/mmg3d/libmmg3d.h at master · MmgTools/mmg · GitHub
>>> <https://urldefense.us/v3/__https://github.com/MmgTools/mmg/blob/master/src/mmg3d/libmmg3d.h__;!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE8B3aWuU$
>>>  >
>>>
>>
>>   Thanks,
>>
>>      Matt
>>
>>
>>> Thanks,
>>>
>>> Xiaodong
>>>
>>> On Wed, Feb 5, 2025 at 1:16 PM Matthew Knepley <knep...@gmail.com>
>>> wrote:
>>>
>>>> On Wed, Feb 5, 2025 at 1:06 PM neil liu <liufi...@gmail.com> wrote:
>>>>
>>>>> Hi, Matt,
>>>>>
>>>>> It is not enough to only turn on -the open boundary.
>>>>> For the above example,  the 4 physical corner vertices (0D) for this
>>>>> internal quadrilateral surface have to be set, otherwise the shape can not
>>>>> be kept.
>>>>> In addition, for my present case, the boundary edges (1D) consisting
>>>>> of this quadrilateral surface need to be tagged.
>>>>> The present bdLabel seems to only work for 2D shapes for 3D cases.
>>>>> Please correct me if I am wrong.
>>>>>
>>>>
>>>> Are you saying that this is the interface published by MMG? Can you
>>>> point me toward the piece of MMG documentation? I just want to understand
>>>> the interface requirements before we make any changes to PETSc.
>>>>
>>>>   Thanks,
>>>>
>>>>      Matt
>>>>
>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Xiaodong
>>>>>
>>>>> On Wed, Feb 5, 2025 at 12:05 PM Matthew Knepley <knep...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> This is a really poor name. The boundary is not open in any sense. It
>>>>>> should be called an internal boundary, and what they call internal
>>>>>> boundaries should be called interdomain boundaries, but it seems too late
>>>>>> to fix this.
>>>>>>
>>>>>> Turning on open boundaries is just a flag, so that is easy, and one
>>>>>> can see the usefulness of this mode.
>>>>>>
>>>>>> My understanding from the documentation link below is that MMG does
>>>>>> not change anything about parts of the mesh marked
>>>>>> as internal boundaries, so we can read them right back out from the
>>>>>> boundary label. Why would we need a new label for this?
>>>>>>
>>>>>>   Thanks,
>>>>>>
>>>>>>      Matt
>>>>>>
>>>>>> On Wed, Feb 5, 2025 at 11:22 AM Pierre Jolivet <pie...@joliv.et>
>>>>>> wrote:
>>>>>>
>>>>>>> See also:
>>>>>>> https://urldefense.us/v3/__https://www.mmgtools.org/mmg-remesher-try-mmg/mmg-remesher-tutorials/mmg-remesher-mmg3d/open-boundary-remeshing__;!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE1Woy6zC$
>>>>>>>  
>>>>>>> .
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Pierre
>>>>>>>
>>>>>>> On 5 Feb 2025, at 4:39 PM, neil liu <liufi...@gmail.com> wrote:
>>>>>>>
>>>>>>> It seems the figures were  broken. Please see the following
>>>>>>> attached.
>>>>>>>
>>>>>>> On Wed, Feb 5, 2025 at 10:36 AM neil liu <liufi...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi, Mark,
>>>>>>>>
>>>>>>>> For example, in the left figure, the yellow rectangular face needs
>>>>>>>> to be preserved during mesh refinement. However, without specifying its
>>>>>>>> four corner points, the rectangle cannot be maintained, as shown in the
>>>>>>>> right figure. Additionally, the four edges of this face must be 
>>>>>>>> recorded
>>>>>>>> and retrieved for post-processing.
>>>>>>>>
>>>>>>>> This yellow face is an *open boundary*, meaning it is not an
>>>>>>>> interface between different materials. To ensure its preservation 
>>>>>>>> during
>>>>>>>> mesh refinement, MMG must be run in *opnbdy* (open boundary) mode.
>>>>>>>>
>>>>>>>> Thanks a lot,
>>>>>>>>
>>>>>>>> Xiaodong
>>>>>>>> [image: image.png] [image: image.png]
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Feb 5, 2025 at 10:05 AM Matthew Knepley <knep...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> On Wed, Feb 5, 2025 at 9:52 AM neil liu <liufi...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Dear developers,
>>>>>>>>>>
>>>>>>>>>> I am currently working with MMG in the context of PETSc and have
>>>>>>>>>> identified a need to modify the existing MMG interface,
>>>>>>>>>> DMAdaptMetric_Mmg_Plex(), for our use case. Given these
>>>>>>>>>> requirements, I would like to explore the feasibility of 
>>>>>>>>>> contributing to
>>>>>>>>>> PETSc to enhance this interface, which has been verified and 
>>>>>>>>>> validated in
>>>>>>>>>> our research code.
>>>>>>>>>> *Proposed Modifications:*
>>>>>>>>>>
>>>>>>>>>>    1.
>>>>>>>>>>
>>>>>>>>>>    *Additional Labels for Physical Entities:*
>>>>>>>>>>    - In addition to the existing bdLabel and rgLabel, our case
>>>>>>>>>>       requires two additional labels to represent physical vertices 
>>>>>>>>>> and edges
>>>>>>>>>>       within the computational domain (3D).
>>>>>>>>>>
>>>>>>>>>> I am open to this. Can you be more specific about what it means?
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>    1.
>>>>>>>>>>       - One approach is to introduce two new parameters in the
>>>>>>>>>>       subroutine’s input list. However, this may require 
>>>>>>>>>> modifications across
>>>>>>>>>>       related components, such as Pragmatic.
>>>>>>>>>>
>>>>>>>>>> This is not a problem. I can modify those.
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>    1.
>>>>>>>>>>
>>>>>>>>>>    *Support for Open Boundaries:*
>>>>>>>>>>    - The current interface does not support open boundaries, a
>>>>>>>>>>       feature available in MMG.
>>>>>>>>>>       - As a result, several MMG benchmark cases involving open
>>>>>>>>>>       boundary remeshing cannot be executed within PETSc.
>>>>>>>>>>
>>>>>>>>>> Can you explain what this means? What is an open boundary exactly?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Would this be a viable contribution to PETSc? If so, I would
>>>>>>>>>> appreciate any guidance on the best approach to implementing these 
>>>>>>>>>> changes
>>>>>>>>>> while maintaining compatibility with existing features.
>>>>>>>>>>
>>>>>>>>> Yes. Please make a fork of the petsc repo, make a branch with the
>>>>>>>>> proposed changes, make an MR for that branch, and add me to your fork 
>>>>>>>>> (I am
>>>>>>>>> knepley on GitLab). I can help you get it going.
>>>>>>>>>
>>>>>>>>>   Thanks,
>>>>>>>>>
>>>>>>>>>     Matt
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Looking forward to your thoughts.
>>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Xiaodong
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> 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://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE3cxbuL5$
>>>>>>>>>  
>>>>>>>>> <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!anvbtQDqn57whvgg2qc1Dix0Izm9kxNlvUkeyYkcfknnt6VmqbCE0mlGSj6O1DLJx6qR7-7UsHv48zbaqVDECw$>
>>>>>>>>>
>>>>>>>> <The right figure.png><The left figure.png>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> 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://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE3cxbuL5$
>>>>>>  
>>>>>> <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE3-t_-gv$
>>>>>>  >
>>>>>>
>>>>>
>>>>
>>>> --
>>>> 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://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE3cxbuL5$
>>>>  
>>>> <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE3-t_-gv$
>>>>  >
>>>>
>>>
>>
>> --
>> 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://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE3cxbuL5$
>>  
>> <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE3-t_-gv$
>>  >
>>
>

-- 
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://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE3cxbuL5$
  
<https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!a12JvlI5-IXiu6Hwt1OIe5YTPgfodZk6ktB8jtPM3CNaq6bks6hmIQ9m7eYvWH2ckwVHOX_DJWHtE3-t_-gv$
 >

Reply via email to