KASKADE 7 development version
|
#include <multiGridStacks.hh>
(II) ProlongationStack:
Now we use the resulting vectors "levelParentsVector" and "levelDisappear" to create the prolongation matrices. UGGrid creates the leaf indices as follows: The indices are consecutive, starting at zero. They are numerated exactly in the order, in which the nodes disappeared level after level. Finally the indices of the maximal grid level are attached in natural order. Following this idea, we build up a sparse BCRS matrix, row-wise:
The first (m) rows enclose a simple Identity, needed for carrying the (m) old nodes, which disappeared the level before the previous one.
The next (n) rows take care of the (n) nodes which disappeared right before. Each of these rows also consists of exactly one 1, at the position, which ist the index of the corresponding node in previous level (where it disappeared) plus (m), the number of already carried with nodes.
The last rows provide information care of the still present nodes. Each row consists of four entries ( 3-DIM, for 2-DIM there are 3). Each value ist a barycentric coordinate and its position ist the level index of the corresponding father node plus (m).
I called the numbers (m) and (m)+(n) of disappeared nodes disappearSumBefore and disappearSumAfter
Definition at line 230 of file multiGridStacks.hh.
Public Member Functions | |
ProlongationStack (const Grd &grd) | |
Public Attributes | |
std::vector< Dune::BCRSMatrix< M > > | prolStack |
ProlongationStack< Grd >::ProlongationStack | ( | const Grd & | grd | ) |
Definition at line 241 of file multiGridStacks.hh.
std::vector<Dune::BCRSMatrix<M> > ProlongationStack< Grd >::prolStack |
Definition at line 235 of file multiGridStacks.hh.
Referenced by MlStack< Grd >::MlStack().