SUBROUTINE HIBEM{2 or 3 or A(}
real wavenumber,
description of boundary and set of interior solution points,
boundary condition,
incident field at boundary points and at interior solution points,
control and validation parameters,
solution at boundary points and at interior solution points
(solution),
working space )
The subroutines require input of the conditions of the Helmholtz field  the wavenumber, a geometrical description of the boundary of the domain (as covered in Chapter 2) and a list of the points in the interior domain where a solution is sought, the boundary condition and the incident field (if any). The subroutine returns the solution at the boundary points and at the selected points in the domain. The use of the subroutines are demonstrated by the programs HIBEM2_T, HIBEM3_T and HIBEMA_T in the next Section.
A simple analysis of the magnitude of the integral operators suggests that a weighting of the form m ~ ^{1}/_{k} tends to ensure that the relative contribution from each integral operator on either side of the equation remains in balance, whatever the value of k. m is a parameter in the Fortran subroutines for solving the interior Helmholtz problem. In the test problems the parameter is chosen as follows:

The subroutine parameters that specify the interior
twodimensional Helmholtz
problem must be set up in the main program. Let this be called
MAIN.FOR.
The following files must be linked together to construct the
complete program:
MAIN.FOR (and files containing any userdefined subprograms),
HIBEM2.FOR,
H2LC.FOR, the file for computing the discrete operators  see Chapter 3,
FNHANK.FOR, the Hankel function  see Appendix 5,
CGLS.FOR, the file for computing the solution to a linear
system  see Appendix 3,
GEOM2D.FOR, the file for 2D geometry  see Appendix 6.
The subroutine parameters that specify the interior
threedimensional Helmholtz
problem must be set up in the main program. Let this be called
MAIN.FOR.
The following files must be linked together to construct the
complete program:
MAIN.FOR (and files containing any userdefined subprograms),
HIBEM3.FOR,
H3LC.FOR, the file for computing the discrete operators  see Chapter 3,
CGLS.FOR, the file for computing the solution to a linear
system  see Appendix 3,
GEOM3D.FOR, the file for 3D geometry  see Appendix 6.
The subroutine parameters that specify the interior
threedimensional axisymmetric Helmholtz
problem must be set up in the main program. Let this be called
MAIN.FOR.
The following files must be linked together to construct the
complete program:
MAIN.FOR (and files containing any userdefined subprograms),
HIBEMA.FOR,
H3ALC.FOR, the file for computing the discrete operators  see Chapter 3,
CGLS.FOR, the file for computing the solution to a linear
system  see Appendix 3,
GEOM2D.FOR, the file for 2D geometry  see Appendix 6,
GEOM3D.FOR, the file for 3D geometry  see Appendix 6.