KASKADE 7 development version
|
#include <lossy_helper.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 286 of file lossy_helper.hh.
Public Member Functions | |
ProlongationStack (const Grid &grid) | |
Public Attributes | |
std::vector< Dune::BCRSMatrix< M > > | prolStack |
ProlongationStack< Grid >::ProlongationStack | ( | const Grid & | grid | ) |
Definition at line 297 of file lossy_helper.hh.
std::vector<Dune::BCRSMatrix<M> > Lossy_Detail::ProlongationStack< Grid >::prolStack |
Definition at line 291 of file lossy_helper.hh.
Referenced by Lossy_Detail::MlStack< Grd >::MlStack().