<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 10.01.2012 04:57, Jed Brown wrote:
    <blockquote
cite="mid:CAM9tzS=sMY6vR=OzrGJcQ1oJHYhsXzqsvXrqJbtfk8=RThH5YQ@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">On Mon, Jan 9, 2012 at 22:47, Mohamad M.
        Nasr-Azadani <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:mmnasr@gmail.com">mmnasr@gmail.com</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div>It might be a naive question, but I am wondering how
            KSPSetNullSpace() works when it is passed to a linear system
            ksp context?</div>
          <div>Say, for instance, we have the simple case of Poisson
            equation solved in a square domain and Neumann boundary
            condition applied to all boundaries. </div>
          <div>Does it take the integral of the solution and set it to
            zero as an extra constraint? </div>
        </blockquote>
      </div>
      <br>
      <div>It just projects out whatever you provide as a null space, so
        the Krylov method effectively runs in the remaining subspace.</div>
    </blockquote>
     In examples listed on this page:<br>
    <br>
<a class="moz-txt-link-freetext" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPSetNullSpace.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPSetNullSpace.html</a><br>
    <br>
    You set nullspace without any particular information:<br>
    <br>
    ierr = MatNullSpaceCreate(PETSC_COMM_WORLD, PETSC_TRUE, 0,
    PETSC_NULL, &amp;nullsp);<br>
    ierr = KSPSetNullSpace(ksp, nullsp);<br>
    <br>
    What does it project and how works in this case?<br>
    <br>
    Regards,<br>
    Alexander<br>
  </body>
</html>