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

Reply via email to