[petsc-users] How to construct DMPlex of cells with different topological dimension?
TARDIEU Nicolas
nicolas.tardieu at edf.fr
Wed Nov 3 08:25:04 CDT 2021
Here are the msh files. In the first one, each different part is meshed with a single element. The others are subdivisions of the original one.
Let me know if you need any extra stuff.
Regards,
Nicolas
________________________________
De : knepley at gmail.com <knepley at gmail.com>
Envoyé : mercredi 3 novembre 2021 13:12
À : TARDIEU Nicolas <nicolas.tardieu at edf.fr>
Cc : petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
Objet : Re: [petsc-users] How to construct DMPlex of cells with different topological dimension?
On Wed, Nov 3, 2021 at 8:06 AM TARDIEU Nicolas <nicolas.tardieu at edf.fr<mailto:nicolas.tardieu at edf.fr>> wrote:
Dear Matt,
Thank you for the additional information.
I do agree that I will have to write code to describe the interpolation I need for a multi-model problem.
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.
The mesh is composed of :
- a 3D part, volume_3d, where continuum mechanics equations will be assigned (displacement dof)
- 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)
- a 2D part, shell_2d, where shell equations will be assigned (displacement+rotation dof)
- a 1D part, beam_1d, where beam equations will be assigned (displacement+rotation dof)
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.
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.
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.
However, I think we automatically try to find lower dimensional pieces in the existing mesh (since that is what people usually want, like
your neumann section), so we would need a way to indicate that we are specifying lower dimensional pieces that are not part of a
volumetric piece.
Thanks,
Matt
Regards,
Nicolas
________________________________
De : knepley at gmail.com<mailto:knepley at gmail.com> <knepley at gmail.com<mailto:knepley at gmail.com>>
Envoyé : mercredi 3 novembre 2021 12:14
À : TARDIEU Nicolas <nicolas.tardieu at edf.fr<mailto:nicolas.tardieu at edf.fr>>
Cc : petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov> <petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>>
Objet : Re: [petsc-users] How to construct DMPlex of cells with different topological dimension?
On Wed, Nov 3, 2021 at 4:20 AM TARDIEU Nicolas via petsc-users <petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>> wrote:
Dear all,
As a practitioner of structural mechanics, I modestly wish to support Yuan's argument. Model mixing, and consequently finite element dimension mixing, 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 rotations).
DMPlex handling such meshes would be a really great contribution for the structural mechanics community.
Nicolas,
>From my point of view, this is supported, so it would be good to understand what you do not think is supported:
1) Multiple models
This is supported in the sense that you can use any data layout, and assemble any system you want into it. You can use
beams along edges and shells on faces if you want. I have examples of different equations in different pieces of the domain.
2) Mesh with pieces hanging off
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.
3) Mesh Interpolation
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
what you mean from a collection of vertices. You could
a) Directly call GetRawFaces() to do the interpolation per cell before input (seems easier)
b) Rewrite the interpolation loop to check whether cell types have been set and just call the appropriate interpolation if they have
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
I concentrated on importing those formats. Can meshes like these be made with those generators?
Thanks,
Matt
Best regards,
Nicolas
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.
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.
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.
____________________________________________________
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.
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.
E-mail communication cannot be guaranteed to be timely secure, error or virus-free.
--
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/<https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.cse.buffalo.edu%2F~knepley%2F&data=04%7C01%7Cnicolas.tardieu%40edf.fr%7C0b88faa4102a4bc9791708d99ec344dc%7Ce242425b70fc44dc9ddfc21e304e6c80%7C1%7C0%7C637715383783892334%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=sefNKDCmHgHMeMd%2FsmVRnGjVNxtfpoKMqv6PoGk4sIQ%3D&reserved=0>
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.
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.
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.
____________________________________________________
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.
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.
E-mail communication cannot be guaranteed to be timely secure, error or virus-free.
--
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/<https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.cse.buffalo.edu%2F~knepley%2F&data=04%7C01%7Cnicolas.tardieu%40edf.fr%7C0b88faa4102a4bc9791708d99ec344dc%7Ce242425b70fc44dc9ddfc21e304e6c80%7C1%7C0%7C637715383783902283%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=iaObIrYixsfs2%2BVikCLFvjVepetGwEPNNsYM%2BvwPFRg%3D&reserved=0>
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.
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.
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.
____________________________________________________
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.
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.
E-mail communication cannot be guaranteed to be timely secure, error or virus-free.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211103/ba088910/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: multimodelX4.msh
Type: application/octet-stream
Size: 7759 bytes
Desc: multimodelX4.msh
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211103/ba088910/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: multimodelX2.msh
Type: application/octet-stream
Size: 2530 bytes
Desc: multimodelX2.msh
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211103/ba088910/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: multimodel.msh
Type: application/octet-stream
Size: 1580 bytes
Desc: multimodel.msh
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211103/ba088910/attachment-0005.obj>
More information about the petsc-users
mailing list