On Mon, Oct 19, 2009 at 11:27:53AM +0100, Garth N. Wells wrote:
Andre Massing wrote:
Hi,
I am just wondering why GTS has been only optional in the past, although
the eval function
void Function::eval(double* values, const double* x) const
http://www.fenics.org/hg/dolfin/file/32bcc3b91dd7/dolfin/function/Function.cpp#l243
in the Function class depends on the IntersectionDetector, which in turn
depends on GTS.
GTS was added before eval(double* values, const double* x) for finite
element functions was added and we haven't bothered reconsidering
whether or not GTS should be an optional dependency sicne. Most demos
should run without GTS.
Furthermore a 1D function can not evaluated at arbitrary points for
functions on 1D grids since the the IntervalCell class
http://www.fenics.org/hg/dolfin/file/32bcc3b91dd7/dolfin/mesh/IntervalCell.cpp#l183
does not provide a implementation.
So I wondering how these things work instead? At least I could not find
it in the docs and my benchmarks throw an exception when I tried to run
the old IntersectionDetector for 1D meshes and points intersection.
Probably never been tested before.
Garth
(Of course the forthcoming CGAL interface will remedy these issues
;))
Even so, it would probably be best to make CGAL optional since it may
be a heavy dependency. We can throw a sensible error message when CGAL
is not installed. It would be good to make it possible to install
DOLFIN on a Debian-based system with the only extra dependencies being
other FEniCS packages.