• Tidak ada hasil yang ditemukan

THE INTERPOLATED FACTORED GREEN FUNCTION METHOD

3.5 Cone segments

Figure 3.8: Two-dimensional illustration of the cousins of the fourth-level box𝐡4

(2,1). The left panel shows all children of the parent’s neighbors of the box𝐡4

(2,1) in gray.

The right panel shows the actual cousin boxes, as in Definition 13, resulting from the intersection with an exemplary scatterer (blue curve) in gray.

Theangular interpolation intervalsare then defined as 𝐸

πœ‘;𝑑

𝑗 B [πœ‘π‘—βˆ’

1,𝑑, πœ‘π‘— ,𝑑) and

πΈπœƒ;𝑑

𝑖, 𝑗 B







ο£²







ο£³ [πœƒπ‘›

𝐢 , π‘‘βˆ’1, πœ‹] for 𝑖 =𝑛𝐢 ,𝑑, 𝑗 =2𝑛𝐢 ,𝑑 (0,Ξ”πœƒ ,𝑑) for 𝑖 =1, 𝑗 >1 [πœƒπ‘–βˆ’

1,𝑑, πœƒπ‘–,𝑑) otherwise,

(3.28)

The proposed interpolation strategy additionally relies on a number 𝑛𝑠,𝑑 ∈ N of disjointradial interpolation intervals𝐸𝑠;𝑑

π‘˜ .

Definition 15(Radial interpolation intervals). Let𝑛𝑠,𝑑 ∈Ndenote a positive integer and letπœ‚=

√

3/3be as in Section 3.2. Further, let Δ𝑠,𝑑 B

πœ‚ 𝑛𝑠,𝑑

.

Theradial interpolation intervalsof sizeΔ𝑠,𝑑 are then defined as 𝐸

𝑠;𝑑

π‘˜ =[(π‘˜ βˆ’1)Δ𝑠,𝑑, π‘˜Ξ”π‘ ,𝑑) βŠ‚ [0,

√

3/3], π‘˜ =1, . . . , 𝑛𝑠,𝑑.

Thus, in all, the IFGF approach utilizes an overall number𝑁𝐢 ,𝑑 B 𝑛𝑠,𝑑×𝑛𝐢 ,𝑑×2𝑛𝐢 ,𝑑 ofinterpolation domains.

Definition 16(Interpolation domain). Let𝑛𝑠,𝑑, 𝑛𝐢 ,𝑑 ∈ N denote positive integers.

Let𝛾 =(𝛾

1, 𝛾

2, 𝛾

3) ∈ {1, . . . , 𝑛𝑠,𝑑} Γ— {1, . . . , 𝑛𝐢 ,𝑑} Γ— {1, . . . ,2𝑛𝐢 ,𝑑} CK𝑑

𝐢, where K𝑑

𝐢 denotes the index set of the cone segments. The interpolation domains are defined as the Cartesian product of the interpolation intervals in the(𝑠, πœƒ , πœ‘)system.

𝐸𝑑

𝛾 B 𝐸𝑠;𝑑

𝛾1 Γ—πΈπœƒ;𝑑

𝛾2 ×𝐸

πœ‘;𝑑 𝛾3 βŠ‚ [0,

√

3/3] Γ— [0, πœ‹] Γ— [0,2πœ‹), (3.29) Note that in Definition 16, the dependency of 𝛾 on the level 𝑑 was dropped in the notation, but made explicit with the superscript in the notation of the interpolation domain𝐸𝑑

𝛾.

Since the parametrizationxin (3.10) depends on the box size𝐻 =𝐻𝑑, and thus, on the level𝑑, the following notation for the𝑑-level parametrization is used

x𝑑(𝑠, πœƒ , πœ‘) =x(

√ 3𝐻𝑑 2π‘Ÿ

, πœƒ , πœ‘), (3.30)

which coincides with the expression (3.10) with𝐻 =𝐻𝑑.

Under the parametrizationx𝑑 in Equation (3.30), the level-𝑑interpolation domains yield the origin-centered real-spacecone segments𝐢𝑑

𝛾, as defined in what follows.

