Distributed Point Objects: A new concept for parallel finite elements applied to a geomechanical problem

https://doi.org/10.1016/j.future.2005.04.009Get rights and content

Abstract

We present a new concept for the realization of finite element computations on parallel machines which is based on a dynamic data structure address by points. All geometric objects (cells, faces, edges) are referenced by its midpoint, and all algebraic data structures (vectors and matrices) are tied to the nodal points of the finite elements. Together, they build Distributed Point Objects (DPO), where the parallel distribution is made transparent by processor lists assigned to the points. All objects are stored in hash tables (where the keys are points) so that pointers can be completely avoided.

Then, we consider the application of the parallel programming model to a geomechanical porous media problem. This work complements our previous work [C. Wieners, M. Ammann, S. Diebels, W. Ehlers, Parallel 3-D simulations for porous media models in soil mechanics, Comput. Mech. 29 (2002) 75–87], where the geomechanical model, the interface of the finite element code and the parallel solver is described in detail. Here, we discuss the parallel data structure and the parallel performance for a characteristic application. Together, this demonstrates that demanding 3-D non-linear and time-dependent engineering applications on unstructured meshes can be parallelized very efficiently within a very small overhead for the parallel implementation.

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 Nprocs processors. The parallel data structure is based on a finite set of points PRd 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 P): corner points, edge midpoints, face midpoints, cell midpoints, and the exception

Parallel linear algebra

We assign to every point PP the number of degrees of freedom nP0. A vector x:PnRn maps a point P to a block vector x[P]RnP; combining all block vectors, we obtain a vector in RnP, nP=PPnP.

Following [13], [14], we use two different algebraic representations for algebraic objects. A global vector x=(x1,,xNprocs)is represented in parallel by local vectors xq:PqnRn, 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 P, M and virtual global algebraic objects x,b,A. Within this programming model, these algorithms transfer automatically to the realization on the local geometric objects Pq, Mq and the local algebraic objects xq,bq,Aq with minimal algorithmic parallel overhead.

We assume that the cells correspond to an admissible triangulation of a domain ΩRd, i.e., we have Ω¯=CCconv(C), and the

A porous media model in soil mechanics

We consider a binary medium ϕ consisting of a materially incompressible elasto-viscoplastic solid skeleton ϕS and a materially incompressible viscous pore-fluid ϕF. 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 20°) 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)

  • R.M. Bowen

    Incompressible porous media models by use of the theory of mixtures

    Int. J. Eng. Sci.

    (1980)
  • W. Ehlers 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)
  • S. Lang et al.

    The application of adaptive parallel multigrid methods to problems in nonlinear solid mechanics

  • C. Wieners

    Multigrid methods for Prandtl-Reußplasticity

    Numer. Lin. Alg. Appl.

    (1999)
  • C. Wieners

    Efficient elasto-plastic simulation

  • C. Wieners

    Robust multigrid methods for nearly incompressible elasticity

    Computing

    (2000)
  • C. Wieners, Theorie und Numerik der Prandtl-Reuß-Plastizität, Universität Heidelberg, Habilitationsschrift,...
  • P. Bastian et al.

    UG—a flexible software toolbox for solving partial differential equations

    Comp. Vis. Sci.

    (1997)
  • P. Bastian et al.

    A parallel software-platform for solving problems of partial differential equations using unstructured grids and adaptive multigrid methods

  • P. Bastian et al.

    Advances in high-performance computing: multigrid methods for partial differential equations and its applications

  • P. Bastian et al.

    High-accuracy simulation of density driven flow in porous media

  • P. Bastian et al.

    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 Engineering
    • Multiphasic Intervertebral Disc Mechanics: Theory and Application

      2012, Archives of Computational Methods in Engineering
    • Numerical 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.

    View full text