Subject: Re: [Unicorn-dev] [DOLFIN-dev] Mesh Refinement

From: "Johan Hoffman" <[email-masked]>
Date: Tue, 16 Jun 2009 09:12:02 +0200

> On 15/06/09 10:21 PM, Jehanzeb Hameed wrote:
>> Hello,
>>
>> Is there a function I can hook into LocalMeshRefinement (or elsewhere)
>> which allows me to define the rule for edge-bisection? This would be
>> handy, e.g. if we knew our mesh was a sphere, then points on boundary
>> can be pushed off differently so that they always lie on the sphere.
>>
>>
> As far as I know Dolfin doesn't support any other description of solid
> different than just Mesh. This means that there is no way to follow
> shape of the boundary during refinement.
> This would be nice to have such feature, but I can't imagine
> implementing it without having advanced meshing core with support for
> CSG or something similar.
>
> If you really need a smooth sphere, I would just change the code of
> RivaraRefinement.cpp (see line 264, where new point is defined). For
> sphere is quite simple, to predict where the point should be located.
>
> cheers
> BArtek

The simplified cases of cylinders and spheres are available today in Unicorn:
http://www.fenics.org/wiki/Unicorn

We are currently developing the general case of projection of the mesh
onto an exact geometry, where the exact geometry can be represented e.g.
as a NURBS surface, which I expect will be in place after the summer.

Also, different variants of local mesh refiement (such as the Rivara
algorithm) is available today in Unicorn, including a distributed parallel
version using MPI.

For a continuing discussion on Unicorn, there is a dedicated mailing list:
[email-masked]

All the best,
Johan