Expressions like
v = stencil(u) + f; u = v;
lead to Jacobi type iteration. However, expressions like
u = stencil(u) + f;
are performed in a Gauss-Seidel type manner using a lexicographic order of the points on every structured subgrid.
Currently, we did not implement several other orderings. But we implemented a z-ordering and a -z-ordering. These orderings can be called by the member functions:
void Variable<DTyp>::Plane_z_relaxation( int iter_plane, const Expr_Restriction<A>& a);
void Variable<DTyp>::Plane_minus_z_relaxation(int iter_plane, const Expr_Restriction<A>& a);
The first of these member functions performs an evaluation of the expression a in a z-ordering of the blocks and in a z-ordering of the faces. On each block iter_plane xy-plane relaxations are performed in a lexicographic order of these blocks.
Example:
u.Plane_z_relaxation(3, stencil(u) + f );
Last modified: Tue May 15 15:44:28 PDT 2001