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.