Section: New Software and Platforms
Axel , a geometric modeler for algebraic objects
Participants : Nicolas Douillet, Anaïs Ducoffe [contact] , Valentin Michelet, Bernard Mourrain, Hung Nguyen, Meriadeg Perrinel.
computational algebraic geometry, curve, implicit equation, intersection, parameterization, resolution, surface, singularity, topology
We are developing a software called Axel (Algebraic Software-Components for gEometric modeLing) dedicated to algebraic methods for curves and surfaces. Many algorithms in geometric modeling require a combination of geometric and algebraic tools. Aiming at the development of reliable and efficient implementations, Axel provides a framework for such combination of tools, involving symbolic and numeric computations.
The software contains data structures and functionalities related to algebraic models used in geometric modeling, such as polynomial parameterizations, B-splines, implicit curves and surfaces. It provides algorithms for the treatment of such geometric objects, such as tools for computing intersection points of curves or surfaces, for detecting and computing self-intersection points of parameterized surfaces, for implicitization, for computing the topology of implicit curves, for meshing implicit (singular) surfaces, etc.
The developments related to isogeometric analysis have been integrated as dedicated plugins. Optimization techniques and solvers for partial differential equations developed by R. Duvigneau (OPALE) have been connected.
The new version of the algebraic-geometric modelers based on the dtk platform is still developed in order to provide a better modularity and a better interface to existing computation facilities and geometric rendering interface. This software is intended to be multi-platform, and jobs are running nightly on the Continous Integration platform https://ci.inria.fr/ of Inria, performing builds and tests on Virtual Machines of different OS such as Fedora, Ubuntu, Windows.
Axel is written in C++ and thanks to a wrapping system using SWIG, its data structures and algorithms can be integrated into C# programs, as well as Python and Java programs. This wrapper was used to integrate Axel into the CAD software TopSolid, developed by Missler Company and written in C#. But it also enables Axel to embed a Python interpreter.
Other functionalities were also added or improved: the scientific visualization was improved and it is now possible to create dynamic geometric model in Axel .
The software is distributed as a source package, as well as binary packages for Linux, MacOSX and Windows. It is hosted at http://dtk.inria.fr/axel with some of its plugins developed on Inria's gforge server (http://gforge.inria.fr ) The first version of the software has been downloaded more than 15000 times, since it is available. A new version, Axel 2.3.1, was released at the end of this year.
Collaboration with Gang Xu (Hangzhou Dianzi University, China), Julien Wintz (Dream), Elisa Berrini (MyCFD, Sophia), Angelos Mantzaflaris (GISMO library, Linz, Austria) and Laura Saini (Post-Doc GALAAD/Missler, TopSolid).