DMCopyDMSNES() is documented http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/DMCopyDMSNES.html but it is defined in the private header snesimpl.h. Shouldn't it be in the public header petscsnes.h? Jose