Abstract. Alya is a multi-physics simulation code developed at Barcelona Supercomputing Center (BSC). From its inception Alya code is designed using advanced High Performance Computing programming techniques to solve coupled problems on supercomputers efficiently. The target domain is engineering, with all its particular features: complex geometries and unstructured meshes, coupled multi-physics with exotic coupling schemes and physical models, ill-posed problems, flexibility needs for rapidly including new models, etc. Since its beginnings in 2004, Alya has scaled well in an increasing number of processors when solving single-physics problems such as fluid mechanics, solid mechanics, acoustics, etc. Over time, we have made a concerted effort to maintain and even improve scalability for multi-physics problems. This poses challenges on multiple fronts, including: numerical models, parallel implementation, physical coupling models, algorithms and solution schemes, meshing process, etc. In this paper, we introduce Alya's main features and focus particularly on its solvers. We present Alya's performance up to 100.000 processors in Blue Waters, the NCSA supercomputer with selected multi-physics tests that are representative of the engineering world. The tests are incompressible flow in a human respiratory system, low Mach combustion problem in a kiln furnace, and coupled electro-mechanical contraction of the heart. We show scalability plots for all cases and discuss all aspects of such simulations, including solver convergence.Key words. Multi-physics coupling, Parallelisation, Computational Mechanics 1. Introduction. Across a range of engineering fields, the use of computational models is pervasive in the whole design and manufacturing process. In complex systems, High Performance Computing (HPC) plays an essential role in simulation and modelling. Researchers and manufacturing teams depend on HPC to create safe cars and energy-efficient aircraft as well as effective communication systems and efficient supply chain models. Availability of advanced HPC technologies has also fundamentally altered the investigative paradigm in the field of biomechanics. But paradoxically, for many engineers and researchers, the existing hardware and software cannot be used to solve their problems. There are many reasons why this happens, but we focus here in only two. On one hand, current HPC systems lack the computational power, network bandwidth and data storage needed for solving tomorrow's real-world engineering challenges. On the other hand, while emerging peta-scale computing is already a strategic enabler of large-scale simulations in many scientific areas (such as astronomy, biology and chemistry), even the most powerful hardware will fail to deliver on its full potential unless matched with simulation software designed specifically for such environments.Several papers describe the effort of performing large-scale simulations on supercomputers, covering key areas: molecular dynamics [26], mantle convection in solid earth dynami...
Simflowny is an open platform which automatically generates parallel code of scientific dynamical models for different simulation frameworks. Here we present major upgrades on this software to support an extended set of families of models, in particular: i) a new generic family for partial differential equations, which can include spatial derivatives of any order, ii) a new family for agent based models to study complex phenomena -either on a spatial domain or on a graph-. Additionally we introduce a flexible graphical user interface (GUI) to accommodate these and future families of equations. This paper describes the new GUI architecture and summarizes the formal representation and implementation of these new families, providing several validation results. PROGRAM SUMMARYProgram Title: Simflowny Licensing provisions: Apache License, 2.0 Programming language: Java, C++ and JavaScript Journal Reference of previous version: Comput. Phys.
\bfA \bfb \bfs \bft \bfr \bfa \bfc \bft. The fluid-structure interaction (FSI) problem has received great attention in the last few years, mainly because it is present in many physical systems, industrial applications, and almost every biological system. In the parallel computational field, outstanding advances have been achieved for the individual components of the problem, allowing, for instance, simulations around complex geometries at very high Reynolds numbers or simulations of the contraction of a beating heart. However, it is not an easy task to combine the advances of both fields, given that they have followed development paths in a rather independent way, and also because physical and numerical instabilities arise when dealing with two highly nonlinear partial differential equations. Nonetheless, in the last few years great advances in the coupled FSI field have been achieved, recognizing the most challenging problems to tackle and enabling a new generation of numerical simulations in aerodynamics, biological systems, and complex industrial devices. Keeping in mind that efficient parallel codes for the individual components already exist, this paper presents a framework to build a massively parallel FSI solver in a multicode coupling partitioned approach, with strong focus in the parallel implementation aspects and the parallel performance of the resulting application. The problem is casted in an algebraic form, and the main points of interest are the parallel environment needed to be able to transfer data among the codes, the location of the exchange surface, and the exchange of information among the parallel applications. The proposed framework has been implemented in the HPC multiphysics code Alya, and the multicode coupling is carried out running separated instances of this code. Two coupling algorithms with different acceleration schemes are revised, and three representative cases of different areas of interest showing the reach of the proposed framework are solved. Good agreement with literature and experiments is obtained. In addition to the numerical validation of the FSI solver, an assessment of the parallel performance of the proposed multicode strategy is done. In particular, a special distribution of the fluid code and solid code MPI processes on the supercomputer nodes based on computing cores overloading is investigated. Finally, a strong scalability test, running up to a 30 million elements case using 1280 MPI processes, is done. \bfK \bfe \bfy \bfw \bfo \bfr \bfd \bfs. fluid-structure interaction, HPC, multicode coupling \bfA \bfM \bfS \bfs \bfu \bfb \bfj \bfe \bfc \bft \bfc \bfl \bfa \bfs \bfs \bfi fi\bfc \bfa \bft \bfi \bfo \bfn \bfs. 74F10, 68U20, 6804 \bfD \bfO \bfI. 10.1137/17M1138868 1. Introduction. Fluid-structure interaction (FSI) governs so many physical problems, industrial devices, and biological systems that its relevance is out of the question. FSI combines the challenges of computational fluid dynamics (CFD) with those of computational solid dynamics (CSD).
The main computing tasks of a finite element code(FE) for solving partial differential equations (PDE's) are the algebraic system assembly and the iterative solver. This work focuses on the first task, in the context of a hybrid MPI+X paradigm. Although we will describe algorithms in the FE context, a similar strategy can be straightforwardly applied to other discretization methods, like the finite volume method. The matrix assembly consists of a loop over the elements of the MPI partition to compute element matrices and right-hand sides and their assemblies in the local system to each MPI partition. In a MPI+X hybrid parallelism context, X has consisted traditionally of loop parallelism using OpenMP. Several strategies have been proposed in the literature to implement this loop parallelism, like coloring or substructuring techniques to circumvent the race condition that appears when assembling the element system into the local system. The main drawback of the first technique is the decrease of the IPC due to bad spatial locality. The second technique avoids this issue but requires extensive changes in the implementation, which can be cumbersome when several element loops should be treated. We propose an alternative, based on the task parallelism of the element loop using some extensions to the OpenMP programming model. The taskification of the assembly solves both aforementioned problems. In addition, dynamic load balance will be applied using the DLB library, especially efficient in the presence of hybrid meshes, where the relative costs of the different elements is impossible to estimate a priori. This paper presents the proposed methodology, its implementation and its validation through the solution of large computational mechanics problems up to 16k cores.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.