Definition 17(Origin-centered cone segments). Letx𝑑 : [0, πœ‚] Γ— [0, πœ‹] Γ— [0,2πœ‹) β†’ R3 denote the parametrization introduced in (3.30). The origin-centered cone segmentsare defined as the image of the interpolation domains 𝐸𝑑

𝛾 introduced in Definition 16 under the parametrizationx𝑑:

𝐢𝑑

𝛾 B {π‘₯=x𝑑(𝑠, πœƒ , πœ‘) : (𝑠, πœƒ , πœ‘) ∈ 𝐸𝑑

𝛾}. (3.31)

A two-dimensional illustration of the interpolation domains and associated cone segments is provided in Figure 3.3.

While the origin-centered cone segments are not utilized in the IFGF algorithm, they allow an elegant definition of the actually utilized box-centered cone segments 𝐢𝑑

k,𝛾, as follows.

Definition 18(Box-centered cone segments). LetBdenote a𝐷-leveled box-octree and let𝐡𝑑

k ∈ B,1≀ 𝑑 ≀ 𝐷,k∈ K𝑑

𝐡be a box in the octree structure of side𝐻𝑑and centerπ‘₯𝑑

k. Further, let𝐢𝑑

𝛾,𝛾 ∈ K𝑑

𝐢, be the origin-centered cone segments according to Definition 17. The cone segments𝐢𝑑

k,𝛾 centered at the box𝐡𝑑

k are then defined as follows.

𝐢𝑑

k,𝛾 B 𝐢𝑑

𝛾 +π‘₯𝑑

k ={π‘₯+π‘₯𝑑

k : π‘₯ βˆˆπΆπ‘‘

𝛾}.

An illustration of a two-dimensional example of the cone segments and their naming scheme can be found in Figure 3.9. As indicated above, the box-octree B is accompanied by a cone segment hierarchyC, which consists of all the cone segments co-centered with boxes contained in the box-octreeB.

Definition 19(Cone segment hierarchy). LetB denote a 𝐷-leveled box-octree for the surface discretization Γ𝑁. Let 𝑛𝐢 ,𝑑, 𝑛𝑠,𝑑 ∈ N be given for 1 ≀ 𝑑 ≀ 𝐷, and let the index setK𝑑

𝐡 andK𝑑

𝐢 be as in Definitions 6 and 16, respectively. The cone segment hierarchy C is defined as the set of all box-centered cone segments (cf.

Definition 18):

C B {𝐢𝑑

k,𝛾 : 1 ≀ 𝑑 ≀ 𝐷 ,k ∈ K𝐡𝑑, 𝛾 ∈ K𝐢𝑑}. As discussed in Section 3.1, the cone segments 𝐢𝑑

k;𝛾, which are part of the IFGF interpolation strategy, are used to effect piece-wise Chebyshev interpolation in the spherical coordinate system(𝑠, πœƒ , πœ‘). The interpolation approach, which is based on the use of discrete Chebyshev expansions, relies on the use of a setX𝐢𝑑

k;𝛾 for each relevant cone segment𝐢𝑑

k;𝛾 containing 𝑃 = 𝑃𝑠 Γ— (𝑃

ang)2 Chebyshevinterpolation pointsfor allk ∈ K𝑑

𝐡 and𝛾 ∈ K𝑑

𝐢, 𝑑 =1, . . . , 𝐷:

Figure 3.9: Two-dimensional illustrative sketch of the naming scheme used for box-centered cone segments𝐢𝑑

k;𝛾(based on the level-3 box𝐡3

(1,1)).

Definition 20 (Interpolation points). Let B = B (𝐷 ,Γ𝑁) denote a box-octree with cone segment hierarchy C. Further, let 𝐢𝑑

k;𝛾 ∈ C and let x𝑑 be the level-𝑑 parametrization introduced in (3.30) and let 𝑃𝑠, 𝑃ang ∈ N. The number 𝑃 = 𝑃𝑠 ×𝑃ang ×𝑃ang Chebyshev interpolation points associated with 𝐢𝑑

k are given as follows.

X𝐢𝑑

k;𝛾 ={π‘₯ βˆˆπΆπ‘‘

k;𝛾 : π‘₯ =x𝑑(π‘ π‘˜, πœƒπ‘–, πœ‘π‘—) +π‘₯𝑑

k,

1≀ π‘˜ ≀ 𝑃𝑠,1≀ 𝑖 ≀ 𝑃ang,1≀ 𝑗 ≀ 𝑃ang},

