4.2 Specification
4.2.6 Progress of Integration Algorithms
The integration algorithms do not alter the state of the data structures. They are trivially safe, and their progress is not evident in comparing the snapshots. Here progress is specified in terms of an evaluation list produced by the algorithm.
Integration Over Bilinear Forms (mixed-levels) In the solution of linear (or linearized) problems, a key component of the solver is the evaluation of integrals of some bilinear form,a(·,·), which takes as arguments two functions,u(x)andw(x), both discretized with the same finite basis. Algebra gives more insight here:
Z
Ω
a(Pnu(x), Pnw(x))dx (4.1)
= Z
Ω
a
X
φ(p)i ∈B
u(p)i φ(p)i , X
φ(q)j ∈B
u(q)j φ(q)j
dx
= X
φ(p)i ∈B
X
φ(q)j ∈B
u(p)i u(q)j Z
Ω
a
φ(p)i , φ(q)j dx .
We need to consider the action ofa(·,·)on every pair of active basis functions. For efficiency, we should avoid considering pairs which do dot have overlapping parametric support, as their term in the summation is zero. For every pair of active functions,φ(p)i andφ(q)j , we carry out the integration over elements of the finer level,q(without loss of generality assumeq≤p). We now show that very level-qelement that is required to carry out this integral is active, and has integration tables which list bothφ(p)i andφ(q)j . Sinceφ(p)i andφ(q)j are active, by the the consistency requirements (by I1) the elements in their natural support sets,S(φ(p)i )and S(φ(q)j ), are active. Furthermore, the local integration tables of every elementε(q)k ∈ S(φ(q)j )contain both φ(p)i andφ(q)j , if and only if the parametric supports ofφ(p)i andφ(q)j overlap overε(q)k (by I2 and I3). Thus every level-qelement that should be involved in the evaluation of the integral,R
Ωa
φ(p)i , φ(q)j
dx, is active and properly initialized. To evaluate (4.1), we iterate over every active element, and consider all interactions between functions overlapping that element, as recorded by the element’s integration tables.
The algorithmIntegrateBilinearForm evaluates the bilinear form,a(·,·), many times. To analyze the behavior of this algorithm, let us pretend that the algorithm keeps a list of all the evaluations. We la- bel each evaluation as the 3-tuple(φ(p)i , φ(q)j , ε(r)k )indicating the integration ofa(φ(p)i , φ(q)j )overε(r)k . In generala(·,·)is not invariant to permutations of its two arguments, therefore every 3-tuple is unique, i.e., (φ(p)i , φ(q)j , ε(r)k )6= (φ(q)j , φ(p)i , ε(r)k ).
With this notation, we requireIntegrateBilinearFormto return the evaluation list [
ε(q)k ∈E
[
φ(q)j ∈Bs(ε(q)k )
[
φ(p)i ∈Bs(ε(q)k )∪Ba(ε(q)k )
(φ(p)i , φ(q)j , ε(q)k ). (4.2)
Integration Over Finest Cells The algorithmIntegrate evaluates the (potentially non-linear) integral using a partition of the domain into tiles. The integrand is evaluated once per tile, thus specifying the set of active tiles fixes the specification of the algorithm.
Recall that the trial space is spanned by functions from different nesting levels, consequently we need a partition that will resolve these different resolutions.Integrateevaluates over the minimal set of element- and resolving-tiles such that (a) the tiles partition the domain, and (b) the partition has sufficient resolution:
every leaf element is a tile, where leaf means an active element with all descendants inactive.
Observe that while the set of active elements always covers the domain, the set of leaves in general does not cover the entire domain (see Figure 4.2). With this, we will designate every leaf as an active tile, and in the remaining gaps we will introduce resolving tiles.
Consider the following tile coloring problem (TCP). We color every tile in the infinite hierarchy black, red, or white: black if the tile is too coarse to resolve some finer active descendant, white if the tile is too fine, or red if the tile fits. The coarser black and finer white tiles will form a “sandwich” around a thin sheet of red tiles—these red tiles form our partition.
Tile coloring problem The tile coloring problem is defined as follows. The color of an element tile is
three active functions
level 0 active functions level 0 active elements
level 1 active functions level 1 active elements parametric domain
descendant relation
leaf element
Figure 4.2: Three active functions (top row, hat functions) induce five active elements (thick horizontal bars). Both of the level 0 active elements have active descendants (as shown by the arrows), hence they are not leaves. The level 1 active elements are leaves, and by construction they occupy disjoint pieces of the domain. Furthermore, in general they do not cover the entire domain: for the illustrated case, only 3/4 of the domain are covered by the leaves.
(TCP1) black if any of its descendants are active, (TCP2) else red if it is active,
(TCP3) else white.
The color of a resolving tile is
(TCP4) red if its coarser-link is black and its finer-link is white, (TCP5) else black if its coarser-link is black,
(TCP6) else white.
Recall from Section 2.3.2 that the finer-link,L(t), of resolving-tile,t, is the single overlapping element-tile at the next-finer level; the adjoint relationship gives the coarser-link,L∗(t), i.e., the single overlapping element
tile at the same level ast. The link mapping may also be applied to element-tiles:L(ε)is the finer-link ofε, i.e., the set of potentially multiple overlapping resolving tiles at the same level asε;L∗(ε)is the coarser-link ofε, i.e., the set of overlapping resolving tiles at the next-coarser level fromε.
The evaluation-list ofIntegrateconsists of all red tiles, each one accompanied by a table of overlapping active functions.
We shall see that the nature of TCP is that an incremental change in the active setBleads to an incremental change in the tile coloring: this invites an incremental approach to coloring with consequent economy in refinement and integration.