Skip to content (access key 's')
Logo of Technion
Logo of CS Department
Logo of CS4People
Events

The Taub Faculty of Computer Science Events and Talks

CGGC Seminar: IGATOOLS: A General Purpose C++14 Library for Isogeometric Analysis
event speaker icon
Pablo Antolin (Ecole Polytechnique F´ed´erale de Lausanne - EPFL, Switzerland)
event date icon
Monday, 25.09.2017, 14:00
event location icon
Room 337 Taub Bld.
We present the design and the implementation of IGATOOLS [1], a C++14 general purpose library for solving PDEs using the isogeometric analysis framework [2]. The most remarkable aspect of isogeometric methods is the use of the same set of spline functions for representing the geometric domain and for describing the solution of PDEs.

In the IGATOOLS design, the mathematical concepts of the isogeometric method and their relationships are directly mapped into classes and their interactions. This encapsulation gives flexibility to use the library in a wide range of scientific areas and applications. We provide a precise framework for a lot of loose, available information regarding the implementation of the isogeometric method, and also discuss the similarities and differences between this and the finite element method.

The library uses advanced object oriented and generic programming techniques to ensure reusability, reliability, and maintainability of the source code. Among other capabilities, the library supports the development of dimension independent code (including manifolds and tensor-valued spaces), implements mutlithreaded methods and takes full advantage of the underlying tensor-product structure of the problem at hand (if any). The library also provides a plugin for interfacing with ParaView [3] in order to help the user to visualize the results. A bunch of code examples to illustrate the flexibility and power of the library are presented.

Finally, new upcoming features are introduced: hierarchical B-Splines, which allows to perform local refinement; and computations in 2D and 3D trimmed domains (by using Irit [4]), in collaboration with Gershon Elber (Technion).