On Thu, 23 Jan 2014 15:26:40 +0000 "Garth N. Wells" <[email protected]> wrote:
> On 2014-01-23 15:24, Jan Blechta wrote: > > On Thu, 23 Jan 2014 15:24:59 +0100 > > Anders Logg <[email protected]> wrote: > > > >> On Thu, Jan 23, 2014 at 02:18:30PM +0100, Jan Blechta wrote: > >> > On Thu, 23 Jan 2014 12:24:11 +0000 > >> > "Garth N. Wells" <[email protected]> wrote: > >> > > >> > > If someone would like to condense this thread, it would make a > >> > > very nice 'question' on the Q&A page which could then be > >> > > answered by whoever posts the question. > >> > > >> > I'll do it. > >> > >> Great. It would be even more useful with a documented demo that > >> explains all these issues in detail if you feel up to it. > > > > Demo can come up when the question is resolved satisfactorily... > > > > In fact, the two existing demos neumann-poisson, singular-poisson > > can be > > improved and new demo using DirichletBC(..., 'pointwise') approach > > can be added. > > > > I'd suggest squashing them all into one demo. I don't agree. singular-poisson needs PETSc while neumann-poisson can be improved that it can use PETSc for MINRES, AMG, but it can use direct solver either when PETSc is missing. Jan > > Garth > > > Jan > > > >> > >> -- > >> Anders > >> > >> > >> > Jan > >> > > >> > > > >> > > Garth > >> > > > >> > > > >> > > On 2014-01-22 19:23, Nico Schlömer wrote: > >> > > >> As far as I can tell, I'm trying to solve the extended > >> > > >> system, and it has no nullspace. > >> > > > > >> > > > There are two separate approaches discussed here: > >> > > > > >> > > > * extending the system such that the nullspace is trivial > >> > > > (Langrange) > >> > > > * using the Krylov solver on the original system with the > >> > > > nontrivial nullspace, paying a little attention to the > >> > > > details. > >> > > > > >> > > > --Nico > >> > > > > >> > > > > >> > > > On Wed, Jan 22, 2014 at 8:17 PM, Nikolaus Rath > >> > > > <[email protected]> wrote: > >> > > >> On 01/22/2014 11:08 AM, Nico Schlömer wrote: > >> > > >>>>>>> As Garth was mentioning, this problem is delicate for > >> > > >>>>>>> iterative solver, not only because > >> > > >>>>>>> its indefiniteness, but because the Lagrangian > >> > > >>>>>>> constraint you're imposing yields > >> > > >>>>>>> a column (the last one) of the full matrix that belongs > >> > > >>>>>>> to the kernel of the top-left block. > >> > > >>>>>>> > >> > > >>>>>>> Since the nullspace is at hands, I would provide it to > >> > > >>>>>>> the solver and then use CG+AMG, > >> > > >>>>>>> with Jacobi relaxation at coarser scale instead Gauss > >> > > >>>>>>> elimination (at least with petsc boomeramg). > >> > > >>>>>> > >> > > >>>>>> > >> > > >>>>>> Why is there a nullspace? Doesn't the \int u = 0 > >> > > >>>>>> constraint remove the > >> > > >>>>>> remaining degree of freedom resulting from the pure > >> > > >>>>>> Neumann boundary > >> > > >>>>>> conditions? > >> > > >>>>> > >> > > >>>>> It does not remove any DOF. It adds just one DOF - the > >> > > >>>>> Lagrange multiplier and an equation which makes the > >> > > >>>>> system regular. > >> > > >>>> > >> > > >>>> I'm probably just using different terminology, but how can > >> > > >>>> the system be > >> > > >>>> regular if it has a nullspace? If there is u such that > >> > > >>>> A.u = 0, I would > >> > > >>>> say that A is singular, not regular. > >> > > >>> > >> > > >>> The original problem is singular indeed. What Jan did is > >> > > >>> add a row and > >> > > >>> a column (Lagrange multiplier) such that the new extended > >> > > >>> system is regular. > >> > > >> > >> > > >> > >> > > >> This is what I thought - the extended system does *not* > >> > > >> have a nullspace. But the extended system is the system > >> > > >> we're trying to solve. > >> > > >> So I'm not sure how to understand Simone's suggestion above: > >> > > >> > >> > > >>>>>>> Since the nullspace is at hands, I would provide it to > >> > > >>>>>>> the solver and then use CG+AMG, > >> > > >>>>>>> with Jacobi relaxation at coarser scale instead Gauss > >> > > >>>>>>> elimination (at least with petsc boomeramg). > >> > > >> > >> > > >> As far as I can tell, I'm trying to solve the extended > >> > > >> system, and it has no nullspace. > >> > > >> > >> > > >> > >> > > >> Best, > >> > > >> Nikolaus > >> > > >> > >> > > > _______________________________________________ > >> > > > fenics mailing list > >> > > > [email protected] > >> > > > http://fenicsproject.org/mailman/listinfo/fenics > >> > > _______________________________________________ > >> > > fenics mailing list > >> > > [email protected] > >> > > http://fenicsproject.org/mailman/listinfo/fenics > >> > > >> > _______________________________________________ > >> > fenics mailing list > >> > [email protected] > >> > http://fenicsproject.org/mailman/listinfo/fenics > >> _______________________________________________ > >> fenics mailing list > >> [email protected] > >> http://fenicsproject.org/mailman/listinfo/fenics > > > > _______________________________________________ > > fenics mailing list > > [email protected] > > http://fenicsproject.org/mailman/listinfo/fenics _______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
