Académique Documents
Professionnel Documents
Culture Documents
Software Note
In this paper Fortran subroutines for the evaluation of the discrete form of the Helmholtz
integral operators Lk , Mk , Mkt and Nk for two-dimensional, three-dimensional and three-
dimensional axisymmetric problems are described. The subroutines are useful in the solution
of Helmholtz problems via boundary element and related methods. The subroutines have
been designed to be easy to use, reliable and efficient. The subroutines are also flexible
in that the quadrature rule is defined as a parameter and the library functions (such as
the Hankel, exponential and square root functions) are called from external routines. The
subroutines are demonstrated on test problems arising from the solution of the Neumann
problem exterior to a closed boundary via the Burton and Miller equation.
1. Introduction
The Fortran subroutines described in this paper 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,
2 (p) + k2 (p) = 0, (1)
which governs (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
elements are illustrated in figure 1.
The Helmholtz integral operators are defined as follows:
Z
{Lk } (p) Gk (p, q)(q) dSq , (2)
Figure 1. The straight line, planar triangle and truncated cone elements.
Z
Gk
{Mk } (p) (p, q)(q) dSq , (3)
nq
Z
t
Mk (p; vp ) Gk (p, q)(q) dSq , (4)
vp
Z
Gk
{Nk } (p; vp ) (p, q)(q) dSq , (5)
vp nq
where is a boundary (not necessarily closed), nq is the unique unit normal vector to
at q, vp is a unit directional vector passing through p and (q) is a function defined
for q . Gk (p, q) is the free-space Greens function for the Helmholtz equation. In
this paper the Greens functions are
i
Gk (p, q) = H0(1) (kr) (k C\{0}) in two dimensions, (6)
4
1 eikr
Gk (p, q) = (k C) in three dimensions, (7)
4 r
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 Greens functions (6) and (7) also satisfy the following condition at infinity,
known physically as the Sommerfeld radiation condition:
(p)
lim r 1/2 ik(p) = 0 in two dimensions, (8)
r r
(p)
lim r ik(p) = 0 in three dimensions. (9)
r r
For the special case when k = 0 the Helmholtz equation (1) is the Laplace equation.
In this particular case the chosen Greens functions are
1
G0 (p, q) = log r in two dimensions, (10)
2
1 1
G0 (p, q) = in three dimensions. (11)
4 r
Note that limk0 Gk (p, q) = G0 (p, q) for the three-dimensional case but not for the
two-dimensional case and that G) (p, q) for the two-dimensional case does not satisfy
condition (8).
S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators 393
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; the subroutines compute the matrix elements in the linear
systems of equations that arise. Each subroutine is meant to be used as a tool that
will be called many times within a main program. Examples of situations where the
subroutines in this paper could be useful are the problems addressed in references [1,2,
7,8,11,1528,31,32,34,35,3739]. The solution of Helmholtz problems is important in
linear acoustics and many of the referenced papers are applied to acoustic problems. In
[28] the solutions of the straightforward interior, exterior and modal acoustic problems
by the boundary element method are considered.
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 Fortran
subroutines and explain how the subroutines may be utilised and to demonstrate the
subroutines on the Burton and Miller equation [8]. The subroutines have been written
to the Fortran77 standard and employ double-precision arithmetic.
The subroutines have the identifiers H2LC, H3LC and H3ALC, for computing
the discrete Helmholtz integral operators for the two-dimensional, three-dimensional
and three-dimensional axisymmetric cases. The subroutines parameter list has the
following general form:
SUBROUTINE H{2 or 3 or 3A}LC(
complex wavenumber
point (p and the unit vector vp , if necessary),
geometry of the element (vertices which define element),
quadrature rule (weights and abscissae for the standard element),
validation and control parameters,
discrete Helmholtz integral operators (output) ).
For further details on the format of the codes and how to use them the reader is
referred to reference [28].
The results given in this section are extracted mainly from references [9,10,17].
In the following r = p q and r = |r|, Gk = Gk (p, q), G0 = G0 (p, q).
2 G0 1 1
2
= . (13)
r 2 r 2
In three dimensions we have
G0 1 1
= , (14)
r 4 r 2
2 G0 1 1
2
= . (15)
r 2 r 3
The following expressions hold in both two and three dimensions and for all k:
Gk Gk r
= , (20)
nq r nq
Gk Gk r
= , (21)
vp r vp
2 Gk Gk 2 r 2 Gk r r
= + . (22)
vp nq r vp nq r 2 vp nq
r r vp
= , (24)
vp r
2r 1 r r
= vp nq + . (25)
vp nq r vp nq
The following results can be derived from the substitution of (25) and (12), (13)
or (14), (15) into (22) with k = 0:
2 G0 1 r r
= vp nq + 2 in two dimensions, (26)
vp nq 2r 2 vp nq
G0 1 r r
= vp nq + 3 in three dimensions. (27)
vp nq 4r 3 vp nq
Gk
lim (p, q) = O r 0 , (29)
qp vp
Gk
lim (p, q) = O r 0 , (30)
qp np
2 Gk 2 G0 1 2
lim (p, q) (p, q) + k Gk (p, q) = O r 0 . (31)
qp vp nq vp nq 2
where ee is the unit function. The other integral operators may be discretized in a
similar way. The discrete forms are thus defined as follows:
Z
Lk ee ej
(p) = Gk (p, q) dSq , (33)
e
j
Z
Gk
Mk ee e j
(p) = (p, q) dSq , (34)
e
j nq
Z
t
Mk ee e j
(p; vp ) = Gk (p, q) dSq , (35)
vp e j
Z
Gk
Nk ee ej
(p; vp ) = (p, q) dSq . (36)
vp e j nq
The derivative operator in (35) can always be carried inside the integral. The same is
true for the operator in (36) when p does not lie on the element ej . Thus we may
write
Z
t Gk
Mk ee e
j
(p; vp ) = (p, q) dSq , (37)
e
j vp
Z
2 Gk
Nk ee e (p; vp ) = /
(p, q) dSq when p ej . (38)
j
e
j vp nq
When p / ej the integrals of (33)(36) will all be regular and hence are amenable
to standard quadrature. The same is true for the integrands of (34) and (35) when
p ej (though not on the edge of the element). However, the evaluation of the
discrete integral operators (33) and (36) generally requires special treatment when
p ej .
The special techniques applied in this paper involve subtracting out the sin-
gularity and evaluating the singular part and remaining regular part separately. The
following results are immediate from the asymptotic properties of the kernel functions
(28) and (31):
Z
Lk ee ej
(p) = L0 e
e ej
(p) + G k (p, q) G 0 (p, q) dSq , (39)
e
j
1 2
Nk ee ej
(p; vp ) = N 0 e
e e
j
(p; vp ) k L 0 e
e e
j
(p)
2
Z 2
Gk 2 G0 1
+ (p, q) (p, q) + k2 G0 (p, q) dSq , (40)
ej vp nq vp nq 2
where, in each of (39) and (40) the explicit integral is non-singular and the remaining
expressions are independent of k. Evaluation in this way requires the computation of
the piecewise regular integral (amenable to standard quadrature) and the determination
of the subtracted out part. In computing the explicit integrals in (39), (40), it is
important to note that the integrands have discontinuous derivatives at p.
S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators 397
In this section a list of operations for computing the discrete integral operators is
given. This particular programme of computation is given prominence because it needs
to be executed for each quadrature point and hence it is the key to determining the
computational cost of the overall method. The following computational programme is
intended to be optimal. Note that it is assumed that p and vp are already set.
A: Set q the point on the element.
B: Set nq the unit outward normal to the element at q.
C: Compute vp nq .
D: Compute r.
E: Compute r, r 2 .
F: Compute r 3 (in the 3D case).
G: Compute r/nq via (23).
H: Compute r/vp via (24).
I: Compute r/nq r/vp .
J: Compute 2 r/(vp nq ) via (25).
K: Compute kr[k r] and ikr[i kr].
L: Compute skr[kr kr] (in the 3D cases).
M: Compute H [Hankel function H0(1) (kr), H1(1) (kr)]
for 2D problems or E [exp(ikr)] for 3D problems.
N: Compute Greens function via (6) or (10) for 2D
or via (7) or (11) for 3D.
O: Multiply Lk kernel by weight and add to sum.
P: Compute Gk /r via (16) or (12) for 2D or via (18)
or (14) for 3D.
Q: Compute value of quadrature weight multiplied by
the result of operation N.
R: Compute Mk kernel multiplied by weight and
add to sum.
S: Compute Mkt kernel multiplied by weight and
add to sum.
T: Compute 2 Gk /r 2 via (17) or (13) for 2D or via (19)
or (15) for 3D.
U: Multiply Nk kernel by weight and add to sum.
Apart from operations E and M, each operation can be directly costed in terms
of floating-point operations. Operation E computes a square root and operation M
398 S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators
where npi is the unit outward normal to Se at pi . This gives the four n n matrices
Lk , Mk , Mtk and Nk . The approximate boundary functions can be approximated by a
vector
T
= e(p1 ), . . . ,
e(pn ) .
The application of collocation to the Burton and Miller equation gives the following
linear systems of approximations:
Mk 12 I + Nk Lk + Mtk + 12 I v, (47)
where vj = v(pj ) for j = 1, . . . , n. Hence the primary stage of the boundary element
method entails the solution of the following linear system of equations:
Mk 12 I + Nk b = Lk + Mtk + 12 I v, (48)
which yields approximations bj to (pj ), for j = 1, . . . , n.
The secondary stage of the boundary element method requires the calculation of
e
the approximation to (p) where p is a point in the approximate exterior domain E.
For this the discrete forms are substituted into (42) to give
X
n
b =
(p) Mk ee Se (p)
bj Lk ee Se (p)vj e .
pE (49)
j j
j=1
Note that the secondary stage requires the evaluation of only two integral operators
in contrast with the primary stage which requires all four. Note also that the special
evaluation techniques of subtracting out the singularity are required only for the diag-
onal components of the matrices in (43), (46). This latter point is a typical property
of integral equation methods, the outcome of which is that the generally greater cost
of evaluating the discrete forms when p lies on the element is not important when
assessing the overall computational cost.
Test problems can easily be devised by setting (p) = Gk (p, p), where p
E S, p D (D is the interior to S) with
Gk
(p) = p, p for p S.
np np
400 S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators
6. Subroutine H2LC
In this section the Fortran subroutine H2LC is described. The subroutine com-
putes the discrete form of the two-dimensional Helmholtz integral operators. Details
of the methods employed in the subroutine are given. The subroutine is applied to the
Burton and Miller integral equation for the problem where the boundary is a circle
and the results are given.
The regular integrals that arise are approximated by a standard quadrature rule
such as a GaussLegendre rule which is specified in the parameter list to the sub-
routines. Tables of GaussLegendre rules are given in Stroud and Secrest [36] and
can also generated from the NAG library [33]. The non-regular integrals that arise in
the formulae (39) and (40) are computed via the following methods. See Jaswon and
Symm [14] and Kirkup [17] for the background to these methods.
The M0 and M0t operators have regular kernels, hence the aim is to find expres-
sions for:
Z
L0 ee e
(p) = G0 (p; q) dSq , (50)
e
Z
G0
N0 ee e
(p; n p ) = (p, q) dSq , (51)
vp e nq
The test problem consists of a boundary of a circle of unit radius, centred at the
origin. The exterior solution and Neumann boundary condition are determined by a
point source at (0, 0.5) and a point sink at (0, 0.5). The circle is approximated by 32
straight line elements of equal length, the vertices of the regular polygon lying on the
original circle. Eight point GaussLegendre quadrature rules are used for all but the
computation of the diagonal components of the matrices where 2 8 point composite
GaussLegendre quadrature rules are used.
The functions FNSQRT and FNLOG simply call the corresponding standard For-
tran functions. The subroutine FNHANK was constructed through the use of NAG
S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators 401
Table 1a
Solution for the circle with k = 0.0, = 1, = 0.
Point Exact solution Computed solution
1 0.173161 0.173408
2 0.160666 0.160913
3 0.139776 0.140010
4 0.114977 0.115174
5 0.089028 0.089176
6 0.063136 0.063236
7 0.037647 0.037704
8 0.012506 0.012524
(0, 2) 0.081300 0.081008
Table 1b
Solution for the circle with k = 1.0, = 1, = i.
Point Exact solution Computed solution
1 0.204820 + 0.106145i 0.210022 + 0.106022i
2 0.190535 + 0.102052i 0.195224 + 0.101934i
3 0.166397 + 0.094027i 0.170345 + 0.093919i
4 0.137368 + 0.082387i 0.140541 + 0.082294i
5 0.106643 + 0.067589i 0.109068 + 0.067513i
6 0.075745 + 0.050206i 0.077453 + 0.050150i
7 0.045200 + 0.030909i 0.046214 + 0.030875i
8 0.015018 + 0.010435i 0.015355 + 0.010424i
(0, 2) 0.028905 + 0.140053i 0.028868 + 0.141126i
routines S17AEF, S17AFF, S17ACF and S17ADF and the subroutine is only suit-
able for real values of k. Note that routines for computing the Hankel functions for
complex arguments are now available in Mark 14 of the NAG Fortran library [33].
Since the problem is symmetric about the y axis and antisymmetric about the
x axis, the computed and exact solutions are listed at eight collocation points. The
computed and exact solutions are also compared at the exterior point (0, 2). The
wavenumbers considered are k = 0.0 (with = 1 and = 0) and k = 1.0 (with
= 1 and = i). Results are given in tables 1a and 1b.
7. Subroutine H3LC
In this section the Fortran subroutine H3LC is described. The subroutine com-
putes the discrete form of the three-dimensional Helmholtz integral operators. Details
of the background methods employed by the subroutines are given. The subroutine is
applied to the Burton and Miller equation for the test problem where the boundary is
a cube and results are given.
402 S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators
The regular integrals that arise are approximated by a quadrature rule defined on a
triangle. Laursen and Gellert [30] contains a selection of GaussLegendre quadrature
rules for the standard triangle. The non-regular integrals that arise in the formulae
(41) and (42) are computed by the following methods. See Jaswon and Symm [14],
Terai [37], Banerjee and Butterfield [5] and Kirkup [17] for the background to these
methods.
The M0 and M0t operators have regular kernels, hence the aim is to find expres-
sions for
Z
L0 ee e
(p) = G0 (p, q) dSq , (54)
e
Z
G0
N0 ee e
(p; np ) = (p, q) dSq , (55)
vp e nq
Z
1 2
1
N0 ee e
(p; np ) = d.
4 0 R()
The test problem consists of a boundary of a cube with vertices (1, 1, 1), (1, 1, 1),
(1, 1, 1), (1, 1, 1), (1, 1, 1), (1, 1, 1), (1, 1, 1) and (1, 1, 1). The ex-
terior solution and the Neumann boundary condition are determined by a point source
at the centre of the cube. The cube is divided into 24 uniform triangular elements, as
shown in figure 4. Seven point Gaussian quadrature rules are applied to all but the
computation of the diagonal components of the matrices, where a 3 7 point rule is
used. Solutions are sought on the boundary and at the point (0, 0, 2) at wavenumbers
k = 0, 1, i, 1 + i. The values of and in the Burton and Miller equation (41) are set
as = 1, = 1 for all four values of k.
The functions FNSQRT and FNEXP simply call the corresponding standard For-
tran functions. Since the solution is similar at each collocation point, a comparison
between one exact and one computed solution is given at one surface point and the
exterior point. The results are given in table 2.
Table 2
Solution for the cube.
k and Point Exact solution Computed solution
0.0 = 1, = i Coll. Pt. 0.832050 0.829128 + 0.119394i
0.0 = 1, = i (0, 0, 2) 0.500000 0.535075 + 0.000003i
1.0 = 1, = i Coll. Pt. 0.300064 + 0.776060i 0.163472 + 0.840514i
1.0 = 1, = i (0, 0, 2) 0.208073 + 0.454649i 0.242757 + 0.516164i
1.0i = 1, = i Coll. Pt. 0.250145 0.252107 + 0.048411i
1.0i = 1, = i (0, 0, 2) 0.067668 0.068024 + 0.002300i
1.0 + 1.0i = 1, = i Coll. Pt. 0.090211 + 0.233313i 0.049252 + 0.246489i
1.0 + 1.0i = i, = i (0, 0, 2) 0.002816 + 0.061530i 0.003732 + 0.061234i
8. Subroutine H3ALC
In this section, the Fortran subroutine H3ALC is described. The subroutine com-
putes the discrete form of the axisymmetric three-dimensional Helmholtz integral op-
erators. Details of the methods employed by the subroutine are given. The subroutine
is applied to the Burton and Miller equation for the test problem where the boundary
is a sphere with a Neumann boundary condition and results are given.
integrals over the two 45 cones are regular and are computed by a composite rule
based on the quadrature rule supplied to the subroutine. The solution is thus equal to
minus the sum of the integrals over the two 45 cones.
The test problem consists of a boundary of a sphere of unit radius, centred at the
origin. The exterior solution and Neumann boundary condition are determined by a
point source at (0, 0.5) and a point sink at (0, 0.5) in (R, z) coordinates.
The sphere is divided into 16 conical elements with the vertices of each element
forming an equal angle about the origin. Eight point GaussLegendre rules are applied
in the generator direction to all but the computation of the diagonal components of
the matrices where a 2 8 point GaussLegendre rule is used. A composite 8 point
GaussLegendre rule is applied in the direction so that the density of points is
approximately equal to the density of points in the generator direction.
Solutions are sought on the boundary and at the point (0, 0, 2) at wavenumbers
k = 0, 1, i, 1 + i. The values of and in the Burton and Miller equation (41) are
Table 3a
Solution for the sphere with k = 0.0, = 1, = 0.
Point Exact solution Computed solution
1 1.313632 1.319734
2 1.174095 1.178789
3 0.963395 0.967408
4 0.744850 0.748010
5 0.546051 0.548242
6 0.371109 0.372513
7 0.215024 0.215787
8 0.070406 0.070644
(0, 0, 2) 0.266667 0.265787
Table 3b
Solution for the sphere with k = 1.0, = 1, = i.
Point Exact solution Computed solution
1 1.685653 + 0.292436i 1.770379 + 0.296744i
2 1.525811 + 0.281171i 1.597400 + 0.285144i
3 1.278466 + 0.259084i 1.334422 + 0.262705i
4 1.012108 + 0.227037i 1.053972 + 0.230196i
5 0.758596 + 0.186279i 0.788669 + 0.188865i
6 0.524952 + 0.138386i 0.545144 + 0.140305i
7 0.308010 + 0.085203i 0.319625 + 0.086384i
8 0.101502 + 0.028767i 0.105292 + 0.029165i
(0, 0, 2) 0.367616 + 0.425608i 0.371234 + 0.431319i
406 S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators
Table 3c
Solution for the sphere with k = 1.0 i, = 1, = 0.
Point Exact solution Computed solution
1 1.046648 1.051918
2 0.922641 0.926596
3 0.739520 0.742876
4 0.556228 0.558839
5 0.396960 0.398729
6 0.263713 0.264822
7 0.150322 0.150913
8 0.048804 0.048985
(0, 0, 2) 0.115919 0.115353
Table 3d
Solution for the sphere with k = 1.0 + 1.0 i, = 1, = 0.
Point Exact solution Computed solution
1 1.035865 + 0.429558i 1.041259 + 0.431229i
2 0.908338 + 0.402124i 0.912356 + 0.403586i
3 0.720630 + 0.354254i 0.724026 + 0.355550i
4 0.534374 + 0.294661i 0.537001 + 0.295743i
5 0.375229 + 0.229906i 0.376987 + 0.230730i
6 0.245410 + 0.163746i 0.246498 + 0.164320i
7 0.138172 + 0.097833i 0.138743 + 0.098168i
8 0.044555 + 0.032521i 0.044728 + 0.032630i
(0, 0, 2) 0.036827 + 0.128731i 0.036316 + 0.128244i
9. Concluding discussion
Integral equation methods such as the boundary element method are becoming
increasingly popular as methods for the numerical solution of linear elliptic partial
differential equations such as the Helmholtz equation. The application of (discrete)
collocation to the integral equation formulation of the Helmholtz equation requires
the computation of the discrete operators. In this paper Fortran subroutines for the
evaluation of the discrete Helmholtz integral operators resulting from the use of con-
stant elements and the most simple boundary approximation to two-dimensional, three-
dimensional and axisymmetric problems have been described and demonstrated.
S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators 407
Acknowledgements
The author is grateful to his former colleagues who have assisted in developing the
background knowledge necessary for the method selection and format of the software.
The comments of the referees and of the users of the software have also contributed
to the final form of this work and their help is gratefully acknowledged.
References
[1] S. Amini and D.T. Wilton, An investigation of the boundary element method for the exterior acoustic
problem, Comput. Methods Appl. Mech. Engrg. 54 (1986) 4965.
[2] S. Amini, P.J. Harris and D.T. Wilton, Coupled Boundary and Finite Element Methods for the
Solution of the Dynamic Fluid-Structure Interaction Problem, eds. C.A. Brebbia and S.A. Orszag,
Lecture Notes in Engineering 77 (Springer, Berlin, 1992).
[3] K. Atkinson, Solving integral equations on surfaces in space, in: Constructive Methods for the
Practical Treatment of Integral Equations, eds. G. Hammerlin and K. Hoffman (Birkhauser, Basel,
1985) pp. 2043.
[4] K. Atkinson, A survey of boundary integral equation methods for the numerical solution of Laplaces
equation in three dimensions, in: Numerical Solution of Integral Equations, ed. M. Goldberg
(Plenum Press, New York, 1990) pp. 134.
[5] P.K. Banerjee and R. Butterfield, Boundary Element Methods in Engineering Science (McGraw-Hill,
New York, 1981).
[6] J. Ben Mariem and M.A. Hamdi, A new boundary element method for fluid-structure interaction
problems, Internat. J. Num. Methods Engrg. 24 (1987) 12511267.
[7] R.J. Bernhard, B.K. Gardner, C.G. Mollo and C.R. Kipp, Prediction of sound fields in cavities using
boundary-element methods, AIAA J. 25 (1987) 11761183.
[8] A.J. Burton and G.F. Miller, The application of integral equation methods to the numerical solution
of some exterior boundary value problems, Proc. Roy. Soc. London Ser. A 323 (1971) 201210.
[9] A.J. Burton, The solution of Helmholtz equation in exterior domains using integral equations, NPL
Report NAC30, National Physical Laboratory, Teddington, Middlesex, UK (1973).
408 S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators
[10] A.J. Burton, Numerical solution of acoustic radiation problems, NPL Report OC5/535, National
Physical Laboratory, Teddington, Middlesex, UK (1976).
[11] D. Colton and R. Kress, Integral Equation Methods in Scattering Theory (Wiley-Interscience, New
York, 1983).
[12] M. Duffy, Quadrature over a pyramid or cube of integrands with a singularity at the vertex, SIAM
J. Numer. Anal. 19 (1982) 12601262.
[13] J.L. Guermond, Numerical quadratures for layer potentials over curved domains in R3 , SIAM J.
Numer. Anal. 29 (1992) 13471369.
[14] M.A. Jaswon and G.T. Symm, Integral Equation Methods in Potential Theory and Elastostatics
(Academic Press, New York, 1977).
[15] R.A. Jeans and I.C. Mathews, Solution of fluid-structure interaction problems using a coupled finite
element and variational boundary element technique, J. Acoust. Soc. Amer. 88(5) (1990) 24592466.
[16] C.R. Kipp and R.J. Bernhard, Prediction of acoustical behavior in cavities using an indirect boundary
element method, ASME J. Vibration Acoustics 109 (1987) 2228.
[17] S.M. Kirkup, Solution of exterior acoustic problems by the boundary element method, Ph.D. thesis,
Brighton Polytechnic, Brighton, UK (1989).
[18] S.M. Kirkup and S. Amini, Modal analysis of acoustically-loaded structures via integral equation
methods, Comput. Structures 40(5) (1991) 12791285.
[19] S.M. Kirkup, The computational modelling of acoustic shields by the boundary and shell element
method, Comput. Structures 40(5) (1991) 11771183.
[20] S.M. Kirkup and D.J. Henwood, Computational solution of acoustic radiation problems by Kuss-
mauls boundary element method, J. Sound Vibration 152(2) (1992) 388402.
[21] S.M. Kirkup and D.J. Henwood, Methods for speeding-up the boundary element solution of acoustic
radiation problems, Trans. ASME J. Vibration Acoustics 114 (1992) 374380.
[22] S.M. Kirkup and S. Amini, Solution of the Helmholtz eigenvalue problem via the boundary element
method, Internat. J. Numer. Methods Engrg. 36(2) (1993) 321330.
[23] S.M. Kirkup and D.J. Henwood, An empirical error analysis of the boundary element method with
application to Laplaces equation, Appl. Math. Modelling 18 (1994) 3238.
[24] S.M. Kirkup, Computational solution of the acoustic field surrounding a baffled panel by the
Rayleigh integral method, Appl. Math. Modelling 18 (1994) 403407.
[25] S.M. Kirkup, Fortran codes for computing the discrete Helmholtz integral operators: User guide,
Report MCS-96-06, Department of Mathematics and Computer Science, University of Salford,
Salford, England (1996).
[26] S.M. Kirkup and M.A. Jones, Computational methods for the acoustic modal analysis of an enclosed
fluid with application to a loudspeaker cabinet, Appl. Acoust. 48(4) (1997) 275299.
[27] S.M. Kirkup, Solution of discontinuous interior Helmholtz problems by the boundary and shell
element method, Comput. Methods Appl. Mech. Engrg. 48(4) (1997) 275299.
[28] S.M. Kirkup, The Boundary Element Method in Acoustics (Integrated Sound Software, Hebden
Bridge, UK, 1998).
[29] R.E. Kleinmann and G.F. Roach, Boundary integral equations for the three-dimensional Helmholtz
equation, SIAM Rev. 16(2) (1974) 7990.
[30] M.E. Laursen and M. Gellert, Some criteria for numerically integrated matrices and quadrature
formulas for triangles, Internat. J. Numer. Methods Fluids 12 (1978) 6776.
[31] I.C. Mathews, Numerical techniques for three-dimensional steady state fluid-structure interaction,
J. Acoust. Soc. Amer. 79(5) (1986) 13171325.
[32] W.L. Meyer, W.A. Bell, B.T. Zinn and M.P. Stallybrass, Boundary integral solutions of three-
dimensional acoustic radiation problems, J. Sound Vibration 59(2) (1978) 245262.
[33] NAG Library, The Numerical Algorithms Group, Oxford, UK.
[34] M.N. Sayhi, Y. Ousset and G. Verchery, Solution of radiation problems by collocation of integral
formulations in terms of single and double layer potentials, J. Sound Vibration 74(2) (1981) 187
204.
S.M. Kirkup / Fortran codes for computing the discrete Helmholtz integral operators 409
[35] H.A. Schenck, Improved integral formulation for acoustic radiation problems, J. Acoust. Soc. Amer.
44(1) (1968) 4168.
[36] A.H. Stroud and D. Secrest, Gaussian Quadrature Formulas (Prentice-Hall, Englewood Cliffs, NJ,
1966).
[37] T. Terai, On the calculation of sound fields around three-dimensional objects by integral equation
methods, J. Sound Vibration 69(1) (1980) 71100.
[38] A.G.P. Warham, The Helmholtz integral equation for a thin shell, NPL Report DITC 129/88,
National Physical Laboratory, Teddington, Middlesex, UK (1988).
[39] D.T. Wilton, Acoustic radiation and scattering from elastic structures, Internat. J. Numer. Methods
Engrg. 13 (1978) 123128.