BEMLIB is a boundary-element software library of Fortran 77 (compatible with Fortran 90 with appropriate flags set) and Matlab codes accompanying a book entitled A Practical Guide to Boundary Element Methods with the software library BEMLIB by C. Pozrikidis, published by Champan & Hall/CRC, (2002). Chapters 8-12 of the book contain the BEMLIB User Guide. BEMLIB is a distillation of the inclusive library FDLIB.

Copyright and Terms

Copyright by C. Pozrikidis. This library is to be used strictly for educational purposes and only in conjunction with one of the books or book editions by C. Pozrikidis listed in the author's webpage. You may not use this library in a research or book proposal, as part of a book, or to conduct academic or industrial research.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Download

View and download BEMLIB

To unravel the compressed tar file, issue the Unix command:

tar xzvf BEMLIB_22.10.tgz

BEMLIB directories

Directory: 01_num_meth

General-purpose numerical methods in scientific computing. This directory accompanies the second edition of a book by C. Pozrikidis entitled Numerical Computation in Science and Engineering, Second Edition, Oxford University Press (2008).

SubdirectoryTopic
01_num_comp General aspects of numerical computation.
02_lin_calc Linear algebra and linear calculus.
03_lin_eq Solution of systems of linear algebraic equations.
04_nl_eq Solution of nonlinear algebraic equations.
05_eigen Computation of eigenvalues and eigenvectors of matrices.
06_interp_diff Function interpolation and differentiation.
07_integration Numerical integration of a function of one or two variables.
08_approximation Approximation of a function of one or two variables.
09_ode Ordinary differential equations.
10_ode_ddm Ordinary differential equations; domain discretization methods
11_pde_diff Partial differential equations; unsteady diffusion equation
12_pde_poisson Partial differential equations; Poisson equation
13_pde_cd Partial differential equations; convection-diffusion equation
14_bem Boundary-element methods.
15_fem Finite-element methods.
99_spec_fnc Computation of special functions including Bessel functions, the error function, and others.

Directory: 02_grids

Boundary-element grid generation.

SubdirectoryTopic
grid_2d Boundary-element discretization of a planar line into straight or circular elements.
prd_2d Adaptive discretization of a closed planar line.
prd_2d_open Adaptive discretization of an open planar line.
prd_2d_pr Adaptive discretization of a planar periodic line.
prd_3d Adaptive discretization of a closed three-dimensional line.
prd_ax Adaptive discretization of a line representing the contour of a surface in an azimuthal plane.
trgl Triangulation of a closed surface into an unstructured grid
of curved triangles based on the successive subdivisions of an octahedron or icosahedron.
trgl_flat Triangulation of a disk, square, square with a circular hole, square with a square hole.

Directory: 03_laplace

Green and Neumann functions and boundary-element codes for Laplace's equation.

SubdirectoryTopic
body_2d Two-dimensional flow past, or due to the motion of, a body with arbitrary geometry.
body_ax Axisymmetric flow past, or due to the motion of, a body with arbitrary geometry.
flow_1d Steady unidirectional flow through a tube with arbitrary cross-section.
flow_1d_1p Steady unidirectional shear flow over a periodic array of cylinders or a periodic wall with arbitrary cross-section.
flow_2d Potential flow in a two-dimensional domain with arbitrary geometry.
ldr_3d Solution of Laplace's equation in the interior or exterior of a three-dimensional surface,
subject to the Dirichlet boundary condition.
ldr_3d_2d Solution of Laplace's equation in a doubly periodic domain,
subject to the Dirichlet boundary condition.
ldr_3d_ext Solution of Laplace's equation in the exterior of a three-dimensional surface,
subject to the Dirichlet boundary condition (completed double-layer formulation).
ldr_3d_ext_se Solution of Laplace's equation in the exterior of a three-dimensional surface,
subject to Dirichlet boundary conditions, computed by a spectral-element method (completed double-layer formulation).
ldr_3d_int Solution of Laplace's equation in the interior of a three-dimensional surface,
subject to the Dirichlet boundary condition (double-layer formulation).
ldr_3d_int_se Solution of Laplace's equation in the interior of a three-dimensional surface,
subject to the Dirichlet boundary condition, computed by a spectral-element method (double-layer formulation).
lgf_2d Green's and Neumann functions of Laplace's equation in two dimensions.
lgf_3d Green's and Neumann functions of Laplace's equation in three dimensions.
lgf_ax Green's and Neumann functions of Laplace's equation in axisymmetric domains.
lnm_3d Solution of Laplace's equation in the interior or exterior of a three-dimensional region,
subject to Neumann boundary conditions (boundary-integral formulation).
tank_2d Fluid sloshing in a rectangular tank.

Directory: 04_helmholtz

Boundary-element codes for Helmholtz's equation.

SubdirectoryTopic
flow_1d_osc Oscillatory unidirectional flow through a tube with arbitrary cross-section.

Directory: 05_stokes

Green functions and boundary-element codes for Stokes flow.

SubdirectoryTopic
bump_3d Shear flow past a spherical bump on a plane wall.
caps_2d Flow past a two-dimensional capsule.
caps_3d Flow past a three-dimensional capsule.
chan2l Two-layer flow in a channel.
drop_3d Flow past a three-dimensional drop.
drop_3dw Flow past a three-dimensional drop attached to a wall.
drop_ax Flow past an axisymmetric flow.
em_2d Two-dimensional flow of an emulsion.
flow_2d Two-dimensional flow in a domain with arbitrary geometry.
flow_3d Three-dimensional flow in an axisymmetric domain.
prtcl_2d Flow past a fixed bed of two-dimensional particles with flow configuration.
prtcl_3d Flow past, or due to the motion of, a three-dimensional rigid particle, for several flow configurations.
prtcl_3d_mob Motion of a rigid particle (mobility problem).
prtcl_3d_mob_dlr_se Motion of a rigid particle (mobility problem) computed by the double-layer representation (dlr) a spectral-element method (se).
prtcl_ax Flow past, or due to the motion of, a collection of axisymmetric particles.
prtcl_sw Swirling flow due to the rotation of an axisymmetric particle.
rbc_2d Numerical simulation of the deformation of a two-dimenional red blood cell.
sgf_2d Green's functions of two-dimensional Stokes flow.
sgf_3d Green's functions of three-dimensional Stokes flow.
sgf_ax Green's functions of axisymmetric Stokes flow.
susp_3d Dynamic simulation of a particle suspension.

Acknowledgements

Thanks to Hoaxiang Luo, Mark Blyth, Bill Baxter, and others, for bug reports.