That option dates from the time I was trying to use DA to do structured finite elements. I have since given up on this, and use a CartesianMesh which has more support for this. Of course, eventually they should merge.
Matt On Wed, Mar 24, 2010 at 4:56 PM, Jed Brown <jed at 59a2.org> wrote: > I know this was an absolutely horrendous API, but this patch completely > removed the option which makes ex48 fail (and certainly some user code). > Releaes-3.1 either needs to get a proper API for this, or the option > needs to remain available. DMMGFormFunctionGhost is currently > unreachable. > > (I'll add some ex48 tests to get them run in the nightlies, I should > have done this long ago.) > > Jed > > > changeset: 15513:e8e19296a5dc > parent: 15511:2cefbdbb44a8 > user: Barry Smith bsmith at mcs.anl.gov > date: Wed Mar 24 16:39:07 2010 -0500 > files: src/snes/utils/damg.c src/snes/utils/damgsnes.c > description: > fixed bug in DMMGCreate() that it ALWAYS used ghosted coloring even when it > would not work. > > > diff --git a/src/snes/utils/damg.c b/src/snes/utils/damg.c > --- a/src/snes/utils/damg.c > +++ b/src/snes/utils/damg.c > @@ -65,7 +65,7 @@ > p[i]->user = user; > p[i]->updatejacobianperiod = 1; > p[i]->updatejacobian = PETSC_TRUE; > - p[i]->isctype = IS_COLORING_GHOSTED; /* default to faster version, > requires DMMGSetSNESLocal() */ > + p[i]->isctype = IS_COLORING_GLOBAL; > ierr = PetscStrallocpy(MATAIJ,&p[i]->mtype);CHKERRQ(ierr); > } > *dmmg = p; > diff --git a/src/snes/utils/damgsnes.c b/src/snes/utils/damgsnes.c > --- a/src/snes/utils/damgsnes.c > +++ b/src/snes/utils/damgsnes.c > @@ -942,16 +942,9 @@ > CHKMEMQ; > ierr = PetscObjectGetCookie((PetscObject) > dmmg[0]->dm,&cookie);CHKERRQ(ierr); > if (cookie == DM_COOKIE) { > - PetscTruth flag = PETSC_FALSE; > - /* it makes no sense to use an option to decide on ghost, it depends > on whether the > - formfunctionlocal computes ghost values in F or not. */ > - ierr = PetscOptionsGetTruth(PETSC_NULL, "-dmmg_form_function_ghost", > &flag,PETSC_NULL);CHKERRQ(ierr); > - if (flag) { > - ierr = > DMMGSetSNES(dmmg,DMMGFormFunctionGhost,computejacobian);CHKERRQ(ierr); > - } else { > - ierr = > DMMGSetSNES(dmmg,DMMGFormFunction,computejacobian);CHKERRQ(ierr); > - } > + ierr = > DMMGSetSNES(dmmg,DMMGFormFunction,computejacobian);CHKERRQ(ierr); > for (i=0; i<nlevels; i++) { > + dmmg[i]->isctype = IS_COLORING_GHOSTED; /* switch to faster > version since have local function evaluation */ > ierr = DASetLocalFunction((DA)dmmg[i]->dm,function);CHKERRQ(ierr); > dmmg[i]->lfj = (PetscErrorCode (*)(void))function; > ierr = DASetLocalJacobian((DA)dmmg[i]->dm,jacobian);CHKERRQ(ierr); > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20100324/205c1b65/attachment.html>