On Tue, Apr 1, 2014 at 5:21 PM, Mark Adams <[email protected]> wrote: > Jed: get a thesaurus! I am getting sick of 'elide' :) >
The thesaurus is the problem, man! The thesaurus is the problem! - Peter > > > The fix would be to eliminate the rotation mode(s) (or any of the modes > for that matter) for that vertex of P. It just happens on the first coarse > grid where the number of equation per vertex goes up (2-->3 in 2D > elasticity). This would be problematic for a few reasons but the most > obvious is that the coarse grid would have variable block size. > > Note, because we have Galerkin coarse grids we can really just add > anything to the diagonal. I've had good luck with doing this but it is > tedious to get you implementations to deal with these fake equations. But > I've found that getting fancy does not help convergence and is not perfect > anyway. > > > > On Tue, Apr 1, 2014 at 5:59 PM, Jed Brown < > [email protected]> wrote: > >> Jed Brown commented on pull request #161: GAMG: shift coarse >> grids to avoid zero diags from low rank coarse grid space >> [jedbrown] *Jed Brown* commented on pull request #161: GAMG: shift >> coarse grids to avoid zero diags from low rank coarse grid >> space<https://bitbucket.org/petsc/petsc/pull-request/161/gamg-shift-coarse-grids-to-avoid-zero#comment-1559358> >> >> Hmm, why can't singletons be elided completely? Then you would have a >> zero row of P. >> View this pull >> request<https://bitbucket.org/petsc/petsc/pull-request/161/gamg-shift-coarse-grids-to-avoid-zero#comment-1559358>or >> add a comment by replying to this email. >> In reply to *Mark Adams* >> >> "avoid[ing] zero columns " columns is impossible. And the fix is the same >> thing that people do for BCs: make an equation not in the math; it is just >> going along for the ride. >> >> I had custom code to do this in Prometheus, it would try to add >> singletons to other aggregates, in fact it would break up all small >> aggregates and try to distribute them, but it is not guaranteed to succeed. >> >> I could add post processing step where I scan for singletons and then add >> them to other aggregates but this will not always work: for instance, given >> a high threshold a (good) input problem might have a singleton in the >> graph. What do you do? lower the threshold, redo the graph and try again. >> Really? >> >> This is crufty MPI code: any singletons?; send messages to you neighbors: >> "can you take me?"; receive replies; pick one; send it. >> >> What happens if there are two singletons next to each other? Now I say if >> I can take you and I am a singleton, and I have a higher processor ID I >> will take you and you must give me your singleton so I will no longer be a >> singleton. Fine. What if there are three singletons next each other .... >> Just to avoid a BC like equation? This there a polynomial time algorithm to >> do this? >> Unwatch this pull >> request<https://bitbucket.org/petsc/petsc/pull-request/161/unwatch/madams/f80fc7b4784df2819a4a5e329f4f4fc1813e22a9/>to >> stop receiving email updates. [image: >> Bitbucket] <https://bitbucket.org> >> > >
