5.5  Subroutines HEBEM2, HEBEM3 and HEBEMA

In this Section the subroutines HEBEM2, HEBEM3 and HEBEMA are introduced. The purpose of the subroutines is to solve the exterior Helmholtz problem. Each subroutine's parameter list has the following general form:

SUBROUTINE HEBEM{2 or 3 or A(}

real wavenumber,

description of boundary and set of exterior solution points,

boundary condition,

incident field at boundary points and at exterior solution points,

control and validation parameters,

solution at boundary points and at exterior 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 exterior domain where a solution is sought, the boundary condition, 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 HEBEM2_T, HEBEM3_T and HEBEMA_T in the next Section.

5.5.1  Solution Strategy of the HEBEM* routines

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

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
 .

5.5.2  Subroutine HEBEM2

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

5.5.3  Subroutine HEBEM3

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

The subroutine parameters that specify the exterior 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),

HEBEM3.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.

5.5.4  Subroutine HEBEMA

Subroutine HEBEMA computes solutions of the axisymmetric three-dimensional Helmholtz equation in the domain exterior to a closed surface. The boundary (S) is approximated by a set of conical elements.

The subroutine parameters that specify the exterior 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