<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jul 30, 2014 at 2:53 PM, Justin Chang <span dir="ltr"><<a href="mailto:jychang48@gmail.com" target="_blank">jychang48@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi,<br><br>This might be a silly question, but I am developing a finite element code to solve the non-negative diffusion equation. I am using the DMPlex structure and plan on subjecting the problem to a bounded constraint optimization to ensure non-negative concentrations. Say for instance, I want to solve:<br>

<br></div>min || K*u - F ||^2<br></div>subject to u >= 0<br></div><div>             M*u = 0<br></div><div><br></div>Where K is the Jacobian, F the residual, u the concentration, and M some equality constraint matrix. I know how to do this via Tao, but my question is can Tao handle Mats and Vecs created via DMPlex? Because from the SNES and TS examples I have seen in ex12, ex62, and ex11, it seems there are solvers tailored to handle DMPlex created data structures.<br>
</div></div></blockquote><div><br></div><div>Yes, TAO can handle objects created by DMPlex since they are just Vec and Mat structures. The additions</div><div>to ex12, ex62, and ex11 concern the callbacks from the solver to the constructions routines for residual and</div>
<div>Jacobian. Right now, none of the callbacks are automatic for TAO so you would have to code them yourself,</div><div>probably by just calling the routines from SNES or TS so it should not be that hard. We are working to get</div>
<div>everything integrated as it is in the other solvers.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div></div>Thanks,<br>Justin<br></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <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
</div></div>