(3.32) whereπ‘ π‘˜,πœƒπ‘–andπœ‘π‘— denote Chebyshev nodes in the intervals𝐸𝑠;𝑑

𝛾1 , πΈπœƒ;𝑑

𝛾2,𝛾

3 and𝐸

πœ‘;𝑑 𝛾3 , respectively, and whereπ‘₯𝑑

k denotes the center of the box𝐡𝑑

k.

A two-dimensional illustration of 3 Γ—3 Chebyshev interpolation points within a single cone segment can be found in Figure 3.10.

Clearly, per Definition 18, cone segments are closely related to the box from which they originate. This relation is emphasized by the following concept ofco-centered boxes and cone segments.

Definition 21(co-centered boxes and cone segments). A box𝐡𝑑

kand a cone segment 𝐢𝑑

k,𝛾 are said to beco-centeredif the cone segment is centered at the box centerπ‘₯𝑑

k, as per Definition 18. Note that co-centered structures share the same superscript𝑑

Figure 3.10: Two-dimensional illustration of 3Γ—3 Chebyshev interpolation points associated with the cone segment𝐢3

(1,1);(2,2) in Figure 3.9.

and subscript multi-indexk. The unique relevant level-𝑑 box 𝐡𝑑

k co-centered with the relevant level-𝑑 cone segment𝐢𝑑

k;𝛾 is given by R𝐡𝐢𝑑

k;𝛾 B 𝐡𝑑

k. Further, two cone segments𝐢

1, 𝐢

2 ∈ Care calledco-centeredif they are co-centered with the same box, i.e., ifR𝐡𝐢

1=R𝐡𝐢

2.

Further, analogously to the relevant boxes in the underlying box-octreeB, to achieve the desired O (𝑁log𝑁) algorithmic complexity, the IFGF method only considers so-called relevant cone segments R𝑑

𝐢 on each level 𝑑 of the octree structure, i.e., cone segments that, in some way, contribute to the computation of the result. These relevant cone segments are defined as follows.

Definition 22 (Relevant cone segment). Let B = B (𝐷 ,Γ𝑁) denote a 𝐷-leveled box-octree for the surface discretization Γ𝑁. The relevant cone segments R𝐢𝐡𝑑

k

co-centered with a relevant box𝐡𝑑

k ∈ R𝐡 are given by R𝐢𝐡𝑑

k B βˆ…, 𝑑 =1,2, R𝐢𝐡𝑑

k B (

𝐢𝑑

k;𝛾 : 𝛾 ∈ K𝑑

𝐢, 𝐢𝑑

k;π›Ύβˆ© V𝐡𝑑

kβˆ©Ξ“π‘ β‰ βˆ… or 𝐢𝑑

k;π›Ύβˆ© Ø

𝐢∈R𝐢P𝐡𝑑

k

X𝐢 β‰  βˆ… )

, 𝑑 β‰₯ 3.

Note that the set of relevant cone segments of a non-relevant box is defined as the empty set. The set of all level-𝑑 relevant cone segments, R𝑑

𝐢, is further defined as the union of all relevant level-𝑑 cone segments

R𝑑

𝐢 B

Ø

𝐡∈R𝑑

𝐡

R𝐢𝐡.

Finally, the set ofall relevant cone segments,R𝐢, is taken as the union of the level-𝑑 relevant cone segments over all levels in the box-octree structure

R𝐢 B Ø

𝑑=1,..., 𝐷

R𝑑

𝐢.

Remark 9. It is important to note that, owing to the placement of the discretization points Γ𝑁 on a two-dimensional surface Ξ“ in three-dimensional space, and due to the cone segment refinement strategy discussed above, the number of relevant boxes is reduced by a factor of1/4as the level is advanced from level (𝑑 +1) to level 𝑑 (at least, asymptotically as 𝑑 β†’ ∞). Similarly, under the cone segment refinement strategy proposed in view of Theorem4, the overall number of relevant cone segments per box is increased by a factor of four as the box size is doubled (in the high-frequency regime), so that the total number of relevant cone segments remains essentially constant: |R𝑑

𝐢| ∼ |R𝑑+1

