An Object-oriented Environment for Developing Finite Element Codes for Multi-disciplinary Applications

Pooyan Dadvand, Riccardo Rossi, Eugenio Oñate
2010 Archives of Computational Methods in Engineering  
The objective of this work is to describe the design and implementation of a framework for building multidisciplinary finite element programs. The main goals are generality, reusability, extendibility, good performance and memory efficiency. Another objective is preparing the code structure for team development to ensure the easy collaboration of experts in different fields in the development of multi-disciplinary applications. Kratos, the framework described in this work, contains several
more » ... for the easy implementation of finite element applications and also provides a common platform for the natural interaction of different applications. To achieve this, an innovative variable base interface is designed and implemented. This interface is used at different levels of abstraction and showed to be very clear and extendible. A very efficient and flexible data structure and an extensible IO are created to overcome difficulties in dealing with multidisciplinary problems. Several other concepts in existing works are also collected and adapted to coupled problems. The use of an interpreter, of different data layouts and variable number of dofs per node are examples of such approach. In order to minimize the possible conflicts arising in the development, a kernel and application approach is used. The code is structured in layers to reflect the working space of developers with different fields of expertise. Details are given on the approach chosen to increase performance and efficiency. Examples of application of Kratos to different P. D a d va n d ( ) •
doi:10.1007/s11831-010-9045-2 fatcat:bh7ayic2czhnbjpntpfpn7ennm