BEMLIB

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

If this sofware is of interest to you, please consider purchasing the book or ordering it through your company or library.

Download

View and download the source code.

To unravel the compresed tar file, issue the Unix command: tar xzf BEMLIB.tgz

BEMLIB directories

Directory: num_meth

General-purpose numerical methods in scientific computing. This directory accompanies the second edition of a book, C. Pozrikidis, Numerical Computation in Science and Engineering, 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: 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 line in the xy plane.
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.

Directory: laplace

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

SubdirectoryTopic
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.
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.
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_2d Two-dimensional potential flow in a domain with arbitrary geometry.
tank_2d Fluid sloshing in a rectangular tank.
ldr_3d Solution of Laplace's equation in the interior or exterior of a three-dimensional surface,
subject to Dirichlet boundary conditions (Green boundary-integral formulation).
ldr_3d_ext Solution of Laplace's equation in the exterior of a three-dimensional surface,
subject to Dirichlet boundary conditions (completed double-layer formulation).
ldr_3d_int Solution of Laplace's equation in the interior of a three-dimensional surface,
subject to Dirichlet boundary conditions (double-layer formulation).
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).

Directory: helmholtz

Boundary-element codes for Helmholtz's equation.

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

Directory: stokes

Green functions and boundary-element codes for Stokes flow.

SubdirectoryTopic
bump_3d Shear flow past a spherical bump on a plane wall.
flow_2d Two-dimensional flow in a domain with arbitrary geometry.
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_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.
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.

Terms

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

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. See the GNU Lesser General Public License for more details.

To receive a copy of the GNU Lesser General Public License along write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

On the Internet, visit the URL: http://www.gnu.org/copyleft/lesser.html

Acknowledgements

Thanks to Hoaxiang Luo, Mark Blyth, and Bill Baxter (baxter@cs.unc.edu) for bug reports.