𝐢 | for all 𝑑 = 1, . . . , π·βˆ’1, where |R𝑑

𝐢| denotes the total number of relevant cone segments on level𝑑.

Unlike the box partitioning process, which starts from a single box and proceeds from one level to the next by subdividing each parent box into 2Γ—2Γ—2 =8 child boxes (with refinement factors equal to two in each one of the Cartesian coordinate directions, resulting in a number 8π‘‘βˆ’1boxes at level𝑑), the cone segment partitioning approach proceeds iteratively upwards the tree, starting from the two𝑑 = (𝐷 +1) initial cone domains

𝐸𝐷+1

(1,1,1) =[0,

√

3/3] Γ— [0, πœ‹] Γ— [0, πœ‹) and 𝐸𝐷+1

(1,1,2) =[0,

√

3/3] Γ— [0, πœ‹] Γ— [πœ‹,2πœ‹).

(The initial cone domains are only introduced as the initiators of the partitioning process; actual interpolations are only performed from cone domains𝐸𝑑

𝛾 with𝐷 β‰₯ 𝑑 β‰₯ 1.) Thus, starting at level 𝑑 = 𝐷 and moving inductively downward to 𝑑 = 1, the cone domains at level 𝑑 are obtained, from those at level (𝑑 +1), by refining each level-(𝑑+1) cone domain by level-dependent refinement factors π‘Žπ‘‘, i.e., the

number of cone segments in radial and angular directions from one level to the next is taken as𝑛𝑠,π‘‘βˆ’

1=𝑛𝑠,𝑑/π‘Žπ‘‘ and𝑛𝐢 ,π‘‘βˆ’

1=𝑛𝐢 ,𝑑/π‘Žπ‘‘. As discussed in Section 3.3, the refinement factors are taken to satisfy π‘Žπ‘‘ = 1 or π‘Žπ‘‘ = 2 for 𝐷 β‰₯ 𝑑 β‰₯ 2, but the initial refinement valueπ‘Žπ·+

1is an arbitrary positive integer value.

Remark 10. As indicated later in this thesis, in Chapter 5, the initial refinement values are chosen to achieve1Γ—2Γ—4cone segments in the 𝑠, πœƒ andπœ‘ variables, respectively. These values were empirically determined and, together with a suitable choice of the number of levels 𝐷, yield good performance for the targeted 10βˆ’3 accuracy shown in the numerical tests in this thesis.

After the computation of the values 𝑛𝑠,𝑑 and𝑛𝐢 ,𝑑, for 𝑑 = 𝐷 , . . . ,3, the algorithm proceeds by determining the relevant cone segments in a downward pass starting from level 𝑑 = 3 to level 𝑑 = 𝐷, according to Definition 22. As described above, the resulting hierarchy of boxes and cone segments is embodied in two different but inter-related hierarchical structures: the box octree B and a hierarchy of cone segments C. In the box octree each box contains eight equi-sized child boxes. In the cone segment hierarchy, similarly, each cone segment (spanning certain angular and radial intervals) spawns up toeight child segments. The πœ… 𝐻 β†’ ∞ limit then is approached as the box tree structure is traversed from children to parents (for a sufficiently large number𝐷of levels in the box octree) and the accompanying cone segment structure is traversed from parents to children. This hierarchical strategy and associated structures are described in more in detail in Sections 3.3 and 3.6.

A two-dimensional multi-level setup of the cone segments with a refinement factor π‘Žπ‘‘ = 2 and the effect of the parametrization is illustrated in Figure 3.11a. Fig- ure 3.11b, in turn, depicts a two-dimensional sketch of the hierarchical relation of cone segments centered at a box𝐡𝑑

k and its parent box P𝐡𝑑

k. 3.6 The IFGF algorithm

The IFGF algorithm consists of two main components, namely, precomputation and operator evaluation. The precomputation stage, which is typically performed only once prior to a series of operator evaluations (that may be required, e.g., as part of an iterative linear-algebra solver for a discrete operator equation), initializes the box octreeBand cone structure Cand, in particular, it flags the relevant boxesR𝐡 and cone segmentsR𝐢. The relevant boxes at each level𝑑(1 ≀ 𝑑 ≀ 𝐷) are determined, at a cost of O (𝑁) operations, by evaluation of the integer parts of the quotients of

