<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">AJCM</journal-id><journal-title-group><journal-title>American Journal of Computational Mathematics</journal-title></journal-title-group><issn pub-type="epub">2161-1203</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/ajcm.2018.83018</article-id><article-id pub-id-type="publisher-id">AJCM-87259</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Fast Fourth-Order Method for 3D Helmholtz Equation with Neumann Boundary
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Na</surname><given-names>Zhu</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Meiling</surname><given-names>Zhao</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>School of Mathematics and Physics, North China Electric Power University Department Name of Organization, Baoding, China</addr-line></aff><pub-date pub-type="epub"><day>31</day><month>08</month><year>2018</year></pub-date><volume>08</volume><issue>03</issue><fpage>222</fpage><lpage>232</lpage><history><date date-type="received"><day>28,</day>	<month>July</month>	<year>2018</year></date><date date-type="rev-recd"><day>9,</day>	<month>September</month>	<year>2018</year>	</date><date date-type="accepted"><day>12,</day>	<month>September</month>	<year>2018</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  We present fast fourth-order finite difference scheme for 3D Helmholtz equation with Neumann boundary condition. We employ the discrete Fourier transform operator and divide the problem into some independent subproblems. By means of the Gaussian elimination in the vertical direction, the problem is reduced into a small system on the top layer of the domain. The procedure for solving the numerical solutions is accelerated by the sparsity of Fourier operator under the space complexity of 
  O(
  M
  <sup>3</sup>). Furthermore, the method makes it possible to solve the 3D Helmholtz equation with large grid number. The accuracy and efficiency of the method are validated by two test examples which have exact solutions.
 
