ELLIPTIc: The Extensible Library for Physical Simulations
Guilherme Praciano Karst Caminha1; Ricardo Jorge Morais de Lira Filho1; Ramiro Brito Willmersdorf1; Darlan Karlo Elisiário de Carvalho1; Paulo Roberto Maciel Lyra1
1 Universidade Federal de Pernambuco
doi:10.20906/CPS/CILAMCE2017-0932
Resumo
Strategies for computational modeling and simulation of physical problems are based on the discrete representation of governing equations and physical do-mains. More accurate and reliable discretization techniques are under constant development. To implement these strategies, computational tools for the dis-crete representation of the physical domain are used. These tools provide data structures and algorithms for the storage and abstracted queries of adjacencies and other topological and geometric information. The computational power of modern computers is always increasing, and for large scale simulations, it is imperative to adopt tools capable of delivering high-performance resources that are available, such as large-scale parallelism. ELLIPTIc (The Extensible Library for Physical simulaTIons) aims to be an enabling technology for the develop-ment of numerical methods based on compact and non-compact stencils, with structured, non-structured, conformal and non-conformal meshes, in one, two or three dimensions. Developed with the Python programming language, EL-LIPTIc uses the high-performance libraries MOAB and Trilinos, built in C++ and Fortran, which offer data structures and algorithms for the storage and rep-resentation of meshes, sparse matrices, preconditioners and linear and non-linear solvers. Therefore, ELLIPTIc offers the ease of programming and ad-vanced Software Engineering techniques that can be applied to the Python programming language, while using high-performance libraries, compensating potential bottlenecks that can arise while using a high-level and interpreted language such as Python. This library is, therefore, not only a tool for prototyp-ing and testing of numerical methods but also usable in real and large-scale contexts. ELLIPTIc is also distributed as an Open Source package through the MIT License. To provide qualitative results regarding the usability of the library, we present an implementation of a Control Volume Finite Differences Method.
Palavras-chave: Numerical Methods; High-Performance; Python; Enabling Technology