Hi Tim, > On 29 May 2020, at 17:30, Tim Furlan <tim.fur...@tu-dortmund.de> wrote: > > Dear gmsh users and developers, > > i am dealing with high-deformation FEM simulations involving contact. I would > like to replace the deformed mesh with a new one after a certain number of > steps (potentially many times during one simulation). I use Abaqus as the FEM > solver if it matters, and use the python api of gmsh. > > For the remeshing, i create geometrical surfaces for all faces of my elements > on the boundary of the domain. This means also creating lines for all element > edges and keeping track of them, since they might occur more than once and > with different directions. > > I need to track certain subdomains (e.g. parts of the surface) to impose the > boundary conditions, and the solution i came up with is to compound the > corresponding surface faces and their respective boundaries (to allow both > refinement and coarsening). To do this, i need to split the boundaries of the > subdomains in a lot of segments (so that they end when a domain ends). > > Tracking the subdomains only through physical tags seems unfeasible since the > subdomain boundaries are then only preserved inaccurately. >
It's indeed a "classical" problem. I don't think there's a definitive answer about whether it's better to change/reconstruct the CAD and/or deform/untangle/adapt the mesh. > I feel that i might be missing an easier way to do what i want. I looked into > the tutorials and found the following options: > > - The createGeometry() command is able to create geometry from a mesh > (basically doing what i do by hand i guess?). However, i did not find an easy > way to track boundary conditions using this, as i can not rely on identifying > them by feature angles. Is there any way to obtain the elements the resulting > entities are derived from? > > - The tutorial on meshing of discrete curves looks like it follows a similar > approach. However, i was unable to extend this approach to 3d surfaces. Is it > possible to define discrete entities for the different parts of the body > surface i want to remesh instead of using compounds? I was especially > confused with how to handle e.g. element edges that belong to multiple > surface parts. > You should be able to do this indeed, i.e. define discrete surfaces after deformation and remesh those. Maybe send a small example? It might be better to open an issue on the gitlab for this, so that we can track progress. Christophe > I would appreciate any input on a more elegant/efficient way to solve the > problem. > > > Kind regard and thanks in advance > > Tim > > > > > _______________________________________________ > gmsh mailing list > gmsh@onelab.info > http://onelab.info/mailman/listinfo/gmsh — Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine _______________________________________________ gmsh mailing list gmsh@onelab.info http://onelab.info/mailman/listinfo/gmsh