4.3  Subroutines HIBEM2, HIBEM3 and HIBEMA

In this Section the subroutines HIBEM2, HIBEM3 and HIBEMA are introduced. The purpose of the subroutines is to solve the interior Helmholtz problem. Each subroutine's parameter list has the following general form:

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.

4.3.1  Solution Strategy of the HIBEM* routines

In the HIBEM* routines the interior Helmholtz equation is solved by the improved direct boundary element method. That is finding the solution of (4.17) subject to the discrete boundary condition (4.18). This will result in obtaining (approximations to) both f and v on S. The solution in the domain is then found using equation (4.19).

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:

m = i
k+1
 .

4.3.2  Subroutine HIBEM2

Subroutine HIBEM2 computes the solution of the two-dimensional Helmholtz equation in the domain interior to a closed boundary. The boundary (S) is approximated by a set of straight line elements.

The subroutine parameters that specify the interior two-dimensional 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 user-defined sub-programs),

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.

4.3.3  Subroutine HIBEM3

Subroutine HIBEM3 computes solution of the three-dimensional Helmholtz equation in the domain interior to a closed surface. The boundary (S) is approximated by a set of planar triangular elements.

The subroutine parameters that specify the interior three-dimensional 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 user-defined sub-programs),

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.

4.3.4  Subroutine HIBEMA

Subroutine HIBEMA computes solution of the three-dimensional axisymmetric Helmholtz equation in the domain interior to a closed surface. The boundary (S) is approximated by a set of truncated cone elements.

The subroutine parameters that specify the interior three-dimensional 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 user-defined sub-programs),

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.


Return to boundary-element-method.com/helmholtz
Return to boundary-element-method.com