<div dir="ltr">Thanks! <span style="font-size:12.8px"> f[j][i] = u[j][i] - ub did it. It even works with the automated Jacobian assembly.</span></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 30, 2017 at 9:28 PM, Smith, Barry F. <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
   If you using DMDA then you can't just "remove" some grid points from the vector.<br>
<br>
   What you need to do is for your function evaluation at these interior grid points do f[j][i] = u[j][i] - ub in the FormFunction (ub is the Dirichlet value) and put a 1 one the diagonal of that row of the Jacobian (and nothing off diagonal).<br>
<span class="HOEnZb"><font color="#888888"><br>
  Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> On Oct 30, 2017, at 10:49 AM, Mani Chandra <<a href="mailto:mc0710@gmail.com">mc0710@gmail.com</a>> wrote:<br>
><br>
> Hello,<br>
><br>
> I'm trying to solve the Poisson problem but with Dirichlet boundaries inside the domain (in addition to those imposed in the ghost zones). I'm using DMDA to create a structured grid and SNES coupled to this DMDA to solve the problem.<br>
><br>
> The issue is that SNES doesn't converge when I impose Dirichlet boundary values inside the domain. I tried setting the residual corresponding to these internal points to zero but that isn't helping. Is there a right way to approach this problem? I just want to tell SNES to remove the chosen internal grid points from the solver iterations.<br>
><br>
> Thanks,<br>
> Mani<br>
<br>
</div></div></blockquote></div><br></div>