1 Introduction
The Fortran subroutines described here are useful in the
implementation of integral equation methods for the solution of the
general two-dimensional, the general three-dimensional and the axisymmetric
three-dimensional Helmholtz equation,
which governs f(p) in a given domain and k is a complex
number. The subroutines compute the discrete form of the integral
operators Lk, Mk, Mkt and Nk that arise in the application
of collocation to integral equation formulations of the Helmholtz equation.
Expressions for the discrete integral operators are derived by approximating
the boundaries by the most simple elements for each of the three cases
- straight line elements for the general two-dimensional case, flat
triangular elements for the general three-dimensional case and
conical elements for the axisymmetric three-dimensional case - and approximating
the boundary functions by a constant on each element.
The Helmholtz integral operators are defined as follows:
|
{ Lk m}G(p ) º |
ó õ G
|
Gk(p,q) m(q) dSq , |
| (2) |
|
{ Mk m}G(p) º |
ó õ G
|
|
¶Gk
¶nq
|
(p,q) m(q) dSq , |
| (3) |
|
{ Mkt m}G(p; vp) º |
¶
¶vp
|
|
ó õ G
|
Gk(p,q) m(q) dSq , |
| (4) |
|
{ Nk m}G(p; vp) º |
¶
¶vp
|
|
ó õ G
|
|
¶Gk
¶nq
|
(p,q) m(q) dSq , |
| (5) |
where G is a boundary (not necessarily closed),
nq
is the unique unit normal vector to G at q,
vp is a unit directional vector passing through p
and m(q)
is a function defined for q Î G. Gk(p,q) is a the free-space Green's
function for the Helmholtz equation.
In this paper the Green's functions are
|
Gk(p,q) = |
i
4
|
H0(1)(kr) (k Î C \{ 0 }) in two dimensions, |
| (6) |
|
Gk(p,q) = |
1
4 p
|
|
eikr
r
|
(k Î C) in three dimensions, |
| (7) |
where r = |r|, r = p-q, C is the set
of complex numbers and i is the unit imaginary
number. The function H0(1) is the spherical Hankel function of
the first kind of order zero. The Green's functions (6) and (7) also
satisfy the following condition at infinity, known physically as
the Sommerfeld radiation condition,
|
|
lim
r ® ¥
|
r1/2 ( |
¶f(p)
¶r
|
- i k f(p) ) = 0 in two dimensions. |
| (8) |
|
|
lim
r ® ¥
|
r ( |
¶f(p)
¶r
|
- i k f(p) ) = 0 in three dimensions. |
| (9) |
It is noted that the term `integral operator' is applied loosely,
Nk is not generally an integral operator.
For the special case when k = 0 the Helmholtz equation (1)
is the Laplace equation. In this particular case the chosen Green's
functions are
|
G0(p,q) = - |
1
2 p
|
logr in two dimensions, |
| (10) |
|
G0(p,q) = |
1
4 p
|
|
1
r
|
in three dimensions. |
| (11) |
Note that limk ® 0 Gk(p,q) = G0(p,q)
for the three-dimensional case but not for the two dimensional case and
that G0(p,q) for the two-dimensional case does
not satisfy condition (8).
For each particular case of boundary division, the discrete form of the
operators is computed using the subroutines H2LC (two-dimensional),
H3LC (three-dimensional) and
H3ALC (axisymmetric three-dimensional).
The subroutines in this paper are thus useful for the solution of the
interior or exterior Helmholtz or Laplace equation via integral equation
methods. Examples of situations where the subroutines in this
paper could be useful are the problems addressed in references
[32], [9], [29],
[34], [31],
[1], [5], [6], [13],
[14], [35], [2], [12],
[16], [17], [18],
[19], [22], [24]. A full
description of the solution of acoustic problems
in interior, exterior domains and of the solution to modal problems
is given in Kirkup [25].
The objective of this paper is to describe the underlying methods employed
in computing the discrete form of the integral operators
(2)-(5), to outline the three Fortran subroutines and examine
their computational cost,
explain how the subroutines may be utilised and to demonstrate the
subroutines on the Burton and Miller equation [7].
The subroutines have been written to the Fortran77 standard and
employ double-precision arithmetic.