INSTITUTO DE ESTUDIOS AVANZADOS EN INGENIERIA Y TECNOLOGIA
Unidad Ejecutora - UE
congresos y reuniones científicas
First Steps Toward a Parallel, Flexible, and Configurable Mesh Database for Unstructured Mesh Applications
S. ELASKAR; J. SALDÍA
Congreso; XXII Congreso sobre Métodos Numéricos y sus Aplicaciones; 2016
Universidad Tecnológica Nacional - Facultad Regional Córdoba
Unstructured mesh-based methods, have certain features which make them very attractivewhen geometric flexibility and/or solution-adaptive techniques are considered, as is common in numer-ical simulations in different domains of engineering. Unstructured mesh oriented systems require themaintaining of a data structure, generally known as mesh database, which main purpose is the man-agement of general information regarding the topology, geometry and the (discrete) fields which aredefined on the elements of the mesh. In general, this requirement impacts in the form of an exponentialincrement of software complexity of these systems in comparison to their structured mesh oriented coun-terpart, where the information regarding the mesh and fields is almost trivially obtained. The complexityof the mesh database is even more pronounced when parallel functionality is required and/or flexible andconfigurable capabilities are considered. Most scientific-computing oriented solutions in the literaturerelies on application-tailored mesh databases (libMesh, deal.II), which are not directly adaptable to gen-eral applications, or in more generic mesh databases (FMDB, ParFUM, DUNE), which neverthless arenot flexible enough in how the information stored in the mesh database is configured. In this work, wepresent our first steps towards the development of an open-source library with the aim of providing amesh database with the following design goals in mind: generality, efficiency, freedom of configuration,ease of use, and complete functionality in parallel systems. In particular, we describe details of datastructures and generic algorithms, which in combination with C++ template meta-programming tech-niques aims to provide efficiency, generality and freedom of configuration by the user. Some details ofhow the library achieves functionality on parallel systems through the MPI Standard, are also discussed.An object oriented interface which hides the details of the library implementation to the user and pro-vides ease of access from current C++ codes and modern Fortran codes is briefly described, and a genericdemonstration of the library usage is shown. Finally, we present an example of the incorporation of thelibrary in an already functional in-house developed parallel unstructured mesh fluid dynamic solver forhypersonic nonequilibrium flows.