flexible block matrix

Jed Brown jed at 59A2.org
Mon Apr 21 09:53:30 CDT 2008


I am solving a Stokes problem with nonlinear slip boundary conditions.  I don't
think I can take advantage of block structure since the normal component of
velocity has a Dirichlet constraint and this must be built into the velocity
space in order to preserve conditioning.  An alternative formulation involves a
Lagrange multiplier for the constraint, but even with clever preconditioning,
this system is still more expensive to solve according to [1].

In solving the (velocity-pressure) saddle point problem, many approximate solves
with the velocity system is needed in the preconditioner, hence I need a strong
preconditioner for the velocity system.  Currently, I am using algebraic
multigrid on a low-order discretization which works fairly well.  Since Hypre
and ML only take AIJ matrices, perhaps I shouldn't worry about blocking after
all.  Is there a way to use MATBAIJ when some nodes have fewer degrees of
freedom?  Should I bother?

Note that my method (currently just a single element) uses a high order
discretization on some elements and low order on others.  The global matrix for
the low order elements is assembled, but it is applied locally for the high order
elements taking advantage of the tensor product basis.  For the preconditioner,
a low order discretization on the nodes of the high order elements is globally
assembled and added to the global matrix from the low-order elements.
Experiments with a single element (spectral rather than spectral/hp element)
show this to be effective, converging in a constant number of iterations
independent of polynomial order when using a V-cycle of AMG as a preconditioner.

Thanks.

Jed


[1] Bänsch, Höhn 2000, `Numerical treatment of the Navier-Stokes equations with
slip boundary conditions', SIAM J. Sci. Comput.




More information about the petsc-users mailing list