Finite Elements

Images on the right are © SIGGRAPH 2017, by Koschier et al. (top), and Jiang et al. (bottom).

Computational mechanics routines, in other terms physical engines, are employed massively in the engineering and entertainment industries, being computer games, movies, or computer-aided design applications. However, current open-source and even commercial libraries either lack speed or accuracy. We aim at both. Finite Elements are an accurate methods for solving differential equations, such as elasticity or fluid-solid interactions.

Currently, we are writing a Finite Element software named sindy to simulate CNT (Carbon Nanotubes) materials with a non-linear plasticity model. CNTs are new materials that can yield a very stiff behavior akin to steel, with a fraction of the equivalent steel weight: CNTs can be embedded in polymeric matrices, and as such they are extremely light, and with CNT embedding, very useful in engineering.

This poses challenges, as not only we aim at simulating, but also optimizing the material, e.g., finding the optimal alignment of tubes, or the optimal CNT type: this requires a lot of CPU-hours. We are moving our existing code to a new form, employing GPUs for accelerating the solution process (OpenCL, Nvidia’s CUDA), speeding up not only the solution but also the optimization, currently relying on genetic algorithms.