## A Practical Guide to Boundary-Element Methods

with the Software Library
BEMLIB

### C. Pozrikidis

#### Chapman & Hall/CRC, 2002

ISBN: 1584883235, 440 pages,

Publisher | Amazon | Barnes & Noble | Errata

In the last twenty years, the boundary-element method (BEM) has been established as a powerful numerical technique for tackling a variety of problems in science and engineering involving elliptic partial differential equations. Examples can be drawn from elasticity, geomechanics, structural mechanics, electromagnetism, acoustics, hydraulics, low-Reynolds-number hydrodynamics, and biomechanics. The strength of the method derives from its ability to solve with remarkable efficiency and accuracy problems in domains with complex and possibly evolving geometry where traditional methods can be inefficient, cumbersome, or unreliable.

### Why this book?

The purpose of this text is to provide a concise introduction to the theory and implementation of the boundary-element method, while simultaneously offering hands-on experience based on the software library BEMLIB. Expected audience includes professionals, researchers, and students in various branches of computational science and engineering. The material is suitable for self-study, and the text is appropriate for instruction in an introductory course on boundary integral and boundary element methods, or a more general course in computational science and engineering.### BEMLIB Library

The software library BEMLIB accompanying this book consists of a collection of Fortran 77 and matlab programs related to Green's functions, boundary integral, and boundary element methods for Laplace, Helmholtz, and Stokes flow problems.The main directories contain subdirectories that include main programs, assisting subroutines, and utility subroutines. Linked with drivers, the utility subroutines become stand-alone modules. The codes of BEMLIB explicitly illustrate how procedures and concepts discussed in the text translate into code instructions, and demonstrate the mathematical formulation and structure of boundary element codes for a variety of applications. The output of the codes is recorded in tabular form so that it can be displayed using independent graphics, visualization, and animation applications. The codes of BEMLIB can be used as building blocks, and may serve as a point of departure for developing further codes.

General information on BEMLIB, the directory contents, and instructions on how to download and compile the codes are given in Chapter 8.

### Contents

Consistent with the dual nature of this book as an introductory text and a software user guide, the material is divided into two parts. The first part, Chapters 1-7, discusses the theory and implementation of boundary element methods. The material includes classical topics and recent development such as the dual reciprocity method (DRM) for solving inhomogeneous, nonlinear, and time-dependent equations.The second part, Chapters 8-12, contains the user guide of BEMLIB. The user guide explains the problem formulation and numerical method of the particular problems considered, and discusses the function of the individual subprograms and codes with emphasis on implementation.

### Table of contents

## Frequently Asked Questions |
xi | |

1 |
## Laplace's equation in one dimension | 1 |

1.1 | Green's first and second identities and the reciprocal relation | 1 |

1.2 | Green's functions | 2 |

1.2.1 Green's function dipole | 5 | |

1.3 | Boundary-value representation | 7 |

1.4 | Boundary-value equation | 8 |

2 | ## Laplace's equation in two dimensions | 9 |

2.1 | Green's first and second identities and the reciprocal relation | 9 |

2.1.1 Integral form of the reciprocal relation | 10 | |

2.2 | Green's functions | 12 |

2.2.1 Green's functions of the first kind and Neumann functions | 13 | |

2.2.2 Free-space Green's function | 14 | |

2.2.3 Green's functions in bounded domains | 15 | |

2.2.4 BEMLIB directory lgf_2d | 15 | |

2.2.5 Integral properties of Green's functions | 16 | |

2.2.6 Green's function dipole | 16 | |

2.2.7 Green's function quadruple | 17 | |

2.3 | Integral representation | 19 |

2.3.1 Green's third identity | 21 | |

2.3.2 Choice of Green's functions | 21 | |

2.3.3 Integral representation of the gradient | 21 | |

2.3.4 Representation in the presence of an interface | 23 | |

2.4 | Integral equations | 28 |

2.4.1 Boundary corners | 31 | |

2.4.2 Shrinking arcs | 32 | |

2.5 | Hypersingular integrals | 36 |

2.5.1 Local analysis | 37 | |

2.5.2 Shrinking arcs | 41 | |

2.5.3 Hypersingular integral equations | 42 | |

2.5.4 Regularization of hypersingular integral equations | 43 | |

