On Wed, 23 Jul 2008, Andrea Hawkins wrote:

> I am wondering though if it will work to just change the signature of
> the jacobian function because when Petsc calls it, it needs the
> current signature. (at least, that's how i understand it...)

Petsc needs the current signature of __libmesh_petsc_snes_residual and
the other global functions we define in petsc_nonlinear_solver.C, but
we're free to change around the signatures of the user-specified
functions they call.  We've even got a little leeway with the
__libmesh_petsc_ functions, since we could decide to use the catch-all
"void *ctx" in a different way.

The trouble with changing around PetscNonlinearSolver::jacobian and
the like isn't compatibility with PETSc code, it's compatibility with
user code.  I warned you before that we'd eventually have to change
the DiffSystem assembly APIs to work better with threading; now it
turns out we're going to have to change the non-DiffSystem nonlinear
solver assembly APIs too?  I think both changes are worth the
annoyance, but (along with Mesh/MeshBase, prefixes in asserts and
Makefile constants, etc.) it feels like we're accumulating too many
little API changes for our next release.  People using 0.6.2 may be
upset at all the little thing they'll have to fiddle with to move to
0.6.9.
---
Roy

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to