(a) Two-dimensional illustration of the multi-level cone domains𝐸𝑑

𝛾and origin-centered cone segments𝐢𝑑

𝛾 for two subsequent levels, shown in black and red, respectively.

(b) Two-dimensional illustration of box-centered cone segments, namely, a single𝐡𝑑

k- centered cone segment at level 𝑑 (in red) and the four (eight in three dimensions) corresponding P𝐡𝑑

k-centered refined child cone segments at level𝑑 βˆ’1 depicted (in black).

Figure 3.11: Two-dimensional illustration of the hierarchical cone domain structure in(𝑠, πœƒ)space, and corresponding origin-centered and box-centered cone segments.

the coordinates of each pointπ‘₯ ∈ Γ𝑁 by the level-𝑑 box-size 𝐻𝑑—resulting in an overall cost ofO (𝑁log𝑁)operations for the determination of the relevant boxes at all 𝐷 = O (log𝑁) levels. Turning to the determination of relevant cone segments, we first note that, since there are no cousin boxes for any box in either level 𝑑 =1 (there is only one box in this level) or level 𝑑 = 2 (all boxes are neighbors in this level), by Definition 22, there are also no relevant cone segments in levels 𝑑 = 1 and 𝑑 = 2. To determine the relevant cone segments at level 𝑑 = 3, in turn, the algorithm loops over all relevant boxes 𝐡3

k ∈ R3

𝐡, and then over all cousin target points π‘₯ ∈ Γ𝑁 ∩ V𝐡3

k of 𝐡3

k, and it labels as a relevant cone segment the unique cone segment which containsπ‘₯. (Noting that, per Definition 18, the cone segments associated with a given relevant box are mutually disjoint, and, consequently, the determination of the cone segment which contains the cousin pointπ‘₯is accomplished atO (1)cost by means of simple arithmetic operations in spherical coordinates.) For the consecutive levels𝑑 = 4, . . . , 𝐷, the same procedure as for level𝑑 =3 is used to determine the relevant cone segments arising from cousin points. In contrast to level 𝑑 = 3, however, for levels𝑑 = 4, . . . , 𝐷 the relevant cone segmentsR𝐢P𝐡𝑑

k

associated with the parent box P𝐡𝑑

k ∈ Rπ‘‘βˆ’1

𝐡 of a level-𝑑 relevant box 𝐡𝑑

k ∈ R𝑑

𝐡

also play a role in the determination of the relevant cone segments of the box 𝐡𝑑

k. More precisely, for 𝑑 β‰₯ 4 the algorithm additionally loops over all relevant cone segments𝐢 ∈ R𝐢P𝐡𝑑

k centered at the parent box and all associated interpolation points π‘₯ ∈ X𝐢 and, as with the cousin points, flags as relevant the unique cone segment𝐢𝑑

k associated with the box 𝐡𝑑

k that includes the interpolation pointπ‘₯ (cf.

Definition 22).

Once the box and cone segment structures B and C have been initialized, and the corresponding sets of relevant boxesR𝐡 and relevant cone segments R𝐢 have been determined, the IFGF algorithm proceeds to the operator evaluation stage. The algorithm thus starts at the initial level𝐷by evaluating directly the expression (3.24) with𝑑 = 𝐷 for the analytic factor 𝐹𝐷

k (which contains contributions from all point sources contained in𝐡𝐷

k) for all level-𝐷relevant boxes𝐡𝐷

k ∈ R𝐷

𝐡 at all the spherical- coordinate interpolation pointsπ‘₯ ∈ X𝐢𝐷

k;𝛾 (Definition 20) of all associated relevant cone segments 𝐢𝐷

k;𝛾 ∈ R𝐢𝐡𝐷

k co-centered with 𝐡𝐷

k. All the associated level-𝐷 spherical-coordinate interpolation polynomials 𝐼𝑃𝐢𝐷

k;𝛾 of degree (π‘ƒβˆ’ 1) are then obtained through a direct computation of the coefficients (2.7). The stage 𝐷 of the algorithm continues by using those level-𝐷interpolants to evaluate the analytic factor𝐹𝐷

k (π‘₯)for all level-𝐷relevant boxes𝐡𝐷