2.6 | Irrotational flow | 44 |

2.6.1 Infinite flow past a body | 45 | |

2.7 | Generalized single- and double-layer representations | 47 |

2.7.1 Interior fields | 47 | |

2.7.2 Exterior fields | 48 | |

2.7.3 Gradient of the single-layer potential | 49 | |

2.7.4 Gradient of the double-layer potential | 50 | |

3 | ## Boundary-element methods for Laplace's equation in two dimensions | 53 |

3.1 | Boundary element discretization | 53 |

3.1.1 Straight elements | 53 | |

3.1.2 Circular arcs | 55 | |

3.1.3 Cubic splines | 56 | |

3.1.4 BEMLIB discretization | 61 | |

3.1.5 Thomas' algorithm | 61 | |

3.2 | Discretization of the integral representation | 63 |

3.2.1 Uniform elements | 64 | |

3.2.2 Non-singular elements | 65 | |

3.2.3 Singular elements | 69 | |

3.3 | The boundary-element collocation method | 74 |

3.3.1 BEMLIB directory laplace | 76 | |

3.4 | Isoparametric cubic-splines discretization | 77 |

3.4.1 Cardinal cubic-splines functions | 77 | |

3.4.2 Boundary element discretization | 78 | |

3.5 | High-order collocation methods | 80 |

3.5.1 Spectral node distribution | 82 | |

3.5.2 Corner elements | 83 | |

3.5.3 Assembly | 84 | |

3.5.4 Grid refinement | 85 | |

3.6 | Galerkin and global expansion methods | 86 |

3.6.1 Galerkin boundary-element method | 86 | |

3.6.2 Global expansion method | 89 | |

4 | ## Laplace's equation in three dimensions | 91 |

4.1 | Green's first and second identities and the reciprocal relation | 91 |

4.1.1 Integral form of the reciprocal relation | 92 | |

4.2 | Green's functions | 93 |

4.2.1 Green's and Neumann functions | 94 | |

4.2.2 The free-space Green's function | 95 | |

4.2.3 Green's functions in bounded domains | 95 | |

4.2.4 BEMLIB directory lgf_3d | 96 | |

4.2.5 Integral properties of Green's functions | 96 | |

4.2.6 Green's function dipole | 97 | |

4.2.7 Green's function quadruple | 98 | |

4.3 | Integral representation Green's functions | 100 |

4.3.1 Green's third identity | 101 | |

4.3.2 Integral representation of the gradient | 101 | |

4.4 | Integral equations | 102 |

4.4.1 Boundary corners | 104 | |

4.4.2 Hypersingular equations | 104 | |

4.5 | Axisymmetric fields in axisymmetric domains | 106 |

4.5.1 Computation of the free-space axisymmetric Green's function | 108 | |

4.5.2 BEMLIB} directory lgf_ax | 109 | |

4.5.3 Boundary-element methods | 109 | |

5 | ## Boundary-element methods for Laplace's equation in three dimensions | 111 |

5.1 | Discretization | 111 |

5.1.1 Triangulation | 112 | |

5.1.2 Successive subdivision | 114 | |

5.1.3 Local element approximation | 114 | |

5.1.4 Point collocation | 116 | |

5.1.5 High-order methods | 116 | |

5.2 | Three-node flat triangles | 117 |

5.2.1 Non-singular triangles | 118 | |

5.2.2 Single-layer integral over singular triangles | 119 | |

5.2.3 Double-layer integral over singular triangles | 120 | |

5.3 | Six-node curved triangles | 122 |

5.3.1 Non-singular triangles | 124 | |

5.3.2 Single-layer integral over singular triangles | 125 | |

5.3.3 Double-layer integral over singular triangles | 126 | |

5.4 | High-order expansions | 127 |

5.4.1 Isoparametric linear expansion | 127 | |

5.4.2 Isoparametric quadratic expansion | 128 | |

5.4.3 Spectral-element methods | 128 | |

6 | ## Inhomogeneous, nonlinear, and time-dependent problems | 131 |

6.1 | Distributed source and domain integrals | 132 |

6.2 | Particular solutions and dual reciprocity in one dimension | 134 |

6.2.1 The Newtonian potential | 135 | |

