<div dir="ltr"><div dir="ltr">On Wed, Nov 3, 2021 at 8:06 AM TARDIEU Nicolas <<a href="mailto:nicolas.tardieu@edf.fr">nicolas.tardieu@edf.fr</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Dear Matt,
<div><br>
</div>
<div>Thank you for the additional information. </div>
<div>I do agree that I will have to write code to describe the interpolation I need for a multi-model problem.
</div>
<div>Let me try to illustrate my point on the simple mesh I have attached to this email. It is done with Gmsh but other generators I use can do the same.</div>
<div>The mesh is composed of : </div>
<div><br>
</div>
<div>- a 3D part, volume_3d, where continuum mechanics equations will be assigned (displacement dof)</div>
<div>- a 2D part, neumann_2d, which is a face of volume_3d and that will be used to integrate a Neumann condition assigned to volume_3d (it shares the displacement dof of volume_3d)</div>
<div>- a 2D part, shell_2d, where shell equations will be assigned (displacement+rotation dof)</div>
<div>- a 1D part, beam_1d, where beam equations will be assigned (displacement+rotation dof)<br>
</div>
<div><br>
</div>
I can imagine that it is impossible, only from the knowledge of the mesh, to guess the interpolation. But I would be happy to try to write a small DMPlex test to try to describe such a model with a little help from you or another PETSc practitioner.</div></div></blockquote><div><br></div><div>That is a good idea. I think we can use the pieces we have to build what you want automatically. Cn you send me the *.msh for this.</div><div>I do not even have GMsh running on my machine, so I cannot process the .geo :) When we read in GMah files, we mark the cell type.</div><div>However, I think we automatically try to find lower dimensional pieces in the existing mesh (since that is what people usually want, like</div><div>your neumann section), so we would need a way to indicate that we are specifying lower dimensional pieces that are not part of a</div><div>volumetric piece.</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">
<div>Regards, </div>
<div>Nicolas</div>
<div id="gmail-m_4528259501684613698appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_4528259501684613698divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>De :</b> <a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a> <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>><br>
<b>Envoyé :</b> mercredi 3 novembre 2021 12:14<br>
<b>À :</b> TARDIEU Nicolas <<a href="mailto:nicolas.tardieu@edf.fr" target="_blank">nicolas.tardieu@edf.fr</a>><br>
<b>Cc :</b> <a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a> <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>><br>
<b>Objet :</b> Re: [petsc-users] How to construct DMPlex of cells with different topological dimension?</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">On Wed, Nov 3, 2021 at 4:20 AM TARDIEU Nicolas via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:<br>
</div>
<div>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div><span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">Dear all,</span></div>
<div><span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><br>
</span></div>
<div><span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">As a practitioner of structural mechanics, I modestly wish to support Yuan's argument. Model mixing, and consequently finite element dimension
<span style="background-color:rgb(255,255,255);display:inline">mixing</span>, is (perhaps unfortunately) an inescapable practice of this engineering field. This has consequences not only on the nature of the meshes we use but also on the quasi-systematic recourse
to linear relations (also named multipoints constraints, MPC) between the degrees of freedom of the different models (for example, linking a shell to a 3D part requires to write kinematic connections between displacements and rotatio</span><span style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">ns).</span>
<div><span style="font-family:Calibri,Helvetica,sans-serif">DMPlex handling such meshes would be a really great contribution for the structural mechanics community.</span></div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Nicolas,</div>
<div><br>
</div>
<div>From my point of view, this is supported, so it would be good to understand what you do not think is supported:</div>
<div><br>
</div>
<div>1) Multiple models</div>
<div><br>
</div>
<div> This is supported in the sense that you can use any data layout, and assemble any system you want into it. You can use</div>
<div> beams along edges and shells on faces if you want. I have examples of different equations in different pieces of the domain.</div>
<div><br>
</div>
<div>2) Mesh with pieces hanging off</div>
<div><br>
</div>
<div> This is supported in the sense that you can input such a mesh. You have to describe it completely, but it can be input and iterated over.</div>
<div><br>
</div>
<div>3) Mesh Interpolation</div>
<div><br>
</div>
<div> If you only want to input vertices _and_ you want to input different dimensional objects, you will have to write code. There is no way to guess</div>
<div> what you mean from a collection of vertices. You could</div>
<div><br>
</div>
<div> a) Directly call GetRawFaces() to do the interpolation per cell before input (seems easier)</div>
<div><br>
</div>
<div> b) Rewrite the interpolation loop to check whether cell types have been set and just call the appropriate interpolation if they have</div>
<div><br>
</div>
<div>I guess you are arguing that I should add the code for 3). Most people I have interacted with use a mesh generator to make the meshes, so</div>
<div>I concentrated on importing those formats. Can meshes like these be made with those generators?</div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<div> </div>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>
<div id="gmail-m_4528259501684613698x_gmail-m_-3853343073076428415Signature">
<div>
<div name="x_divtagdefaultwrapper" style="margin:0px"><span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"></span>
<div style="margin:0px"><span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">Best regards,
</span></div>
<span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"></span>
<div style="margin:0px"><font face="Calibri, Arial, Helvetica, sans-serif"><span style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">Nicolas</span></font><br>
<div dir="ltr" style="font-family:Calibri,Arial,Helvetica,sans-serif;margin:0px">
<span lang="en-US"><font size="2" face="Calibri,sans-serif"><font size="1" face="Arial,sans-serif" color="#0062e1"><br>
</font></font></span></div>
</div>
</div>
</div>
</div>
</div>
<p></p>
<p><br>
Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme à sa destination, toute
diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse.</p>
<p>Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez reçu ce Message par erreur, merci de le supprimer de votre système, ainsi que toutes ses
copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions également d'en avertir immédiatement l'expéditeur par retour du message.</p>
<p>Il est impossible de garantir que les communications par messagerie électronique arrivent en temps utile, sont sécurisées ou dénuées de toute erreur ou virus.<br>
____________________________________________________</p>
<p>This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure,
either whole or partial, is prohibited except formal approval.</p>
<p>If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message.</p>
<p>E-mail communication cannot be guaranteed to be timely secure, error or virus-free.</p>
</div>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener</div>
<div><br>
</div>
<div><a href="https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.cse.buffalo.edu%2F~knepley%2F&data=04%7C01%7Cnicolas.tardieu%40edf.fr%7C6a1cf9718d7e4f604e1e08d99ebb4487%7Ce242425b70fc44dc9ddfc21e304e6c80%7C1%7C0%7C637715349457899987%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=MWEk6JRYK%2BmzqFqNfagjb8zLEGqmsHx%2BgQ6gjjuI5tw%3D&reserved=0" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p></p>
<p><br>
Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme à sa destination, toute diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse.</p>
<p>Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez reçu ce Message par erreur, merci de le supprimer de votre système, ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions également d'en avertir immédiatement l'expéditeur par retour du message.</p>
<p>Il est impossible de garantir que les communications par messagerie électronique arrivent en temps utile, sont sécurisées ou dénuées de toute erreur ou virus.<br>
____________________________________________________</p>
<p>This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval.</p>
<p>If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message.</p>
<p>E-mail communication cannot be guaranteed to be timely secure, error or virus-free.</p></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>