k through evaluation of the interpolants 𝐼𝑃𝐢𝐷

k;𝛾(π‘₯), after which the field values𝐼𝐷

k (π‘₯)are generated via multiplication by the

centered factor at (i) All cousin target pointsπ‘₯ βˆˆΞ“π‘βˆ© V𝐡𝐷

k, and (ii) All parent level interpolation points π‘₯ ∈ XπΆπ·βˆ’1

˜k;π›ΎΛœ for allπΆπ·βˆ’1

k˜;π›ΎΛœ

∈ Rπ·βˆ’1

𝐢 . Finally, the stage 𝐷 of the algorithm is completed with the generation of the level-(π·βˆ’1)interpolantsπΌπ‘ƒπΆπ·βˆ’1

˜k;π›ΎΛœ

from these point values at the level-(π·βˆ’1)interpolation pointsXπΆπ·βˆ’1

k˜;π›ΎΛœ by dividing them by the corresponding level-(π·βˆ’1)centered factor and utilization of (2.7).

Note that, under the cousin condition π‘₯ ∈ Γ𝑁 ∩ V𝐡𝐷

k, the variable 𝑠 takes values on the compact subset [0, πœ‚] (πœ‚ = √

3/3 < 1) of the analyticity domain 0 ≀ 𝑠 <

1 guaranteed by Corollary 1, and, thus, the error-control estimates provided in Theorem 4 guarantee that the required accuracy tolerance is met at the cousin-point interpolation step. Additionally, each cousin target pointπ‘₯ βˆˆΞ“π‘βˆ© V𝐡𝐷

k lies within exactly one relevant cone segment𝐢𝐷

k;𝛾 ∈ R𝐢𝐡𝐷

k. It follows that the evaluation of the analytic factors (3.24) at a pointπ‘₯for all source boxes𝐡𝐷

k for whichπ‘₯is a level-𝐷 cousin is an O (1) operationβ€”since each surface discretization point π‘₯ ∈ Γ𝑁 is a cousin point for no more than 189=63βˆ’33boxes (according to Definition 13 and the explanation following it). Therefore, the evaluation of analytic-factor cousin-box contributions at all𝑁 surface discretization points requires O (𝑁)operations. This completes the level-𝐷 portion of the IFGF algorithm.

At the completion of the level-𝐷stage the field𝐼𝐷

k (π‘₯)generated by each relevant box 𝐡𝐷

k has been evaluated at all cousin surface discretization pointsπ‘₯ βˆˆΞ“π‘βˆ© V𝐡𝐷

k, but field values at surface points farther away from sources,π‘₯ βˆˆΞ“π‘ \ U𝐡𝐷

k βˆͺ V𝐡𝐷

k

, still need to be obtained; these are produced at stages 𝑑 = 𝐷 βˆ’1, . . . ,3. (The evaluation process is indeed completed at level𝑑 =3 since by construction, we have U𝐡3

kβˆͺ V𝐡3

k βŠƒ Γ𝑁 for anyk ∈ K3

𝐡.) In the same manner as the stage𝐷, for each relevant box𝐡𝑑

k ∈ R𝑑

𝐡, the level-𝑑stage of the algorithm ((π·βˆ’1) β‰₯𝑑 β‰₯ 3) proceeds by utilizing the previously (in the level-𝑑 +1 stage) calculated level-𝑑 spherical- coordinate interpolants 𝐼𝑃𝐢𝑑

k;𝛾 for each one of the level-𝑑 relevant boxes 𝐡𝑑

k ∈ Cπ΅π‘‘βˆ’1

˜k , to evaluate the analytic factorπΉπ‘‘βˆ’1

k˜ (π‘₯)generated by sources contained within π΅π‘‘βˆ’1

k˜ at all pointsπ‘₯in all the setsXπΆπ‘‘βˆ’1

˜k; Λœπ›Ύ of spherical-coordinate interpolation points associated with parent-level relevant cone segments πΆπ‘‘βˆ’1

k˜; Λœπ›Ύ

∈ RπΆπ΅π‘‘βˆ’1

k˜ emanating fromπ΅π‘‘βˆ’1

˜k . These point values are subsequently used to generate the level-(𝑑 βˆ’1) Chebyshev interpolants through evaluation of the sums (2.7). The level-𝑑 stage is then completed by using the necessary level-𝑑 interpolants 𝐼𝑃𝐢𝑑