</p></abstract><kwd-group><kwd>Helmholtz Equation</kwd><kwd> Fourier Transform</kwd><kwd> Neumann Boundary Condition</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Helmholtz equation appears from general conservation laws of physics and can be interpreted as wave equations. Helmholtz equation is widely applied in the scientific and engineering design problem. Many methods have been proposed for solving the Helmholtz equations, such as finite difference method [<xref ref-type="bibr" rid="scirp.87259-ref1">1</xref>] , finite element method [<xref ref-type="bibr" rid="scirp.87259-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref4">4</xref>] , spectral method [<xref ref-type="bibr" rid="scirp.87259-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref6">6</xref>] and other methods [<xref ref-type="bibr" rid="scirp.87259-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref9">9</xref>] . However, the computational cost of the finite element method increases greatly for large wave number problems. Additionally, boundary element method is limited to constant-coefficients problems. Finite difference schemes provide the simplest and least expensive avenue for achieving high-order accuracy. Some high order algorithms are proposed in [<xref ref-type="bibr" rid="scirp.87259-ref10">10</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref13">13</xref>] . In this paper, we derive a fourth-order finite difference scheme using 19 points for solving the three-dimensional Helmholtz equation.</p><p>The discretization of the fully three-dimensional Helmholtz equation contains a large number of unknowns and requires considerable memory space. The time and space complexity increase exponentially as the grid number increases. In the meantime, to maintain a given accuracy, the mesh must be refined as the wave number increases. Some parallel algorithms are presented in [<xref ref-type="bibr" rid="scirp.87259-ref14">14</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref15">15</xref>] . However, this kind of parallel algorithms cannot settle the conflict between the grid number and the performance of the computer hardware.</p><p>Fast Fourier transform is a powerful technique for solving the Helmholtz equation both in two and three dimensions [<xref ref-type="bibr" rid="scirp.87259-ref16">16</xref>] [<xref ref-type="bibr" rid="scirp.87259-ref17">17</xref>] . However, fast algorithm in [<xref ref-type="bibr" rid="scirp.87259-ref18">18</xref>] requires much computational cost. In light of this, we propose a fast algorithm for solving the three-dimensional Helmholtz equation. The fast operator applies inexpensive transformation to break the large discretization matrix into small and independent systems. Therefore, the equation in the whole region is divided into some small equations in the vertical direction. Meanwhile, the algorithm saves much memory space and requires less computational time due to the sparsity of the fast operator. The problem is reduced on the aperture by introducing a Gaussian elimination and the Neumann boundary condition in the vertical direction.</p><p>The paper is outlined as follows. In Section 2, a fourth-order finite difference method for the Helmholtz equation is derived. In Section 3 and Section 4, a fast algorithm is proposed by the Fourier transformation and Gaussian elimination. Two numerical experiments of the fast fourth-order algorithm are presented in Section 5. The paper is concluded in Section 6.</p></sec><sec id="s2"><title>2. Fourth-Order Finite Difference Method</title><p>The model problem is described as follows</p><p>Δ ϕ + k 2 ϕ = f , in   Ω ϕ = b ( x , y , z ) , on   ∂ Ω \ Γ (1)</p><p>in the cubic domain Ω with Neumann boundary condition</p><p>∂ ϕ ∂ n = g ( x , y ) , on   Γ , (2)</p><p>where k is the wave number and Γ is one of the planes of domain. f ( x , y , z ) , b ( x , y , z ) and g ( x , y ) are known function. The Helmholtz equation is approximated by a fourth-order finite difference discretization with h = Δ x = Δ y = Δ z and the partition { ( x i , y j , z l ) } i , j , l = 0 M + 1 , N + 1 , L + 1 .</p><p>The 19-points finite difference stencil with h yields the following linear system</p><p>( 1 + k 2 h 2 12 ) ( δ x 2 + δ y 2 + δ z 2 ) ϕ i , j , l + h 2 6 ( δ x 2 δ y 2 + δ x 2 δ z 2 + δ y 2 δ z 2 ) ϕ i , j , l + k 2 ϕ i , j , l = f i , j , l + h 2 12 ( δ x 2 δ y 2 + δ x 2 δ z 2 + δ y 2 δ z 2 ) f i , j , l + O ( h 4 ) ， (3)</p><p>where δ x 2 , δ y 2 and δ z 2 are standard second order central difference operator and ϕ i , j , l is the fourth-order finite difference solution of Equation (1).</p><p>Moreover, we can write Equation (3) in the matrix form</p><p>( 1 + k 2 h 2 12 ) ( A M ⊗ I N ⊗ I L + I M ⊗ A N ⊗ I L + I M ⊗ I N ⊗ A L ) Φ + h 2 6 ( A M ⊗ A N ⊗ I L + I M ⊗ A N ⊗ A L + A M ⊗ I N ⊗ A L ) Φ + k 2 Φ + Φ B = F + h 2 12 ( A M ⊗ I N ⊗ I L + I M ⊗ A N ⊗ I L + I M ⊗ I N ⊗ A L ) F + F B , (4)</p><p>where</p><p>A M = 1 h 2 tridiag ( 1 , − 2 , 1 ) , A N = 1 h 2 tridiag ( 1 , − 2 , 1 ) , A L = 1 h 2 tridiag ( 1 , − 2 , 1 ) , Φ = ( ϕ 1 , 1 , 1 , ⋯ , ϕ 1 , 1 , L , ϕ 1 , 2 , 1 , ⋯ , ϕ 1 , 2 , L , ⋯ , ϕ 1 , N , L , ⋯ , ϕ M , N , L ) T , F = ( f 1 , 1 , 1 , ⋯ , f 1 , 1 , L , f 1 , 2 , 1 , ⋯ , f 1 , 2 , L , ⋯ , f 1 , N , L , ⋯ , f M , N , L ) T ,</p><p>the symbol ⊗ represents the Kronecker product. I M , I N , I L and I M N L are identity matrices, the subscripts denote their dimension. A M , A N and A L are M &#215; M , N &#215; N and L &#215; L tridiagonal matrices respectively. Φ B and F B are the boundary parts of Φ and F.</p></sec><sec id="s3"><title>3. Fast Algorithm for Three-Dimensional Helmholtz Equation</title><p>A M and A N are all tridiagonal Toeplitz matrices. Fourier-sine transformation can be applied to these matrices for accelerating the algorithm. Multiplying discrete Fourier-sine transformation matrices S M and S N on the both side of A M and A N , we have</p><p>S M A M S M = Λ 1 = diag ( λ 1 , λ 2 , ⋯ , λ M ) , S N A N S N = Λ 2 = diag ( μ 1 , μ 2 , ⋯ , μ N ) ,</p><p>where</p><p>( S M ) i , j = 2 M + 1 ( sin i j π M + 1 ) , λ i = − 4 ( M + 1 ) 2 a sin 2 i π 2 ( M + 1 ) , 1 ≤ i , j ≤ M .</p><p>S N and μ t , t = 1 , 2 , ⋯ , N can be defined in the similar way.</p><p>Therefore, multiplying S M ⊗ S N ⊗ I L on both side of Equation (4), we have</p><p>( 1 + k 2 h 2 12 ) ( Λ 1 ⊗ I N ⊗ I L + I M ⊗ Λ 2 ⊗ I L + I M ⊗ I N ⊗ A L ) Φ &#175; + h 2 6 ( Λ 1 ⊗ Λ 2 ⊗ I L + I M ⊗ Λ 2 ⊗ A L + Λ 1 ⊗ I N ⊗ A L ) Φ &#175; + k 2 Φ &#175; + Φ &#175; B = F &#175; + h 2 12 ( Λ 1 ⊗ I N ⊗ I L + I M ⊗ Λ 2 ⊗ I L + I M ⊗ I N ⊗ A L ) F &#175; + F &#175; B , (5)</p><p>where</p><p>Φ &#175; = ( S M ⊗ S N ⊗ I L ) Φ , F &#175; = ( S M ⊗ S N ⊗ I L ) , Φ &#175; B = ( S M ⊗ S N ⊗ I L ) Φ B , F &#175; B = ( S M ⊗ S N ⊗ I L ) F B .</p><p>The sparse structure of S M ⊗ S N ⊗ I L is given in <xref ref-type="fig" rid="fig1">Figure 1</xref> when</p><p>M = N = K = 3 , where n z means the number of the unknowns. Hence, the above equation can be transformed into a block tridiagonal matrix based on the structure of the fast operator. Equation (5) can be simplified as</p><p>[ ( 1 + k 2 h 2 12 ) ( λ i I L + μ j I L + A L ) + h 2 6 ( λ i μ j I L + μ j A L + λ i A L ) + k 2 ] Φ &#175; i , j , : = F &#175; i , j , : + h 2 12 ( λ i I L + μ j I L + A L ) F &#175; i , j , : + F &#175; B i , j , : − Φ &#175; B i , j , : , i = 1 , 2 , ⋯ , M ; j = 1 , 2 , ⋯ , N . (6)</p><p>In this paper, we take Γ as the top surface of the domain and it can be extended to the general situations. Since the solutions on the other surfaces are already known, we need to extract S &#175; B t o p which contains the parts of ϕ &#175; i , j , L + 1 from Φ &#175; B , there follows</p><p>P i j Φ &#175; i , j , : + ( p 1 + p 2 λ i + p 2 μ j ) a L 2 Φ &#175; i , j , L + 1 = F &#175; i , j , : + h 2 12 ( λ i I L + μ j I L + A L ) F &#175; i , j , : + F &#175; B i , j , : − Φ &#175; B i , j , : ( 1 ) , (7)</p><p>where</p><p>P i j = ( 1 + k 2 h 2 12 ) ( λ i I L + μ j I L + A L ) + h 2 6 ( λ i μ j I L + μ j A L + λ i A L ) + k 2 I L , Φ &#175; B i , j , : ( 1 ) = Φ &#175; B i , j , : − S &#175; B t o p , p 1 = 1 + k 2 h 2 12 , p 2 = h 2 6 , a L 2 = 1 h 2 ( 0 , 0 , ⋯ , 1 ) T .</p><p>Next, we use the Gaussian elimination with a row partial pivoting to solve Equation (7).</p><p>First of all, constructing a LU-decomposition for P i j , i.e. P i j = L i j U i j , we have</p><p>L i j U i j Φ &#175; i , j , : + ( p 2 λ i + p 2 μ j + p 1 ) a L 2 ϕ &#175; i , j , L + 1 = F i , j , : + h 2 12 ( λ i I L + μ j I L + A L ) F i , j , : + F &#175; B i , j , : − Φ &#175; B i , j , : ( 1 ) . (8)</p><p>Since L i j − 1 is nonsingular, multiplying L i j − 1 on both side of Equation (8), we can obtain</p><p>U i j Φ &#175; i , j , : + ( p 2 λ i + p 2 μ j + p 1 ) L i j − 1 a L 2 ϕ &#175; i , j , L + 1 = L i j − 1 ( F &#175; i , j , : + h 2 12 ( λ i I L + μ j I L + A L ) F &#175; i , j , : + F &#175; B i , j , : − Φ &#175; B i , j , : ( 1 ) ) . (9)</p><p>Consequently, the last equation of Equation (9) can be derived</p><p>α i j ϕ &#175; i , j , L + β i j ϕ &#175; i , j , L + 1 = r i , j , L , i = 1 , 2 , ⋯ , M ; j = 1 , 2 , ⋯ , N , (10)</p><p>where α i j is the last element of U i j , β i j is the last element of ( p 2 λ i + p 2 μ j + p 1 ) ⋅ L i j a L 2 , and r i , j , L is the last element of L i j − 1 F &#175; i , j , : + h 2 12 ( λ i I L + μ j I L + A L ) F &#175; i , j , : + F &#175; B i , j , : − Φ &#175; B i , j , : ( 1 ) . Combining M &#215; N equations analogously to Equation (10), we have</p><p>D α Φ &#175; : , : , L + D β Φ &#175; : , : , L + 1 = R 1 , (11)</p><p>where</p><p>D α = diag ( α 11 , α 12 , ⋯ , α 1 N , ⋯ , α M 1 , α M 2 , ⋯ , α M N ) T , D β = diag ( β 11 , β 12 , ⋯ , β 1 N , ⋯ , β M 1 , β M 2 , ⋯ , β M N ) T , R 1 = ( r 1 , 1 , L , r 1 , 2 , L , ⋯ , r 1 , N , L , r 2 , 1 , L , r 2 , 2 , L , ⋯ , r 2 , N , L , ⋯ , r M , 1 , L , r M , 2 , L , ⋯ , r M , N , L ) T .</p></sec><sec id="s4"><title>4. Discretization of Neumann Boundary Condition</title><p>The fourth-order finite difference discretization of Equation (2) can be expressed as</p><p>∂ ϕ ∂ n = ϕ i , j , L + 2 − ϕ i , j , L 2 h − h 2 6 ( ϕ z z z ) i , j , L + O ( h 4 ) .</p><p>Using the fourth-order substitution of ϕ z z z we can derive</p><p>( 1 + k 2 h 2 6 + h 2 6 δ x 2 + h 2 6 δ y 2 ) ϕ i , j , L + 2 − ( 1 + k 2 h 2 6 + h 2 6 δ x 2 + h 2 6 δ y 2 ) ϕ i , j , L = 2 h g i j + h 3 3 ( f z ) i , j , L + 1 , i = 1 , 2 , ⋯ , M ; j = 1 , 2 , ⋯ , N ,</p><p>or the matrix form</p><p>[ ( 1 + k 2 h 2 6 ) I M N + h 2 6 ( A M ⊗ I N ) + h 2 6 ( I M ⊗ A N ) ] ( Φ : , : , L + 2 − Φ : , : , L ) + Φ B ( 2 ) = 2 h g + h 3 3 ( f z ) : , : , L + 1 . (12)</p><p>where</p><p>Φ B ( 2 ) = h 2 6 ( b 0 , 1 , L , b 0 , 2 , L , ⋯ , b 0 , N , L , 0 , 0 , ⋯ , 0 , ⋯ , b M + 1 , 1 , L , b M + 1 , 2 , L , ⋯ , b M + 1 , N , L ) T                   + h 2 6 ( b 1 , 0 , L , 0 , ⋯ , b 1 , N + 1 , L , b 2 , 0 , L , 0 , ⋯ , b 2 , N + 1 , L , ⋯ , b M , 0 , L , 0 , ⋯ , b M , N + 1 , L ) T</p><p>and b j , j , L = b ( x i , y j , z L ) .</p><p>Multiplying S M ⊗ S N on both side of Equation (12), we can obtain</p><p>[ ( 1 + k 2 h 2 6 ) I M N + h 2 6 ( Λ 1 ⊗ I N ) + h 2 6 ( I M ⊗ Λ 2 ) ] ( Φ &#175; : , : , L + 2 − Φ &#175; : , : , L ) = R 2 − Φ &#175; B ( 2 ) , (13)</p><p>where</p><p>R 2 = ( S M ⊗ S N ) ( 2 h g + h 3 3 ( f z ) : , : , L + 1 ) , Φ &#175; B ( 2 ) = ( S M ⊗ S N ) Φ B ( 2 ) .</p><p>Moreover, replacing l with L + 1 in Equation (3), we have</p><p>[ ( k 2 h 4 12 + 2 h 2 3 ) ( δ x 2 + δ y 2 ) + h 4 6 δ x 2 δ y 2 + k 2 h 2 − 2 ( 1 + k 2 h 2 12 ) ] ϕ i , j , L + 1 + [ ( 1 + k 2 h 2 12 ) + h 2 6 ( δ x 2 + δ y 2 ) ] ( ϕ i , j , L + 2 + ϕ i , j , L ) = h 2 [ f i , j , L + 1 + h 2 12 ( δ x 2 δ y 2 + δ x 2 δ z 2 + δ y 2 δ z 2 ) f i , j , L + 1 ] , (14)</p><p>and the matrix form</p><p>[ ( k 2 h 4 12 + 2 h 2 3 ) ( A M ⊗ I N + I M ⊗ A N ) + h 4 6 ( A M ⊗ A N ) − ( 2 − 5 k 2 h 2 6 ) I M N ] Φ : , : , L + 1 + [ ( 1 + k 2 h 2 12 ) I M N + h 2 6 ( A M ⊗ I N + I M ⊗ A N ) ] ( Φ : , : , L + 2 + Φ : , : , L ) + Φ B ( 3 ) = h 2 ( F ( 3 ) + F B ( 3 ) ) , (15)</p><p>where</p><p>F ( 3 ) = h 2 12 ( A M ⊗ A N + I M ⊗ A N + A M ⊗ I N + 12 h 2 I M N ) F : , : , L + 1 − h 2 6 ( I M ⊗ A N + A M ⊗ I N ) F : , : , L − h 2 6 ( I M ⊗ A N + A M ⊗ I N ) F : , : , L + 2 .</p><p>Multiplying S M ⊗ S N on both side of Equation (15), there follows</p><p>[ ( k 2 h 4 12 + 2 h 2 3 ) ( Λ 1 ⊗ I N + I M ⊗ Λ 2 ) + h 4 6 ( Λ 1 ⊗ Λ 2 ) − ( 2 − 5 k 2 h 2 6 ) I M N ] Φ &#175; : , : , L + 1 + [ ( 1 + k 2 h 2 12 ) I M N + h 2 6 ( Λ 1 ⊗ I N + I M ⊗ Λ 2 ) ] ( Φ &#175; : , : , L + 2 + Φ &#175; : , : , L ) = R 3 , (16)</p><p>where R 3 = h 2 ( F &#175; ( 3 ) + F &#175; B ( 3 ) ) .</p><p>Eliminating Φ &#175; : , : , L + 2 from Equation (13) gives</p><p>C Φ &#175; : , : , L + 1 + 2 D Φ &#175; : , : , L = R 3 − D B − 1 ( R 2 − Φ &#175; B ( 2 ) ) , (17)</p><p>where</p><p>B = ( 1 + k 2 h 2 6 ) I M N + h 2 6 ( Λ 1 ⊗ I N ) + h 2 6 ( I M ⊗ Λ 2 ) , C = ( k 2 h 4 12 + 2 h 2 3 ) ( Λ 1 ⊗ I N + I M ⊗ Λ 2 ) + h 4 6 ( Λ 1 ⊗ Λ 2 ) − ( 2 − 5 k 2 h 2 6 ) I M N , D = ( 1 + k 2 h 2 12 ) I M N + h 2 6 ( Λ 1 ⊗ I N + I M ⊗ Λ 2 ) .</p><p>Combining Equation (11) and Equation (17) and derive a linear system</p><p>A Φ &#175; : , : , L + 1 = R , (18)</p><p>where</p><p>A = C − 2 D D α − 1 D β , R = R 3 − D B − 1 ( R 2 − Φ &#175; B ( 2 ) ) − 2 D D α − 1 R 1 .</p><p>Finally, after deriving Φ &#175; : , : , L + 1 , we can obtain Φ &#175; i , j , : by substituting Φ &#175; : , : , L + 1 in Equation (7). Multiplying S M ⊗ S N ⊗ I L , we can get the numerical solution of the 3D Helmholtz equation.</p></sec><sec id="s5"><title>5. Numerical Experiments</title><p>In this section, two numerical experiments are presented to test the validity and efficiency of the proposed method. Both experiments are implemented on MATLAB. All the equations are solved by the BiCG method. Equations in the two examples are solved in a cube Ω = [ 0 , 1 ] &#215; [ 0 , 1 ] &#215; [ 0 , 1 ] .</p><p>Example 1. Consider the following problem</p><p>u ( x , y , z ) = sin ( π x ) sin ( π y ) sinh ( 2 π ) [ 2 sinh ( 2 π z ) + sinh ( 2 π ( 1 − z ) ) ] (19)</p><p>with</p><p>{ u ( x , y , z ) = sin ( π x ) sin ( π y ) , z = 0 , u ( x , y , z ) = 2 sin ( π x ) sin ( π y ) , z = 1 , u ( x , y , z ) = 0 , y ∈ { 0 , 1 } , z = 0 ,</p><p>f = 0 and the corresponding Neumann boundary condition can be calculated.</p><p><xref ref-type="table" rid="table1">Table 1</xref> fully corroborates the theoretical design rate of the convergence for the proposed method. We can see that a good accuracy (10<sup>−7</sup>) is achieved with a small number of grid points (16 - 32 in each direction). In the case of space complexity of O ( M 3 ) , the sparsity of Fourier operator accelerates the speed for solving the three-dimensional Helmholtz equation. Moreover, the comparison of the computational time of three times Fourier transformation and twice Fourier transformation are given in <xref ref-type="table" rid="table1">Table 1</xref>. Here S M ⊗ S N ⊗ S L and S M ⊗ S N ⊗ I L represent two different transform operators. As we can see from <xref ref-type="table" rid="table1">Table 1</xref>, the algorithm proposed in this paper saves much computational time and makes it possible to solve the equation with large grid number. Meanwhile, we give the numerical solutions of Equation (19) in the whole domain and numerical solution on the face z = 1 2 in <xref ref-type="fig" rid="fig2">Figure 2</xref> and <xref ref-type="fig" rid="fig3">Figure 3</xref> respectively.</p><p>Example 2.</p><p>u + k 2 u = ( − 2 π 2 ) sin ( π x ) sin ( π y ) sin ( k z ) ,   in Ω , u = 0 , on ∂ Ω \ Γ ,</p><p>with the exact solution</p><p>u = sin ( π x ) sin ( π y ) sin ( k z ) . (20)</p><p>We give the figures of the numerical solutions U with different wave number in <xref ref-type="fig" rid="fig4">Figure 4</xref> and <xref ref-type="fig" rid="fig5">Figure 5</xref>. As shown in <xref ref-type="fig" rid="fig4">Figure 4</xref> and <xref ref-type="fig" rid="fig5">Figure 5</xref>, the solutions of the Helmholtz equation are highly oscillating for large wave number.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Convergence rate and comparisons of computational time (s) for solving Example 1 with different operators</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >M</th><th align="center" valign="middle"  colspan="2"  >Solve U time (s)</th><th align="center" valign="middle"  rowspan="2"  >Memory (MB)</th><th align="center" valign="middle"  rowspan="2"  >Error</th><th align="center" valign="middle"  rowspan="2"  >Conv. rate</th></tr></thead><tr><td align="center" valign="middle" >S M ⊗ S N ⊗ S L</td><td align="center" valign="middle" >S M ⊗ S N ⊗ S L</td></tr><tr><td align="center" valign="middle" >32</td><td align="center" valign="middle" >0.7556</td><td align="center" valign="middle" >0.5286</td><td align="center" valign="middle" >0.9472</td><td align="center" valign="middle" >7.4431e−07</td><td align="center" valign="middle" >−</td></tr><tr><td align="center" valign="middle" >64</td><td align="center" valign="middle" >28.5552</td><td align="center" valign="middle" >3.8459</td><td align="center" valign="middle" >6.7842</td><td align="center" valign="middle" >4.82273−08</td><td align="center" valign="middle" >3.9480</td></tr><tr><td align="center" valign="middle" >128</td><td align="center" valign="middle" >1051.3515</td><td align="center" valign="middle" >59.8049</td><td align="center" valign="middle" >51.1303</td><td align="center" valign="middle" >3.0654e−09</td><td align="center" valign="middle" >3.7223</td></tr><tr><td align="center" valign="middle" >256</td><td align="center" valign="middle" >46,725.7567</td><td align="center" valign="middle" >1013.8436</td><td align="center" valign="middle" >396.1303</td><td align="center" valign="middle" >1.9288e−10</td><td align="center" valign="middle" >4.2437</td></tr><tr><td align="center" valign="middle" >512</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >21,228.72458</td><td align="center" valign="middle" >3122.0200</td><td align="center" valign="middle" >1.1633e−11</td><td align="center" valign="middle" >4.0514</td></tr></tbody></table></table-wrap></sec><sec id="s6"><title>6. Conclusion</title><p>We propose a fast-high order method for solving the 3D Helmholtz equation with Neumann boundary condition. Fourier operator is used to generate block-tridiagonal structure of the discretization of the Helmholtz equation. Moreover, by using the Gaussian elimination in the vertical direction, the Helmholtz equation is reduced into a linear system in the layer of the domain. The validity and efficiency of the method are tested by two numerical experiments.</p></sec><sec id="s7"><title>Acknowledgements</title><p>This research was supported by the Nature Science Foundation of Hebei Province (No. A2016502001) and the Fundamental Research Funds for the Central Universities (No. 2018MS129).</p></sec><sec id="s8"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s9"><title>Cite this paper</title><p>Zhu, N. and Zhao, M.L. (2018) A Fast Fourth-Order Method for 3D Helmholtz Equation with Neumann Boundary. American Journal of Computational Mathematics, 8, 222-232. https://doi.org/10.4236/ajcm.2018.83018</p></sec></body><back><ref-list><title>References</title><ref id="scirp.87259-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Singer, I. and Turkel, E. (1998) High-Order Finite Difference Methods for the Helmholtz Equation. Computer Methods in Applied Mechanics &amp; Engineering, 163, 343-358. https://doi.org/10.1016/S0045-7825(98)00023-1</mixed-citation></ref><ref id="scirp.87259-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Harari, I. and Hughes, T.J.R. (1991) Finite Element Methods for the Helmholtz Equation in an Exterior Domain: Model Problems. Computer Methods in Applied Mechanics &amp; Engineering, 87, 59-96. https://doi.org/10.1016/0045-7825(91)90146-W</mixed-citation></ref><ref id="scirp.87259-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Jin, J.M., Liu, J., Lou, Z. and Liang, C.S.T. (2003) A Fully High-Order Finite-Element Simulation of Scattering by Deep Cavities. Antennas &amp; Propagation IEEE Transactions on, 51, 2420-2429. https://doi.org/10.1109/TAP.2003.816354</mixed-citation></ref><ref id="scirp.87259-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Jin, J.M. and Liu, J. (2000) A Special Higher Order Finite-Element Method for Scattering by Deep Cavities. IEEE Transactions on Antennas &amp; Propagation, 48, 694-703. https://doi.org/10.1109/8.855487</mixed-citation></ref><ref id="scirp.87259-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Braverman, E., Israeli, M. and Averbuch, A. (1999) A Fast Spectral Solver for a 3D Helmholtz Equation. Society for Industrial and Applied Mathematics, 20, 2237-2260. https://doi.org/10.1137/S1064827598334241</mixed-citation></ref><ref id="scirp.87259-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Nabavi, M., Siddiqui, M.H.K. and Dargahi, J. (2007) A New 9-Point Sixth-Order Accurate Compact Finite-Difference Method for the Helmholtz Equation. Journal of Sound &amp; Vibration, 307, 972-982. https://doi.org/10.1016/j.jsv.2007.06.070</mixed-citation></ref><ref id="scirp.87259-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Hong, P.L., Minh, T.L. and Hoang, Q.P. (2018) On a Three Dimensional Cauchy Problem for Inhomogeneous Helmholtz Equation Associated with Perturbed Wave Number. Journal of Computational and Applied Mathematics, 335, 86-98. https://doi.org/10.1016/j.cam.2017.11.042</mixed-citation></ref><ref id="scirp.87259-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Hua, Q.S., Gu, Y., Qu, W.Z., Chen, W. and Zhang, C.Z. (2017) A Meshless Generalized Finite Difference Method for Inverse Cauchy Problems Associated with Three-Dimensional Inhomogeneous Helmholtz-Type Equations. Engineering Analysis with Boundary Elements, 82, 162-171. https://doi.org/10.1016/j.enganabound.2017.06.005</mixed-citation></ref><ref id="scirp.87259-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Kashirin, A.A., Smagin, S.I. and Taltykina, M.Yu. (2016) Mosaic-Skeleton Method as Applied to the Numerical Solution of Three-Dimensional Dirichlet Problems for the Helmholtz Equation in Integral Form. Computational Mathematics and Mathematical Physics, 56, 612-625. https://doi.org/10.1134/S0965542516040096</mixed-citation></ref><ref id="scirp.87259-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Britt, S., Tsynkov, S. and Turkel, E. (2010) A Compact Fourth Order Scheme for the Helmholtz Equation in Polar Coordinates. Journal of Scientific Computing, 45, 26-47. https://doi.org/10.1007/s10915-010-9348-3</mixed-citation></ref><ref id="scirp.87259-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Ortega, G., García, I. and Garzón, G.E.M. (2013) European Conference on Parallel Processing: A Hybrid Approach for Solving the 3D Helmholtz Equation on Heterogeneous Platforms. Springer, Berlin, 8374, 198-207.</mixed-citation></ref><ref id="scirp.87259-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Sutmann, G. (2007) Compact Finite Difference Schemes of Sixth Order for the Helmholtz Equation. Journal of Computational &amp; Applied Mathematics, 203, 15-31. https://doi.org/10.1016/j.cam.2006.03.008</mixed-citation></ref><ref id="scirp.87259-ref13"><label>13</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Shaw</surname><given-names> R.P. </given-names></name>,<etal>et al</etal>. (<year>2000</year>)<article-title>Integral Equation Methods in Acoustics</article-title><source> Boundary Elements</source><volume> 4</volume>,<fpage> 221</fpage>-<lpage>244</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.87259-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Poulson, J., Engquist, B., Li, S.W. and Ying, L.X. (2013) A Parallel Sweeping Preconditioner for Heterogeneous 3D Helmholtz Equations. SIAM Journal on Scientific Computing, 35, 194-212. https://doi.org/10.1137/120871985</mixed-citation></ref><ref id="scirp.87259-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Singer, I. and Turkel, E. (2006) Sixth-Order Accurate Finite Difference Schemes for the Helmholtz Equation. Journal of Computational Acoustics, 14, 339-351. https://doi.org/10.1142/S0218396X06003050</mixed-citation></ref><ref id="scirp.87259-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Boisvert, R.F. (1985) A Fourth-Order-Accurate Fourier Method for the Helmholtz Equation in Three Dimensions. ACM Transactions on Mathematical Software, 13, 221-234. https://doi.org/10.1145/29380.29863</mixed-citation></ref><ref id="scirp.87259-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Li, C.L. and Zou, J.W. (2013) A Sixth-Order Fast Algorithm for the Electromagnetic Scattering from Large Open Cavities. Applied Mathematics and Computation, 219, 8656-8666. https://doi.org/10.1016/j.amc.2013.02.014</mixed-citation></ref><ref id="scirp.87259-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Zou, J.W. and Li, C.L. (2013) A High-Order Fast Algorithm for Three-Dimensional Helmholtz Equation. Journal of Guilin University of Electronic Technology, 33, 420-424.</mixed-citation></ref></ref-list></back></article>