Collaborative Research: Si2-Ssi: Open Source Support for Massively Parallel, Generic Finite Element Methods
- View All
Partial differential equations are used in a wide variety of applications as mathematical models. Their numerical solution is, consequently, of prime importance for the accurate simulation and optimization of processes in the sciences, engineering, and beyond. The last decade saw the emergence of large and successful libraries that support such applications. While these libraries provide most of what such codes need for small-scale computations, many realistic applications yield problems of hundreds of millions or billions of unknowns and require clusters with thousands of processor cores, but there is currently little generic support for such problems, limiting access to the many large publicly supported computing facilities to experts in computational science and excluding scientists from many fields for whom computational simulation would be a useful tool. This project intends to build the software infrastructure that will allow a wide cross section of scientists to utilize these large resources. This project intends to support the software infrastructure for the large-scale solution of partial differential equations on massively parallel computational resources in a generic way. It will build on two of the most successful libraries for scientific computing, the finite element library deal.II, and Trilinos that provides the parallel linear algebra capabilities for the former. Specifically, we will: (i) Make support for massively parallel computations ubiquitous in deal.II; (ii) Research and develop seamless support for problems with billions of unknowns in both libraries and improve the interaction between the two; (iii) Exploit intra-node parallelism on today''s clusters; (iv) Ensure the applicability of our work on a broad basis by implementing two real-world applications. Both deal.II and Trilinos have large, active and diverse developer and user communities, and this project will actively engage these communities through user meetings, short courses, regularly taught classes, mailing lists, and direct contact in focused projects.