k;𝛾 to evaluate, for all level-𝑑 relevant boxes 𝐡𝑑

k, the analytic factor𝐹𝑑

k(π‘₯) and, by multiplication with the centered factor, the field 𝐼𝑑

k(π‘₯), at all cousin target pointsπ‘₯ ∈ Γ𝑁 ∩ V𝐡𝑑

k. As in the level 𝐷 case, these level-𝑑 interpolations are performed at a cost of O (𝑁)

operations for all surface discretization pointsβ€”since, as in the level-𝐷 case, each surface discretization point (i) Is a cousin target point of O (1) boxes, and (ii) Is contained within one cone segment per cousin box. Performing these steps for all stages𝑑 =𝐷 , . . .3 evaluates all fields 𝐼𝐷

k ,k∈ K𝐷

𝐡, at all pointsπ‘₯ βˆˆΞ“π‘ \ U𝐡𝐷

k not included in the neighbors of𝐡𝐷

k. Hence, for a full discrete operator evaluation(3.1), the evaluation of the fields 𝐼𝐷

k (π‘₯) at level-𝐷 neighboring pointsπ‘₯ ∈ U𝐡𝐷

k is still missing at this point. These evaluations are performed directly in the present context without any special considerations at a cost ofO (𝑁)operations. This completes the algorithm.

Remark 11. For full solver implementations, where the singularity cannot be re- moved, as in(3.1), specialized algorithms (e.g., [52]) are required to resolve the singularities.

As indicated in the Introduction, Section 1.2, the IFGF method does not require a downward pass through the box tree structureβ€”of the kind required by FMM approachesβ€”to evaluate the field at the surface discretization points. Instead, as indicated above, in the IFGF algorithm the surface-point evaluation is performed as part of a single (upward) pass through the tree structure, with increasing box sizes 𝐻𝑑 and decreasing values of 𝑑, as the interpolating polynomials associated with the various relevant cone segments are evaluated at cousin surface points. Thus, the IFGF approach aggregates contributions arising from large numbers of point sources, but, unlike the FMM, it does so using large number of interpolants of a low (and fixed) degree over decreasing angular and radial spans, instead of using expansions of increasingly large order over fixed angular and radial spans.

It is important to note that, in order to achieve the desired acceleration, the algo- rithm evaluates analytic factors 𝐹𝑑

k(π‘₯) arising from a level-𝑑 box 𝐡𝑑

k, whether at interpolation points π‘₯ in the subsequent level, or for cousin surface discretization pointsπ‘₯, by relying on interpolation based on (previously computed) interpolation polynomials associated with the(𝑑+1)-level relevant children boxes of𝐡𝑑

k, instead of directly evaluating 𝐼𝑑

k(π‘₯) using equation (3.24). In particular, all interpolation points within relevant cone segments on level𝑑are also targets of the interpolation performed on level(𝑑+1). Evaluation of interpolant at surface discretization points π‘₯ βˆˆΞ“π‘, on the other hand, are restricted to cousin surface points: evaluation at all points farther away are deferred to subsequent larger-box stages of the algorithm.

Of course, the proposed interpolation strategy requires the creation, for each level-𝑑 relevant box 𝐡𝑑

k, of all level-𝑑 cone segments and interpolants necessary to cover both the cousin surface discretization points as well as all of the interpolation points in the relevant cone segments on level(π‘‘βˆ’1). We emphasize that the interpolation onto interpolation points requires a re-centering procedure consisting of multipli- cation by the level 𝑑centered factors, and division by corresponding level-(π‘‘βˆ’1) centered factors (cf. equation (3.24)). We note that, in particular, this re-centering procedure (whose need arises as a result of the algorithm’s reliance on the coordi- nate transformation (3.30) but re-centered at the 𝑑-level cube centers for varying values of 𝑑) causes the set of the children cone segments not to be geometrically contained within the corresponding parent cone segment (cf. Figure 3.11b). The procedure of interpolation onto interpolation points, which is, in fact, an iterated Chebyshev interpolation method, results only in an error accumulationβ€”due to the well-conditioned nature of the Chebyshev transformβ€”proportional to the number 𝐷 of levels in the octree structure. Thus, based on the relation 𝐷 =O (log𝑁), the overall error scales proportional to log𝑁 as the problem size𝑁 is increased.

