6.4  Subroutines HMBEM2, HMBEM3 and HMBEMA

In this Section the subroutines HMBEM2, HMBEM3 and HMBEMA are introduced. The purpose of the subroutines is to solve the interior Helmholtz modal analysis problem. Each subroutine's parameter list has the following general form:

SUBROUTINE MBEM{2 or 3 or A(}

real wavenumber,

description of boundary and set of interior solution points,

homogeneous boundary condition,

validation parameters,

characteristic wavenumbers and their corresponding mode shape at boundary points and at interior solution points (solution),

working space )

The subroutines require input a geometrical description of the boundary of the domain (as covered in Chapter 2) and a list of the points in the interior (from which the values of the f at those points allow us to construct the mode shapes), the homogeneous boundary condition, the subroutine returns the characteristic wavenumbers and their corresponding mode shape at boundary points and at interior solution points. The use of the subroutines are demonstrated by the programs HMBEM2_T, HMBEM3_T and HMBEMA_T in the next Section.

6.4.1  Solution Strategy of the MBEM* routines

In the MBEM* routines the interior Helmholtz eigenvalue problem is solved by the direct boundary element method. The discrete homogeneous boundary condition (6.11) is used to rearrange the system of equations (6.10). This results in the generalised eigenvalue problem of the form (6.4) which is solved by the method described in section 6.3.

In the subroutines HMBEM2, HMBEM3 and HMBEMA, the technique employed for deriving the polynomial approximation (6.12) involves computing Ak at the m+1 Chebyshev (¥ norm) interpolation points for any selected wavenumber range [kA, kB]. The coefficient matrices A[0], A[1], ..., A[m] in (6.12) are obtained through Newton's divided differences using the value of Ak at the selected values of k in [kA, kB].

6.4.2  Subroutine HMBEM2

Subroutine HMBEM2 computes the modal solutions of the two-dimensional Helmholtz equation in the domain interior to a closed boundary and in a predetermined frequency range. 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,

INTEIG.FOR, the file for computing the solution to a linear system - see Appendix 4,

GEOM2D.FOR, the file for 2D geometry - see Appendix 6.

6.4.3  Subroutine HMBEM3

Subroutine HMBEM3 computes the modal solutions of the three-dimensional Helmholtz equation in the domain interior to a closed surface and in a predetermined frequency range. 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,

INTEIG.FOR, the file for computing the solution to a linear system - see Appendix 4,

GEOM3D.FOR, the file for 3D geometry - see Appendix 6.

6.4.4  Subroutine HMBEMA

Subroutine HMBEMA computes the modal solutions of the axisymmetric three-dimensional Helmholtz equation in the domain interior to a closed surface and in a predetermined frequency range. 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,

INTEIG.FOR, the file for computing the solution to a linear system - see Appendix 4,

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