6.2.2 Integral representation involving a domain integral | 135 | |

6.2.3 MAPS with cardinal interpolation functions | 136 | |

6.2.4 DRM with cardinal interpolation functions | 137 | |

6.2.5 MAPS and DRM with influence functions | 139 | |

6.2.6 Cardinal functions from influence functions | 140 | |

6.3 | Particular solutions and dual reciprocity in two and three dimensions | 141 |

6.3.1 The Newtonian potential | 141 | |

6.3.2 Integral representation | 142 | |

6.3.3 MAPS and DRM with cardinal interpolation functions | 142 | |

6.3.4 MAPS and DRM with influence functions | 144 | |

6.3.5 Cardinal functions from influence functions | 145 | |

6.3.6 Radial basis functions (RBF) | 145 | |

6.3.7 General implementation of the DRM | 146 | |

6.4 | Convection -- diffusion equation | 150 |

6.4.1 Linear convection | 150 | |

6.4.2 Nonlinear convection | 153 | |

6.5 | Time-dependent problems | 154 |

6.5.1 Unsteady Green's functions method | 155 | |

6.5.2 Laplace transform method | 158 | |

6.5.3 Time-discretization methods | 159 | |

7 | ## Viscous flow | 161 |

7.1 | Governing equations | 161 |

7.1.1 Non-dimensionalization | 163 | |

7.1.2 Unsteady Stokes flow | 164 | |

7.1.3 Stokes flow | 164 | |

7.1.4 Modified pressure | 164 | |

7.2 | Stokes flow | 165 |

7.2.1 The Lorentz reciprocal relation | 165 | |

7.2.2 Green's functions | 166 | |

7.2.3 Free-space Green's functions | 168 | |

7.2.4 Green's functions in bounded domains | 168 | |

7.2.5 Properties of the Green's functions | 169 | |

7.3 | Boundary integral equations in two dimensions | 171 |

7.3.1 Integral equations | 172 | |

7.3.2 Integral representation for the pressure | 173 | |

7.3.3 Integral representation for the stress | 174 | |

7.3.4 Hypersingular integrals | 174 | |

7.4 | Boundary-integral equations in three dimensions | 175 |

7.4.1 Integral representation for the pressure | 176 | |

7.4.2 Integral representation for the stress | 177 | |

7.4.3 Hypersingular integrals | 177 | |

7.4.4 Axisymmetric flows in axisymmetric domains | 177 | |

7.5 | Boundary-element methods | 178 |

7.5.1 Computation of the single-layer potential | 178 | |

7.5.2 Computation of the double-layer potential | 179 | |

7.5.3 Corner singularities | 179 | |

7.6 | Interfacial dynamics | 180 |

7.7 | Unsteady, Navier-Stokes, and non-Newtonian flow | 182 |

7.7.1 Time discretization of an unsteady flow | 182 | |

7.7.2 Particular solutions and dual reciprocity | 185 | |

7.7.3 Alternative formulations | 186 | |

7.7.4 Non-Newtonian flow | 187 | |

8 | ## BEMLIB user guide | 191 |

8.1 | General information | 191 |

8.2 | Terms and conditions | 192 |

8.3 | Directory contents | 193 |

9 | ## Directory: grids | 197 |

grid_2d | 198 | |

trgl | 203 | |

10 | ## Directory: laplace | 207 |

lgf_2d | 209 | |

lgf_3d | 230 | |

lgf_ax | 245 | |

flow_1d | 254 | |

flow_1d_1p | 261 | |

flow_2d | 265 | |

body_2d | 270 | |

body_ax | 276 | |

tank_2d | 281 | |

ldr_3d | 287 | |

lnm_3d | 291 | |

11 | ## Directory: helmholtz | 295 |

flow_1d_osc | 296 | |

11 | ## Directory: stokes | 301 |

sgf_2d | 302 | |

sgf_3d | 329 | |

sgf_ax | 349 | |

flow_2d | 364 | |

prtcl_sw | 371 | |

prtcl_2d | 376 | |

prtcl_ax | 385 | |

prtcl_3d | 390 | |

A | ## Mathematical supplement | 397 |

B | ## Gauss elimination and linear solvers | 403 |

C | ## Elastostatics | 407 |

## References | 413 | |

## Index | 418 |