Using the notation described throughout this thesis, the IFGF algorithm described above is summarized in its entirety in what follows.

β€’ Initialization of relevant boxes and relevant cone segments.

– Determine the setsR𝑑

𝐡 andR𝑑

𝐢 for all𝑑 =1, . . . , 𝐷.

β€’ Level𝐷: Start the operator evaluation stage.

– For every 𝐷-level box 𝐡𝐷

k ∈ R𝐷

𝐡 evaluate the field 𝐼𝐷

k (π‘₯) generated by point sources within𝐡𝐷

k at all neighboring surface discretization points π‘₯ ∈ U𝐡𝐷

k by direct evaluation of equation (3.24).

– For every 𝐷-level box 𝐡𝐷

k ∈ R𝐷

𝐡 evaluate the analytic factor 𝐹𝐷

k (π‘₯) at all interpolation pointsπ‘₯ ∈ X𝐢𝐷

k;𝛾for all𝐢𝐷

k;𝛾 ∈ R𝐢𝐡𝐷

k and generate the interpolants𝐼𝑃𝐢k

;𝛾.

β€’ For levels𝑑 =𝐷 , . . . ,3.

– For every every box𝐡𝑑

kevaluate the field𝐼𝑑

k(π‘₯)(equation (3.24)) at every surface discretization pointπ‘₯within the cousin boxes of 𝐡𝑑

k,π‘₯ ∈ V𝐡𝑑

k, by evaluating the interpolants 𝐼𝑃𝐢𝑑

k;𝛾 and multiplying the result by the centered factor𝐺(π‘₯ , π‘₯𝑑

k).

– For every every box 𝐡𝑑

k determine the parent box π΅π‘‘βˆ’1

j = P𝐡𝑑

k and, by way of interpolation of the analytic factor 𝐹𝑑

k through the evalu- ation of the interpolant 𝐼𝑃𝐢𝑑

k;𝛾 and re-centering by the smooth factor 𝐺(π‘₯ , π‘₯𝑑

k)/𝐺(π‘₯ , π‘₯π‘‘βˆ’1

j ), obtain the values of the parent-box analytic factors πΉπ‘‘βˆ’1

j at all level-(π‘‘βˆ’1) interpolation points corresponding toπ΅π‘‘βˆ’1

j β€”

that is to say, at all pointsπ‘₯ ∈ XπΆπ‘‘βˆ’1

j;𝛾 for allπΆπ‘‘βˆ’1

j;𝛾 ∈ RπΆπ΅π‘‘βˆ’1

j (Note: the contributions of all the children ofπ΅π‘‘βˆ’1

j need to be accumulated at this step.). Finally, generate the parent level interpolantsπΌπ‘ƒπΆπ‘‘βˆ’1

j;𝛾 from these point values.

The corresponding pseudocode, which illustrates the discrete operator evaluation without the precomputation stage and without the singular interactions to level-𝐷 neighbors, is presented in Algorithm 2.

For a concise description of the overall method and the parallelization strategy pre- sented in the following Chapter 4, the operator evaluation stage of the IFGF method is split into three parts. First, the level-𝐷 evaluation of the field at the interpolation points and the subsequent generation of the first set of interpolants on level𝐷. This part of the algorithm is called in what follows theLevelDEvaluationsand summa- rized in Algorithm 3. Secondly, the so-called level-𝑑 dependent Interpolation(𝑑) which denotes the part of the algorithm responsible for interpolation of the fields𝐼𝑑

k

back to the cousin surface discretization points. It is summarized in Algorithm 4.

And, finally, the level-𝑑 dependentPropagation(𝑑), which, as the names suggests, propagates the interpolants upwards in the box octree structure and generates the parent level interpolants. ThePropagationfunction is summarized in Algorithm 5.

Utilizing these three functions, Algorithm 2 may be stated in a shortened form as Algorithm 6. A visual representation of this shortened algorithm is displayed in Figure 3.12, which, in contrast to the pseudocode, also includes the level-𝐷neighbor interactions represented by theLevelDSingularInteractionsfunction in that figure.