I think that having a basic mesh generator integrated into FEniCS
is important for the uptake of FEniCS by new users, as well as
for instruction. Although serious users will indeed usually need
to construct a mesh, even for them, it is useful to have something
quick and handy. You wouldn't consider removing UnitSquareMesh
and UnitCubeMesh would you?. Everyone uses them all the time,
because of the convenience of quickly getting a mesh when you want
to focus on other things, such as testing or demoing some code.
But rectangles are not sufficient for testing or demoing many
things, e.g., non-uniform meshes. FEniCS has UnitCircleMesh,
which produces a very poor mesh for most purposes (bad enough it
may be a negative advertisement), so if I want to pop up a mesh
on a curved domain, I am glad the CGAL mesh generator is there.
Of course, there are other mesh generators, and there is
dolfin-convert. But when introducing new users and students to
FEniCS, the learning code is already steep, and that adds more
things to learn.
So I think it would be a shame to lose CGAL without replacing it
with some other easy to use integrated mesh generator, preferably
including the constructive solid geometry CGAL has.
-- Doug
On 10/17/2013 04:06 AM, Garth N. Wells wrote:
On 2013-10-17 06:42, Anders Logg wrote:
On Wed, Oct 16, 2013 at 08:48:31PM +0100, Garth N. Wells wrote:
On 2013-10-16 20:17, Anders Logg wrote:
>On Wed, Oct 16, 2013 at 01:00:08PM +0100, Chris Richardson wrote:
>>On 16/10/2013 09:25, Garth N. Wells wrote:
>>>Does anyone have an opinion on keeping or removing CGAL from DOLFIN?
>>>Below are some pros and cons:
>>>
>>>- CGAL makes DOLFIN slow to build and builds use a lot of memory.
>>>- CGAL is unpredictable in throwing errors (predictable in that it
>>>will throw cryptic errors, unpredictable when or with which
compiler).
>>>- CGAL is difficult to understand and the latest version has very
>>>cryptic interface changes.
>>>- Almost all of the random DOLFIN buildbot failures are due to CGAL
>>>mesh generation failures.
>>>
>>>+ CGAL provides mesh generation for a variety of simple shape
>>>combinations (the DOLFIN interface to CGAL is not rich enough for
>>>anything serious).
>>
>>Agreed. Anyone serious will make their mesh independently, so CGAL
>>is really just an annoying toy in this context... (!)
>
>That may be true, but simple also has a use.
>
>It's an optional dependency, so why is it a big problem?
>
(a) the tests keep failing randomly; (b) it breaks with GCC 4.8; and
(c) updating to CGAL 3.4 is a cryptic mess.
I think
(a) enable the tests only on one buildbot, the one where we know it
fails the least
(b) + (c) try to find a replacement backend mesher (or write our own
mesher) as a long-term solution
The question to ask is what is the purpose of built-in mesh generation?.
I can only think of teaching. Anything else?
Writing our own mesh generation would be a huge waste of time. There are
good mesh generators available (netgen, gmsh, etc).
Garth
--
Anders
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics