The utility subroutines and simulation codes of FDLIB are pertinent to a variety of disciplines in science and engineering, including applied mathematics and scientific computing, computational physics, biomechanics, aerospace engineering, mechanical engineering, chemical engineering, electrical engineering, and bioengineering.
FDLIB Directories
The thirteen main directories of FDLIB are listed in the following table:
1  Numerical methods  01_num_meth  
2  Grids  02_grids  
3  Hydrostatics  03_hydrostat  
4  Various solutions  04_various  
5  Lubrication flows  05_lub  
6  Stokes flow  06_stokes  
7  Potential flow  07_ptf  
8  Hydrodynamic stability  08_stab  
9  Vortex motion  09_vortex  
10  Boundarylayer flows  10_bl  
11  Finitedifference methods  11_fdm  
12  Boundaryelement methods  12_bem  
13  Turbulence  13_turbo 
Please click on a subject for a detailed description.
Each main directory contains utility subroutines and simulation programs. The utility subroutines are generalpurpose computational modules. The simulation programs are computational engines that drive various simulations.
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
Download the source code
To unravel the compressed tar file on a Unix/Linux system, issue command:
tar xzf FDLIB_22.10.tgz
This will create a directory named FDLIB_22.10
Make sure this directory does not already exist,
otherwise its contents will be overwritten.
General information
A distinguishing feature of FDLIB is that the utility subroutines and simulation programs are compact, specialized, and modular, written in the spirit of wellknown generalpurpose libraries on numerical methods offered, for example, by IMSL, NAG, and MATLAB.FDLIB is not a Computational Fluid Dynamics (CFD) library, in the conventional sense of the term. Instead of offering a large memorydemanding program with many options based on one particular numerical method, FDLIB offers instead a host of small and mediumsized programs that implement a variety of methods.
The execution of the programs requires only a modest amount of computer memory, and the simulations can run on laptop and inexpensive desktop computers.
The intelligent use of the programs requires at least an undergraduatelevel understanding of applied mathematics, fluid dynamics, and numerical methods. FDLIB should not be treated as a black box, neither should it be regarded as a device that can be used without a basic understanding of its underpinning.
The FORTRAN codes of FDLIB are written in standard FORTRAN 77 (subset of FORTRAN 90), for compilers that support the END DO extension and allow for inline comments following an exclamation mark. With proper compilation, as stated in the UNIX makefiles residing in the individual directories, the programs and subroutines should run on any hardware platform.
The input data of the codes are either read from input files (preferred method), or entered from the keyboard in an interactive session. The output is placed in output files in tabular format so that they can be processed and displayed using an independent graphics, visualization, or animation package of choice. The format of the output data can be readily modified in the source code.
Documentation
An indepth discussion of the governing equations, mathematical formulation, and numerical methods along with the User Guide of selected directories of FDLIB, can be found in the following books:
C. Pozrikidis
(2011)
Introduction to Theoretical and Computational Fluid Dynamics.
Second Edition,
Oxford University Press.

C. Pozrikidis
(2008)
Numerical Computation in Science and Engineering.
Second Edition,
Oxford University Press.

C. Pozrikidis
(2016)
Fluid Dynamics; Theory, Computation, and Numerical Simulation.
Third Edition,
Springer.
 C. Pozrikidis (2002) A Practical Guide to BoundaryElement Methods with the Software Library BEMLIB. Chapman & Hall/CRC Press.

C. Pozrikidis
(1992)
Boundary Integral and Singularity
Methods for Linearized Viscous Flow.
Cambridge University Press.

C. Pozrikidis
(2000)
Little book of Streamlines.
Academic Press.

C. Pozrikidis
(2014)
Finite and Spectral Element Methods using Matlab.
Second Edition,
Chapman & Hall/CRC.

C. Pozrikidis
(2014)
An Introduction to Grids, Graphs, and Networks.
Oxford University Press.
 C. Pozrikidis (2016) The Fractional Laplacian. Second Edition, Chapman & Hall/CRC.
All of these books are an excellent value with a high information to price ratio.
Specific documentation for the individual directories is listed below:
Numerical methods 
See:
C. Pozrikidis (2008) Numerical Computation in Science and Engineering. Second Edition. Oxford University Press. 
Grids 
See:
C. Pozrikidis (2002) A Practical Guide to BoundaryElement Methods with the Software Library BEMLIB. Chapman & Hall/CRC Press. 
Hydrostatics 
See:
C. Pozrikidis, (2016) Fluid Dynamics: Theory, Computation, and Numerical Simulation. Third Edition, Springer. 
Various solutions 
See:
C. Pozrikidis (2016) Fluid Dynamics: Theory, Computation, and Numerical Simulation. Third Edition, Springer. 
Lubrication flows 
See:
C. Pozrikidis (2016) Fluid Dynamics: Theory, Computation, and Numerical Simulation. Third Edition, Springer. 
Stokes flow 
See:
C. Pozrikidis (2002) A Practical Guide to BoundaryElement Methods with the Software Library BEMLIB. Chapman & Hall/CRC Press. 
Potential flow 
See:
C. Pozrikidis, (2002) A Practical Guide to BoundaryElement Methods with the Software Library BEMLIB. Chapman & Hall/CRC Press. 
Hydrodynamic stability 
See:
C. Pozrikidis (2011) Introduction to Theoretical and Computational Fluid Dynamics. Second Edition, Oxford University Press. 
Vortex motion 
See:
C. Pozrikidis (2016) Fluid Dynamics; Theory, Computation, and Numerical Simulation. Third Edition, Springer. 
Boundarylayer flows 
See:
C. Pozrikidis (2016) Fluid Dynamics: Theory, Computation, and Numerical Simulation. Third Edition, Springer. 
Finitedifference methods 
See:
C. Pozrikidis (2016) Fluid Dynamics: Theory, Computation, and Numerical Simulation. Third Edition, Springer. 
Boundaryelement methods 
See:
BEM User Guide (version 13.10) 
Turbulence 
See:
C. Pozrikidis (2016) Fluid Dynamics: Theory, Computation, and Numerical Simulation. Third Edition, Springer. 
BEMLIB
Selected directories of FDLIB have been arranged in the boundaryelement software library BEMLIB.FDLIB Directories
The following tables describe the contents of FDLIB. Public subdirectories are checked in the first column. The host BEMLIB directory is indicated in the fifth column, when appropriate.
Directory: 01_num_meth
This directory contains a suite of programs accompanying the book: C. Pozrikidis (2008) Numerical Computation in Science and Engineering, Second Edition, Oxford University Press. In these programs are of value to you, please consider purchasing the book.
Public  Directory  Subject  BEMLIB  

✓  01_num_comp  Numerical computation  num_meth  
✓  02_lin_calc  Numerical linear algebra and linear calculus  num_meth  
✓  03_lin_eq  Linear equations  num_meth  
✓  04_nl_eq  Nonlinear equations  num_meth  
✓  05_eigen  Algebraic eigenvalue problems  num_meth  
✓  06_interp_diff  Interpolation and differentiation  num_meth  
✓  07_integration  Numerical integration  num_meth  
✓  08_approximation  Function approximation and Fourier series  num_meth  
✓  09_ode  Ordinary differential equations  num_meth  
✓  10_ode_ddm  Ordinary differential equations; domain discretization methods  num_meth  
✓  11_pde_diffusion  Partial differential equations; unsteady diffusion equation  num_meth  
✓  12_pde_poisson  Partial differential equations; Poisson equation  num_meth  
✓  13_pde_cd  Partial differential equations; convectiondiffusion equation  num_meth  
✓  14_bem  Boundaryelement methods  num_meth  
✓  15_fem  Finiteelement methods  num_meth  
✓  99_spec_fnc  Special functions  num_meth 
Directory: 02_grids
This directory contains programs that perform adaptive discretization, parametrization, and meshing of twoand threedimensional lines, and planar or threedimensional surfaces.
Public  Directory  Subject  BEMLIB  

✓  grid_2d  Discretization of a planar line into a collection of straight or circular elements with corresponding shapes  grids  
✓  prd_2d  Adaptive description of a closed planar line  grids  
✓  prd_2d_open  Adaptive description of an open planar line  grids  
✓  prd_2d_pr  Adaptive description of a periodic planar line  grids  
✓  prd_2d_pr_hs  Adaptive parametrization of a periodic planar line with symmetry with respect to the midplane  grids  
✓  prd_2d_qs  Adaptive parametrization of a closed planar line with symmetry with respect to two planes  grids  
✓  prd_3d  Adaptive parametrization of a closed threedimensional line  grids  
✓  prd_3d_pr  Adaptive parametrization of a threedimensional periodic line  grids  
✓  prd_ax  Adaptive representation of a line beginning and ending at the x axis regarded as the trace of a surface of revolution in an azimuthal plane, generated by rotating the line around the x axis  grids  
prd_ax_cl  Adaptive representation of a closed line regarded as the trace of a toroidal surface in an azimuthal plane  
prd_ax_hs  Adaptive parametrization of a line beginning and ending at the x axis, with planereflection symmetry with respect to the x=0 plane  
prd_ax_pr  Adaptive parametrization of a periodic line representing the trace of an axisymmetric periodic surface in an azimuthal plane  
prd_ax_pr_hs  Adaptive parametrization of a periodic line representing the trace of an axisymmetric periodic surface in an azimuthal plane with planereflection symmetry about the x=0 plane  
✓  rec_2d  Interpolation and numerical differential of a velocity field defined on a twodimensional rectangular grid based on data provided at the grid nodes; computation of the velocity gradient tensor, rate of deformation tensor and its eigenvalues and eigenvectors, velocity and vorticity tensors.  
✓  rec_2d_strml  Interpolation and computation of streamlines and velocity vector field from data prescribed on a twodimensional rectangular grid.  
✓  sm_3d_df  Smoothing by diffusion of a function defined over a closed surface described by triangulation  grids  
✓  sm_3d_tr  Smoothing by spectrum truncation of a function defined over a closed surface described by triangulation  grids  
✓  trgl  Triangulation of a closed surface into an unstructured mesh of sixnode curved triangular elements. The grid is generated by the successive subdivisions of an octahedron or icosahedron  grids  
✓  trgl_flat  Triangulation of a square patch into a structured grid of sixnode plane triangular elements based on the successive subdivisions of a hardcoded element pattern: a disk, a square, a square performed by a circular hole, a square performed by a square hole  grids 
Directory: 03_hydrostat
This directory contains programs that compute interfacial shapes in hydrostatics.
Public  Directory  Subject  BEMLIB  

✓  drop_2d  A twodimensional sessile or pendant drop or bubble attached to a horizontal plane  
✓  drop_2di  A twodimensional drop or bubble attached to an inclined plane  
drop_3d  A threedimensional sessile or pendant drop or bubble attached to a plane  
✓  drop_ax  An axisymmetric sessile or pendant bubble or drop attached to a horizontal plane  
✓  flsphere  A sphere floating at the interface between two immiscible fluids  
✓  men_2d  A twodimensional meniscus between two parallel plates  
✓  men_2d_plate  A semiinfinite meniscus attached to an inclined plate  
✓  men_3d  A threedimensional meniscus attached to an elliptical contact line  
✓  men_3d_2p  A doubly periodic threedimensional meniscus  
✓  men_ax  A meniscus inside a vertical circular tube  
✓  men_axe  A meniscus outside a vertical circular tube  
✓  men_ell  An infinite meniscus outside an elliptical contact line  
✓  men_cc  An infinite meniscus attached to two cylinders 
Directory: 04_various
This directory contains programs that generate solutions to the equations of steady and unsteady incompressible Newtonian flow. The solutions are obtained by evaluating analytical expressions or by computing numerical solutions of simple ordinary and partial differential equations.
Public  Directory  Subject  BEMLIB  

✓  chan_2d  Unidirectional CouettePoiseuille flow through a twodimensional channel  
✓  chan_2d_2l  Unidirectional CouettePoiseuille flow of two superimposed layers through a twodimensional channel  
✓  chan_2d_imp  Transient flow flow in a channel confined between two parallel plane walls due to the sudden translation of one of the walls parallel to itself with constant velocity  
✓  chan_2d_ml  Flow of an arbitrary number of superimposed layers through a twodimensional channel  
✓  chan_2d_osc  Timeperiodic Couette flow in a channel confined between two parallel plane walls due to the inplane oscillation of one of the walls  
✓  chan_2d_trans  Transient flow in a channel confined between two parallel plane walls due to the sudden application of a constant pressure gradient  
✓  chan_2d_wom  Timeperiodic flow in a channel confined between two parallel plane walls due to an oscillatory pressure gradient  
✓  chan_brush  Flow through a semiinfinite rectangular strip modeling the unit cell of a twodimensional paint brush  
✓  film  Flow of a film down an inclined plane  
✓  films  Flow of an arbitrary number of superimposed films down an inclined plane  
✓  flow_1d  Steady, unidirectional, pressure and gravitydriven flow through a tube with arbitrary crosssection; the main program solves an integral equation for the distribution of the boundary shear stress using a boundaryelement method and computes the velocity at a specified point  laplace  
✓  flow_1d_1p  Steady unidirectional shear flow over a periodic array of cylinders with arbitrary crosssection or a periodic wall with arbitrary shape; the main program solves an integral equation for the distribution of the boundary shear stress using a boundaryelement method and computes the drift velocity, the slip velocity, and the velocity at a specified point in the flow  laplace  
✓  flow_1d_osc  Oscillatory unidirectional flow inside or outside a tube with arbitrary crosssection; the motion may be due to an oscillatory pressure gradient (internal flow), or to the translational oscillations of the tube wall parallel to the generators (internal or external flow); the main program solves an integral equation for the distribution of the complex amplitude of the boundary shear stress using a boundaryelement method and computes the complex amplitude of the velocity at a specified point in the flow  helmholtz  
✓  path_lines  Computation of path lines  
✓  plate_imp  Unsteady flow in a semiinfinite fluid bounded by an infinite plane due to the impulsive translation of the plane at constant velocity  
✓  plate_osc  Timeperiodic flow of a semiinfinite fluid bounded by an infinite plane due to the sinusoidal oscillations of the plane  
✓  spf  Similarity solutions for three types of stagnationpoint flow: twodimensional oblique stagnationpoint flow toward a flat plate, axisymmetric orthogonal stagnationpoint flow, swirling flow due to the rotation of a flat disk (von Karman flow); the main program solves the boundary value problems resulting from a similarity solution using a shooting method  
✓

strml

The main code generates streamline patterns for a
broad range of flows listed in a nested menu,
including, but not limited to, the following:
Irrotational flows


✓  tube_ann  Flow through an annular tube confined between two concentric cylinders  
✓  tube_ann_ml  Flow of an arbitrary number of annular layers through an annular tube confined between two coaxial cylinders  
✓  tube_ann_sw  Swirling flow inside an annular tube confined between two coaxial cylinders due to the rotation of the inner or outer cylinder  
✓  tube_ann_sw_ml  Swirling flow of an arbitrary number of annular layers inside an annular tube confined between two coaxial cylinders due to the rotation of the inner or outer cylinder  
✓  tube_crc  Flow through a circular tube  
✓  tube_crc_ml  Flow of an arbitrary number of concentric annular layers through a circular tube  
✓  tube_crc_sec  Unidirectional flow through a circular tube due to the translation of a section of the wall  
✓  tube_crc_sw  Swirling flow in a circular tube due to the sudden rotation of the wall at constant angular velocity  
✓  tube_crc_trans  Transient flow through a circular tube, due to the sudden application of a constant pressure gradient  
✓  tube_crc_wom  Periodic flow through a circular tube due to an oscillatory pressure gradient  
✓  tube_ell  Flow through a tube with elliptical crosssection  
✓  tube_rec  Flow through a tube with rectangular crosssection  
✓  tube_trgl_eql  Flow through a tube whose crosssection is an equilateral triangle 
Directory: 05_lub
This directory contains programs that compute a family of viscous flows with negligible inertial forces. The mathematical formulation relies on the approximations of lubrication flow. The basic assumption implemented as an approximation is that the flow is locally unidirectional with a parabolic, position, and possibly timedependent velocity profile.
Public  Directory  Subject  BEMLIB  

✓  bear_2d  Dynamic simulation of the motion of a twodimensional body pressing against a sliding wall in the arrangement of a slider bearing. The body geometry and boundary conditions for the pressure away from the lubrication zone are specified at the input. The equation governing the motion of the slider bearing normal to the wall derives from Newton's second law of motion, where the force due to the lubrication pressure is a key constituent.  
✓  chan2l_exp  Dynamic simulation of the evolution of the interface between two viscous layers in a horizontal or inclined channel confined between two parallel plane walls, in Couette, Poiseuille, or gravitydriven flow. The problem is formulated in terms of a nonlinear partial differential equation for the location of the interface. The solution is found using an explicit finitedifference method.  
✓  chan_2d_imp  Same chan_2d_2l_exp, except that the motion is simulated using an implicit finitedifference method to circumvent stability restrictions on the time step.  
✓  films  Dynamic simulation of the evolution of an arbitrary number of superimposed viscous films leveling on a horizontal wall or flowing down an inclined or vertical plane; the wall and the inclined plane are allowed to have periodic corrugations; the interfaces are spatially periodic and the wavelength matches the period of the wall; under the approximations of lubrication flow, the problem is formulated in terms of a system of nonlinear partial differential equations for the location of the interfaces and free surface; the solution is found using an explicit finitedifference method 
Directory: 06_stokes
This directory contains programs pertinent to Stokes flow. Inertial forces are negligible, and the fluid motion is determined by the balance between the pressure, viscous, and possibly a body force.
Public  Directory  Subject  BEMLIB  

✓  bump_3d  Shear flow past a spherical protrusion on a plane wall  stokes  
✓  caps_2d  Dynamic simulation of the motion of a twodimensional bubble, drop, or liquid capsule with generalized interfacial properties, in infinite, semiinfinite, or channel flow; the interface exhibits constant surface tension, variable surface tension due to the presence of a surfactant, or develop elastic tensions due to the deformation from the unstressed shape; the evolution of the concentration of an insoluble surfactant over the deforming interface is computed by a semiimplicit finitevolume method; in the case of infinite flow, the program also computes the effective rheological properties of a dilute suspension  stokes  
✓  caps_3d  Dynamic simulation of the motion of a threedimensional bubble, drop, or liquid capsule bounded by an elastic membrane, in infinite or wallbounded flow; the interface may exhibit constant surface tension, variable surface tension due to the presence of a surfactant, or develop elastic tensions and bending moments due to the deformation from the unstressed shape; the evolution of the concentration of an insoluble surfactant over the deforming interface is computed by a semiimplicit finitevolume or finiteelement method; in the case of flow in an infinite domain, the code also computes the effective rheological properties of a dilute emulsion  stokes  
caps_ax  Dynamic simulation of the deformation of an axisymmetric bubble, drop, or capsule, moving under the action of gravity or deforming under the action of a specified infinite, semiinfinite or tube flow; the interface may exhibit constant surface tension, variable surface tension due to the presence of a surfactant, or elastic tensions; the evolution of the concentration of an insoluble surfactant over the deforming interface is computed by a finitevolume method  
✓  chan2l  Dynamic simulation of the evolution of the interface between twolayers in a channel confined between two parallel walls  
chan2lw  Dynamic simulation of the evolution of the interface between two layers in a channel confined between a plane and a wavy wall  
✓  drop_3d  Dynamic simulation of the motion of a threedimensional drop or bubble with uniform surface tension  
✓  drop_3dw  Dynamic simulation of the deformation of a threedimensional drop or bubble with uniform surface tension adhering to a plane wall with a specified contact line under the influence of a shear flow  
✓  drop_ax  Dynamic simulation of the evolution of a viscous drop in infinite space, in semiinfinite space bounded by a plane wall, and inside a circular tube.  stokes  
✓  em_2d  Dynamic simulation of the motion of a singly or doubly periodic polydisperse suspension of twodimensional bubbles, drops, or capsules in shear flow; the interfaces may exhibit constant surface tension, variable surface tension due to the presence of a surfactant, or elastic tensions; the evolution of the concentration of an insoluble surfactant over the deforming interfaces is computed by a finitevolume method; the code also computes the effective rheological properties of the evolving emulsion  stokes  
film_3d  Dynamic simulation of a threedimensional liquid film down an inclined plane  
films  Dynamic simulation of the deformation of a number of superposed viscous layers comprising a composite film: layers in channel flow, layers leveling on a horizontal plane, and layers flowing down an inclined plane  
filmw  Dynamic simulation of the evolution of a liquid film down an inclined plane; the interface is occupied by an insoluble surfactant  
✓  flow_2d  Flow in a twodimensional domain with arbitrary geometry; the main program solves an integral equation of the first kind for the distribution of the boundary traction and computes streamlines emanating from specified points in the flow; several types of flow and domain geometries are implemented in the code; other configurations can be considered by straightforward modifications  stokes  
✓  flow_3x  Shear flow over an axisymmetric cavity, orifice, or protrusion embedded on a plane wall, possibly in the presence of an upper plane wall; the main program solves a system of integral equations of the first kind for the Fourier coefficients of the boundary distribution of the traction, and computes streamlines; in the case of flow over a protrusion, the program also computes the force and torque exerted on the protrusion The program may be readily modified to handle shear flow past an axisymmetric particle, where the unperturbed flow is directed perpendicular to the particle axis.  stokes  
layers  Dynamic simulation of the deformation of two superposed viscous layers or one layer resting on a wall underneath a semiinfinite fluid: two layers in channel flow, a layer leveling underneath a semiinfinite fluid on a horizontal plane, a layer flowing down an inclined plane, an infinite interface deforming under the influence of a periodic collection of pointsource dipoles  
pint  Flow past or due to particle motion near or inside a flat interface between two mmiscible fluids  
✓  prtcl_2d  Flow past a collection of twodimensional particles with arbitrary shapes for several flow configurations: uniform flow past a doublyperiodic particle array, flow in a semiinfinite domain bounded by a plane wall, flow in a channel confined by two parallel plane walls; the main program solves an integral equation of the first kind for the distribution of the traction over the particle surfaces and generates streamlines that originate from specified points; the results allow the computation of macroscopic flow variables, including the permeability of a disordered twodimensional porous medium  stokes  
prtcl_2d_se  Same as prtcl_2d except that the integral equations are solved using a spectralelement method  
✓  prtcl_3d  Flow past, or due to the motion of, a threedimensional solid particle in a solitary or periodic arrangement; the main program solves an integral equation of the first kind for the distribution of the traction over the particle surface, and computes the grandresistance tensor for rigidbody motion in a quiescent fluid; the flow occurs in an infinite domain or in a semiinfinite domain bounded by a plane wall; the force and torque exerted on a particle that is held stationary in an arbitrary flow may be computed readily from the numerical results using the reciprocal relation for Stokes flow; the translational and angular velocity of a particle subjected to a specified force and torque arises by a straightforward computation  stokes  
✓  prtcl_3d_mob  Mobility problem for threedimensional particle motion  stokes  
✓  prtcl_3d_mob_dlr_se  Same as prtcl_3d_mob, except that an integral equation based on the doublelayer representation (dlr) is solved by a spectralelement method  stokes  
prtcl_3dx  Threedimensional flow past or due to the motion of an axisymmetric particle  
✓  prtcl_ax  Axisymmetric flow past, or due to the motion of, a collection of particles with arbitrary shapes aligned with a common axis for a variety of configurations including: uniform flow past a fixed collection of particles, flow due to particle translation, flow in a semiinfinite domain bounded by a plane wall, flow in the interior of a cylindrical tube; the main program solves an integral equation of the first kind for the boundary traction and then computes streamlines  stokes  
✓  prtcl_sw  Swirling flow generated by the rotation of an axisymmetric particle around its axis; the main program solves an integral equation of the first kind for the traction over the particle surface, and then computes the torque exerted on the particle; several particle geometries are implemented in the code; other geometries can be implemented by straightforward modifications  stokes  
✓  rbc_2d  Numerical simulation of the flowinduced deformation of a twodimensional red blood cell in infinite shear flow or semiinfinite flow over a plane wall  stokes  
✓

sgf_2d 
Green's functions of twodimensional Stokes flow representing
the flow due to a twodimensional point force;
the subroutines evaluate the Green's functions for the velocity,
pressure, and stress

stokes  
✓

sgf_3d 
Green's functions of threedimensional Stokes flow
representing the flow due to a solitary point force
or a periodic array of point forces;
the subroutines evaluate the Green's functions
for the velocity, pressure, and stress

stokes  
✓ 
sgf_ax 
Green's functions of axisymmetric Stokes flow representing the flow
due to a ring of point forces;
the subroutines evaluate
the Green's functions for the velocity, and the kernel
of the doublelayer potential

stokes


slip  Particle motion near a plane wall with the noslip or slip boundary condition over the wall and particle surface  
spart  Interception of two spherical particles in shear flow with the noslip or slip boundary condition over the particle surfaces  
spfl  Dynamic simulation of the evolution of a film resting on a plane wall in stagnationpoint flow  
susp_2d  Dynamic simulation of the motion of a collection of twodimensional (cylindrical) particles with arbitrary shapes for several flow configurations: uniform flow of a doublyperiodic array, flow in a semiinfinite domain bounded by a plane wall, flow in a channel bounded by two parallel plane walls; a specified force and torque is exerted on each particle; the main program solves an integral equation of the first kind for the distribution of the traction over the particle surfaces and simultaneously produces the particle translational and angular velocities  
susp_2d_se  Same as susp_2d, except that the integral equations are solved by a spectralelement method  
✓  susp_3d  Dynamic simulation of a suspension of threedimensional particles  stokes  
thread_ax  Dynamic simulation of the instability of an infinite liquid thread or annular layer subject to axisymmetric periodic perturbations; the ambient fluid may be of infinite extent or bounded by a coaxial cylindrical surface in the configuration of the coreannular flow; the thread interface may exhibit constant surface tension, variable surface tension due to the presence of an insoluble surfactant, and develop elastic tensions; the evolution of the concentration of an insoluble surfactant over the deforming interface is computed by a finitevolume method  
✓  two_spheres  Motion of two intercepting spheres in simple shear flow 
Directory: 07_ptf
This directory contains programs that solve problems involving potential (irrotational) flow of an incompressible fluid. The fundamental physical assumption is that the vorticity is zero throughout the domain of the flow. See also directory 12_bem on boundaryelement methods.
Public  Directory  Subject  BEMLIB  

✓  airf_2d  Shapes of twodimensional airfoils  
✓  airf_2d_cdp  Potential flow past an airfoil with arbitrary geometry with the Kutta condition satisfied at the trailing edge or at a designated point the flow is computed by solving Laplace's equation subject to the Dirichlet boundary condition using the constantsourcedipole panel method  
✓  airf_2d_csdp  Potential flow past an airfoil with arbitrary geometry with the Kutta condition satisfied at the trailing edge or at a designated point; the flow is computed by solving Laplace's equation with the Dirichlet boundary condition using the constantpointsource / sourcedipole panel method  
✓  airf_2d_lvp  Potential flow past an airfoil with arbitrary geometry with the Kutta condition satisfied at the trailing edge or at a designated point; the flow is computed by solving Laplace's equation using the linear vortex panel method  laplace  
✓  body_2d  Potential flow past a twodimensional body with arbitrary geometry; the flow occurs in an infinite domain or in a semiinfinite domain bounded by a plane wall; the main program solves an integral of the second kind for the boundary distribution of a properly defined disturbance potential over the surface of the body, computes the distribution of the pressure coefficient and the force exerted on the body, and then generates streamlines originating from specified points The program implements uniform flow past a body with circular, elliptical, triangular, or rectangular shape. Other flow geometries and types of flow may be included by straightforward modifications.  laplace  
✓  body_ax  Potential flow past an axisymmetric body with arbitrary geometry; the main program solves an integral equation of the second kind for the boundary distribution of a properly defined disturbance potential, computes the distribution of the pressure coefficient and the force exerted on the body, and then generates streamlines originating from specified points; options are provided for uniform flow past a body with spherical, spheroidal, and toroidal shape; other flow geometries and types of flow can be implemented by straightforward modifications  laplace  
bubble_3d  Dynamic simulation of the evolution of a threedimensional gas bubble suspended in an inviscid fluid; the ambient fluid is infinite or semiinfinite bounded by a plane wall; the flow is computed using a generalized vortex method with a boundaryelement implementation  
✓  cvt_2d  Potential flow in a rectangular cavity with impenetrable bottom and side walls computed by a finitedifference method  
drop_3d  Dynamical simulation of the natural oscillations of a threedimensional inviscid drop induced by surface tension; the flow is computed using a generalized vortex method and a boundaryelement implementation  
✓  flow_2d  Potential flow in a twodimensional domain with arbitrary geometry; the main program solves an integral of the second kind for the boundary distribution of a properly defined disturbance harmonic potential and then produces streamlines originating from specified points; the program provides options for uniform flow past a cavity or a protrusion embedded on a plane wall, possibly in the presence of an upper wall; other flow geometries can be implemented by straightforward modifications  laplace  
✓

lgf_2d

Green and Neumann functions of Laplace's equation in two dimensions;
these programs evaluate the
following Green's functions and their gradient:

laplace


✓

lgf_3d

Green and Neumann functions of Laplace's equation in three dimensions;
these subroutines evaluate the
following Green's functions and their gradient:

laplace


✓ 
lgf_ax

Green's and Neumann functions of Laplace's equation
in an axisymmetric domain;
these subroutines evaluate the
following Green's functions and their gradient:

laplace  
✓  tank_2d  Dynamical simulation of the sloshing of a liquid inside a rectangular tank undergoing accelerating motion computed by a boundaryelement method  laplace  
wave_3d  Dynamical simulation of doubly periodic gravitycapillary waves computed by a generalized vortex method 
Directory: 08_stab
This directory contains programs and functions related to hydrodynamic stability.
Public  Directory  Subject  BEMLIB  

✓  ann2l  Capillary instability of two annular layers residing between two concentric cylinders in the presence of an insoluble surfactant  
✓  ann2l0  Same as ann2l but for Stokes flow  
✓  ann2lel  Same as ann2l but for an elastic interface  
✓  ann2lel0  Same as ann2l0 but for an elastic interface.  
✓  ann2lvs0  Same as ann2l0 but for a viscous interface  
✓  chan2l0  Instability of twolayer flow in a channel confined between two parallel plane walls under conditions of Stokes flow  
✓  chan2l0_s  Same as chan2l0 but in the presence of an insoluble surfactant.  
✓  coat0_s  Instability of a liquid film resting on a plane wall in the presence of an insoluble surfactant  
✓  film0  Instability of a liquid film flowing down an inclined plane under conditions of Stokes flow  
✓  film0_s  Same as film0 but in the presence of an insoluble surfactant under conditions of Stokes flow  
✓  if0  Instability of a horizontal interface separating two semiinfinite fluids in Stokes flow  
✓  ifsf0_s  Instability of a horizontal interface separating two semiinfinite fluids in the simple shear flow in the presence of an insoluble surfactant under conditions of Stokes flow  
✓  kirch_stab  Linear stability of Kirchhoff's elliptical vortex  
✓  layer0  Instability of a liquid layer resting on a horizontal wall underneath a semiinfinite fluid under conditions of Stokes flow  
✓  layersf0_s  Instability of a liquid layer resting on a horizontal wall underneath a semiinfinite fluid in simple shear flow in the presence of an insoluble surfactant under conditions of Stokes flow  
✓  orr  Solution of the OrrSommerfeld equation by a finitedifference method  
✓  prony 
prony:
Decomposition of a time series into normal modes
expressing exponentially growing or decaying sinusoidal waves
wave: Decomposition of linear spatial waves into exponentially evolving normal modes 

✓  rayleigh  Solution of the Rayleigh equation determining the stability of inviscid shear flow; the velocity profile is specified in analytical or numerical form  
✓  thread0  Capillary instability of viscous thread immersed in an infinite ambient viscous fluid under conditions of Stokes flow  
✓  thread1  Capillary instability of an inviscid thread suspended in an infinite ambient inviscid fluid with negligible density  
✓  vl  KelvinHelmholtz instability of an inviscid vortex layer with constant vorticity  
✓  vs  KelvinHelmholtz and RayleighTaylor instability of a vortex sheet 
Directory: 09_vortex
This directory contains programs concerning vorticity dynamics and vortex motion in an effectively inviscid fluid.
Public  Directory  Subject  BEMLIB  

