Not sure if you would need API additions. Can't everything you describe be<br>handled through defining the grid, operator, residual, and projections?<br><br>  Matt<br><br><div class="gmail_quote">On Sun, Dec 13, 2009 at 8:59 AM, Jed Brown <span dir="ltr"><<a href="mailto:jed@59a2.org">jed@59a2.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I can think of a few ways to implement the following multilevel scheme,<br>
but I'm not sure if it's possible/desirable to have DMMG to manage it.<br>
<br>
Finest level       (A)  : DMComposite[DA_2D(dof=1),DA_3D(dof=4+)]<br>
Intermediate level (B)  : DM_2D(dof=3)<br>
Coarsest levels    (C1) : DM_2D(dof=1)<br>
  OR               (C2) : DM_2D(dof=3)<br>
<br>
No matrices are assembled on level A, but the smoother involves 1D<br>
solves within columns.  Restriction A->B involves integration and<br>
discarding "slow" quantities.  Assembly is available for Level B and<br>
higher matrices.  There are two coarsening strategies after B, one<br>
involves a fieldsplit where the coarsest grids are only for a scalar<br>
problem, other coarsens B directly.<br>
<br>
I think grid sequencing and nonlinear multigrid are not important here<br>
because level B does not contain the long time scales for which<br>
globalization would be challenging.  So this hierarchy is strictly for<br>
preconditioning.  The DMMG interface is rather different from other<br>
components and I recall Barry saying he would like to eventually get rid<br>
of it.  Is there an advantage to using it here?  Unless I'm missing<br>
something, it would require some additions to the API (which I can do if<br>
it is the right thing to do).<br>
<font color="#888888"><br>
Jed<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener<br>