Remeshing an updated domain

Asked by Edwin Mai on 2013-02-16

Hello,
i am implementing a shape optimization problem using FEniCS.
The initial domain is defined and meshed by the external mesh generator
Gmsh and then imported by the constructor of the Mesh class.

The deformation of the domain is defiend by the shape gradient acting on everey
node on the boundary in normal direction. After that the node positions of the mesh
inside the domain were updated by a laplace smoother with the displacement of the
boundary as a dirichlet boundary condition.

Unformunatley after a few iterations the quality of the mesh strongly decreases.
At this point a remeshing is requiered, but how do i handle this in FEniCS?

Does FEniCS provide the possibility to remesh the domain with built-in tools or
do i need the extern mesh generator api? Which mesh generator is the easiest
for such problemes (2D/3D domain with shape of curved pipe).

Thank you very much
Edwin

Question information

Language:
English Edit question
Status:
Solved
For:
FEniCS Project Edit question
Assignee:
No assignee Edit question
Solved by:
Edwin Mai
Solved:
2013-02-17
Last query:
2013-02-17
Last reply:
2013-02-16

On Sat, Feb 16, 2013 at 3:35 PM, Edwin Mai
<email address hidden> wrote:
> Unformunatley after a few iterations the quality of the mesh strongly decreases.
> At this point a remeshing is requiered, but how do i handle this in FEniCS?
The mesh class is very well described in detail here:

http://fenicsproject.org/documentation/dolfin/1.1.0/python/programmers-reference/cpp/mesh/Mesh.html#dolfin.cpp.mesh.Mesh

Also you can interface to gmsh, which has a pretty extensive
non-interactive mode, as far as I know.

> Does FEniCS provide the possibility to remesh the domain with built-in tools or
> do i need the extern mesh generator api? Which mesh generator is the easiest
> for such problemes (2D/3D domain with shape of curved pipe).
Divide and conquer! ;-)

Best,

Roland

Edwin Mai (edwinmai) said : #2

Thank you very much Roland. I try to implement your advices.