✓  kirch_stab  Linear stability analysis of the Kirchhoff elliptical vortex  
✓  lv_lia  Dynamic simulation of the motion of a closed threedimensional line vortex computed by the localinduction approximation (LIA)  
✓  lvr 
Velocity induced by a line vortex ring in an infinite or
bounded domain


✓  lvrm  Dynamic simulation of the motion of a collection of coaxial line vortex rings; the strength of the vortex rings evolves so as to preserve the circulation around each ring; a pair of rings exhibit leapfrogging  
✓  pv 
Velocity induced by point vortices in
domains bounded by various surfaces


✓  pvm  Dynamic simulation of the motion of collection of point vortices  
✓  pvm_pr  Dynamic simulation of the motion of a periodic collection of point vortices illustrating the Kelvinelmholtz instability; a periodic array forming on a periodic line emulates a twodimensional vortex sheet separating two streams of a homogeneous fluid  
✓  pvpoly  Computation of rotating nested pointvortex polygons  
✓  ring  Selfinduced velocity of a vortex ring with a core of finite crosssection and a specified constant or Gaussian vorticity distribution; as the radius of the core tends to zero, we obtain a line vortex ring  
✓  vl_2d  Dynamic simulation of the motion of a compound vortex layer comprised with an arbitrary number of attached layers with constant vorticity The motion of the vortex boundaries is computed by the method of contour dynamics for twodimensional periodic flow.  
✓  vp_2d  Dynamic simulation of the motion of a collection of twodimensional vortex patches with constant vorticity, in solitary or periodic arrangement; the motion of the vortex boundaries is computed by the method of contour dynamics for twodimensional flow  
✓  vp_ax  Dynamic simulation of the motion of a collection of axisymmetric coaxial vortex patches whose vorticity varies linearly with the distance from the axis of symmetry; the motion of the vortex boundaries is computed by the method of contour dynamics for axisymmetric flow  
✓  vs_3d  Dynamic simulation of the selfinduced motion of a closed threedimensional vortex sheet  
vs_3d_2p  Dynamic simulation of the selfinduced motion of a doublyperiodic threedimensional vortex sheet 
Directory: 10_bl
This directory contains of programs concerning boundarylayer flows.
Public  Directory  Subject  BEMLIB  

✓  blasius  Solution of the Blasius boundary layer equation  
✓  falskan  Solution of the FalknerSkan boundary layer equation  
✓  kp_cc  Boundarylayer flow around a circular cylinder computed using the KarmanPohlhausen method  
✓  pohl_pol  Profiles of the Pohlhausen polynomials 
Directory: 11_fdm
This directory contains programs that generate numerical solutions to the equations of incompressible Newtonian flow using finitedifference methods.
Public  Directory  Subject  BEMLIB  

✓  channel  Unidirectional flow in a channel  
✓  cvt_pm  Transient flow in a rectangular cavity computed using Alexandre Chorin's projection method  
✓  cvt_stag  Stokes flow in a rectangular cavity computed on a staggered grid  
✓  cvt_sv  Steady flow in a rectangular cavity driven computed using the stream functionvorticity formulation 
Directory: 12_bem
This directory contains programs that generate numerical solutions to Laplace's equation with Dirichlet and Neumann boundary conditions using boundaryelement methods based on direct and indirect formulations.
Public  Directory  Subject  BEMLIB  

✓  ldr_3d  Solution of Laplace's equation in the interior or exterior of a threedimensional domain subject to the Dirichlet boundary condition, computed using the boundaryintegral formulation.  laplace  
✓  ldr_3d_2p  Solution of Laplace's equation in a doubly periodic semiinfinite domain subject to the Dirichlet boundary condition, computed using the doublelayer representation  laplace  
✓  ldr_3d_ext  Solution of Laplace's equation in the exterior of a threedimensional region subject to the Dirichlet boundary condition, computed using the completed doublelayer formulation  laplace  
✓  ldr_3d_ext_se  Spectral element implementation of ldr_3d_ext  
✓  ldr_3d_int  Solution of Laplace's equation in the interior of a threedimensional region subject to the Dirichlet boundary condition, computed using the doublelayer formulation  laplace  
✓  ldr_3d_int_se  Spectral element implementation of ldr_3d_int  laplace  
✓  lnm_3d  Solution of Laplace's equation in the interior or exterior of a threedimensional domain subject to the Neumann (natural) boundary condition, computed using the boundaryintegral formulation  laplace 
Directory: 13_turbo
This directory contains data and programs related to turbulent flow.
Public  Directory  Subject  BEMLIB  

✓  stats  Statistics of a turbulent time series for stably stratified turbulent flow behind a grid recorded in the laboratory by Kurt Keller; the main program reads a velocity and temperature time series from a data file, and then computes mean and RMS values, power spectra, and timedelayed correlations 