Distributed Point Objects: A new concept for parallel finite elements applied to a geomechanical problem
Introduction
For a given sequential finite element code, it is a difficult task to find a transparent and efficient way to transform it into a parallel code with maximal reuse of the existing code. Here, we introduce a new concept for realizing parallel finite elements in a very simple way with minimal parallel overhead, which is easy to modify or to extend. This development is based on long experiences with parallel simulation for partial differential equations [1], [2], [3], [4], [5] of the first author, and the coupling of the parallel software system UG[6], [7], [8], [9], [10] to the finite element code for porous media simulation PANDAS[11], which is documented in [12]. There, we observed an enormous redundancy of large parts in both codes, which makes the interface between the finite element assembling and the parallel solver not very flexible and, in particular, difficult to transfer to other codes.
The purpose of our new model and its prototype implementation is to provide a platform for developing, testing, and improving lean interfaces between specific problem classes and general parallel solvers. It represents a compromise between flexibility and compactness of the code and the requirements for an optimal performance. So, we avoid constructions which are machine-dependent, and we restrict ourselves to a very small set of parallel commands in the message passing interface (see Appendix A.4).
In our presentation, we describe the model by abstract functions without referring to the implementation (see Appendix A for the design of appropriate C++ classes). The clear definition of the functionality helps in the construction of parallel extensions, and it simplifies the verification of algorithms. Moreover, it serves as a first step for a detailed documentation.
The paper is organized as follows. In Section 2, we introduce the model for Distributed Point Objects (DPO). Based on this model, we define in Section 3, a geometry based linear algebra data structure (including sparse matrices). Finally, an abstract parallel finite element setting is presented in Section 4. The remainder of the paper considers the application of the new programming model to a problem class in geomechanics modeling two-phase flow in porous media. The specific elasto-viscoplastic porous media model is introduced in Section 5, and parallel results for a 3-D example configuration are presented in Section 6.
Section snippets
Distributed Point Objects
We introduce a programming model for representing finite elements on a distributed memory machine with processors. The parallel data structure is based on a finite set of points associated with a partition map . First, we describe the objects which we assign to the points, then we consider the parallel distribution.
In our model, we consider different types of points (all contained in the point set ): corner points, edge midpoints, face midpoints, cell midpoints, and the exception
Parallel linear algebra
We assign to every point the number of degrees of freedom . A vector maps a point P to a block vector ; combining all block vectors, we obtain a vector in , .
Following [13], [14], we use two different algebraic representations for algebraic objects. A global vector is represented in parallel by local vectors , where we distinguish the following parallel representations:
- •
consistent solution and correction vectors x and c, where the
Parallel finite elements
Our programming model allows to introduce finite element algorithms on the virtual global geometric objects , and virtual global algebraic objects . Within this programming model, these algorithms transfer automatically to the realization on the local geometric objects , and the local algebraic objects with minimal algorithmic parallel overhead.
We assume that the cells correspond to an admissible triangulation of a domain , i.e., we have , and the
A porous media model in soil mechanics
We consider a binary medium consisting of a materially incompressible elasto-viscoplastic solid skeleton and a materially incompressible viscous pore-fluid . A thermodynamical consistent approach for deriving the governing equations of such a model is given by the Theory of Porous Media (see, e.g., [15], [16], [17], [18]). Within this framework, the following porous media model describing a fluid-saturated soil is developed in [19], [20], [21], [22].
The basic kinematic variables for the
Numerical results
In this section, we present numerical results obtained by coupling our new parallel code with the non-linear finite element code PANDAS (called in the assembling routine Pandas, see Appendix A.3). We consider an example configuration describing a slope failure problem of a fluid-saturated soil initiated by an excavation process. Thereby, the digging process is carried out at a slope which is stable under pure volumetric loading (initial slope angle approximately ) until a critical slope
Conclusion
We introduced a new parallel programming model for finite elements, and we demonstrated by a first prototype implementation that, within this model, complex geotechnical engineering applications can be realized. Our model can be understood as an abstraction and simplification of the underlying programming model of the parallel software system UG[6]. Moreover, it directly incorporates in the design the requirements of interfaces for the coupling to other codes (based on our experiences in [12]).
Christian Wieners, after the diploma in pure mathematics (Cologne, 1991) and the PhD in applied mathematics (Cologne, 1994), he focused on scientific computing (with special emphasis on parallel methods, numerical analysis in p.d.e., and applications in solid mechanics) for a post-doc period in Stuttgart, which he finally finished which the habilitation (Heidelberg 2000). In the following years, he gave lectures in Chemnitz, Augsburg and Erlangen, and finally he moved to Karlsruhe (2003) for a
References (24)
Incompressible porous media models by use of the theory of mixtures
Int. J. Eng. Sci.
(1980)- et al.
On theoretical and numerical methods in the Theory of Porous Media based on polar and non-polar elasto-plastic solid materials
Int. J. Solids Struct.
(1998) - et al.
The application of adaptive parallel multigrid methods to problems in nonlinear solid mechanics
Multigrid methods for Prandtl-Reußplasticity
Numer. Lin. Alg. Appl.
(1999)Efficient elasto-plastic simulation
Robust multigrid methods for nearly incompressible elasticity
Computing
(2000)- C. Wieners, Theorie und Numerik der Prandtl-Reuß-Plastizität, Universität Heidelberg, Habilitationsschrift,...
- et al.
UG—a flexible software toolbox for solving partial differential equations
Comp. Vis. Sci.
(1997) - et al.
A parallel software-platform for solving problems of partial differential equations using unstructured grids and adaptive multigrid methods
- et al.
Advances in high-performance computing: multigrid methods for partial differential equations and its applications
High-accuracy simulation of density driven flow in porous media
Parallel solutions of partial differential equations with adaptive multigrid methods on unstructured grids
Cited by (4)
Deformation and localization analysis of partially saturated soil
2004, Computer Methods in Applied Mechanics and EngineeringMultiphasic Intervertebral Disc Mechanics: Theory and Application
2012, Archives of Computational Methods in EngineeringA geometric data structure for parallel finite elements and the application to multigrid methods with block smoothing
2010, Computing and Visualization in ScienceNumerical Enclosures for Variational Inequalities
2007, Computational Methods in Applied Mathematics
Christian Wieners, after the diploma in pure mathematics (Cologne, 1991) and the PhD in applied mathematics (Cologne, 1994), he focused on scientific computing (with special emphasis on parallel methods, numerical analysis in p.d.e., and applications in solid mechanics) for a post-doc period in Stuttgart, which he finally finished which the habilitation (Heidelberg 2000). In the following years, he gave lectures in Chemnitz, Augsburg and Erlangen, and finally he moved to Karlsruhe (2003) for a chair in scientific computing and mathematical modelling in the engineering sciences.
Martin Ammann, after his diploma in civil engineering (Stuttgart, 1998), he was assistant lecturer at the Institute of Applied Mechanics, where he worked on numerical methods for porous media models. Since his PhD in 2005, he is working as a computational engineer at DaimlerChrysler AG.
Wolfgang Ehlers born on 1 August 1951 in Bielefeld. In March 1979, he has done diploma (Dipl.-Ing. in civil engineering) from the University of Hannover. In July 1983, he was Dr.-Ing. (PhD) at the University of Essen, Germany, Department of Civil Engineering, Thesis on finite plasticity. In April 1989, habilitation at the University of Essen, Germany, Department of Civil Engineering, Thesis on porous media. In October 1991, he was associate professor (mechanics) at the Technical University of Darmstadt, Department of Mechanics. Since March 1995, he was full professor (applied mechanics) at the University of Stuttgart, Faculty of Civil and Environmental Engineering. In 2000–2003, he was elected member of the Senate of the University of Stuttgart. In 2000–2004, he was expert referee of applied mechanics of the German Science Foundation (Deutsche Forschungsgemeinschaft). Since 2002, he was elected member of the Senate and the Joint Committee of the “Deutsche Forschungsgemeinschaft”. Since October 2003, he is vice-rector for organization at the University of Stuttgart. His scientific interests are: continuum mechanics and materials theory; mixture theories and theories of porous media with application to geo- and biomechanics; experimental mechanics; numerical methods in mechanics. Around 180 publications in the field.