So... I've been working with the NonlinearImplicit system... solving jacobian free problems using Petsc SNES. Everything is going pretty well (Ben's interface is great!)... but I've hit a bit of a snag on the boundary conditions. I would really like to impose both Dirichlet and Neumann conditions similarly... by integrating their residual contributions over the boundary. So for instance for a Dirichlet condition I have something like this:
Intg_boundary( u - BC ) and similarly for Neumann: Intg_boundary( grad_u - BC ) The trouble that I'm running into is that these residual contributions seem to be too small... and are only very loosely satisfied by SNES. For instance, solving u''=0 on [0,1]x[0,1] with u=0 at x=0 and u=1 at x=1... I end up with u actually being .3333 at x=0 and .6666 at x=1. Of course I can dial down the residual tolerances for snes... but this only gets me so much closer. The other thing I've tried is to put a multiplier in front of the boundary integral (like 1e7 or so)... this ends up working well for satisfying the boundary conditions... but then the interior residuals are swamped out... meaning they aren't well resolved. So, I'm wondering if anyone has any better ideas? Is there a good way to choose the correct multiplier? Am I going about the whole thing incorrectly? Thanks for any help... Derek ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
