PDF file - Johannes Kepler University, Linz - JKU
PDF file - Johannes Kepler University, Linz - JKU
PDF file - Johannes Kepler University, Linz - JKU
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CHAPTER 3. MULTIGRID METHODS 44<br />
Choice of C nodes. What still has to be fixed is a concrete C/F-splitting. A very easy<br />
to implement algorithm for this purpose is the red-black-coloring method [Kic98].<br />
Algorithm 3.10. Red-Black Coloring<br />
repeat until all the nodes are colored<br />
begin<br />
step 1: choose an uncolored node (e.g. with minimal node number);<br />
step 2: this node is colored black;<br />
step 3: all uncolored neighbors are colored red;<br />
end<br />
The black nodes are then used as C nodes.<br />
A first variation of this algorithm is to use a different notion of ‘neighboring’ in step 3,<br />
to color only the strongly negatively coupled (snc) nodes, where a node j is said to be snc<br />
to a node k if<br />
−h jk ≥ ε str max |h − ji |, (3.18)<br />
i<br />
with fixed parameter ε str ∈ (0, 1] (typically ε str = 0.25). We denote the set of strongly<br />
negative couplings of a node j by<br />
and the set of transposed strongly negative couplings by<br />
Now step 3 can be replaced by<br />
S j = {k ∈ N j : j is snc to k} (3.19)<br />
S T j = {k : j ∈ S k }. (3.20)<br />
“all uncolored nodes which are snc to the black node are colored red”. (3.21)<br />
Another variant concerns step 1. The order in which the C nodes are chosen may be<br />
crucial if we want to obtain a uniform distribution of C and F nodes. One suggestion in<br />
this direction in [RS86] is to introduce a “measure of importance” λ j for each node j in<br />
the set of ‘undecided’ nodes U, and to choose a node with maximal λ j as next C node.<br />
One possibility for this measure is<br />
λ j = |S T j ∩ U| + 2|ST j<br />
∩ F |, (3.22)<br />
which can be evaluated for all nodes in a preprocessing step and updated locally after each<br />
iteration step.