[petsc-users] What are the differences between ex11.c and ex11_sa.c

leejearl leejearl at 126.com
Fri Nov 25 09:09:42 CST 2016


Hi, Matt:
     Thank you for your kind reply, and I can not make it.
I replace the code in the routine SetInitialCondition in ex11.c as

#undef __FUNCT__
#define __FUNCT__ "SetInitialCondition"
PetscErrorCode SetInitialCondition(DM dm, Vec X, User user)
{
   DM                 dmCell;
   Model              mod = user->model;
   Vec                cellgeom;
   const PetscScalar *cgeom;
   PetscScalar       *x;
   PetscInt           cStart, cEnd, cEndInterior, c;
   PetscErrorCode     ierr;

   PetscFunctionBeginUser;
   ierr = DMPlexGetHybridBounds(dm, &cEndInterior, NULL, NULL, 
NULL);CHKERRQ(ierr);
   ierr = DMPlexTSGetGeometryFVM(dm, NULL, &cellgeom, NULL);CHKERRQ(ierr);
   ierr = VecGetDM(cellgeom, &dmCell);CHKERRQ(ierr);
   ierr = DMPlexGetHeightStratum(dm, 0, &cStart, &cEnd);CHKERRQ(ierr);
   ierr = VecGetArrayRead(cellgeom, &cgeom);CHKERRQ(ierr);
   ierr = VecGetArray(X, &x);CHKERRQ(ierr);
   for (c = cStart; c < cEndInterior; ++c) {
     const PetscFVCellGeom *cg;
     PetscScalar    *xc;

     ierr = DMPlexPointLocalRead(dmCell,c,cgeom,&cg);CHKERRQ(ierr);
     ierr = DMPlexPointGlobalRef(dm,c,x,&xc);CHKERRQ(ierr);
     /*if (xc) {ierr = 
(*mod->solution)(mod,0.0,cg->centroid,xc,mod->solutionctx);CHKERRQ(ierr);}*/
     xc[0] = =1.0;
     xc[1] = =2.0;
     xc[2] = =3.0;
     xc[3] = =4.0;
   }
   ierr = VecRestoreArrayRead(cellgeom, &cgeom);CHKERRQ(ierr);
   ierr = VecRestoreArray(X, &x);CHKERRQ(ierr);
   PetscFunctionReturn(0);
}

I find it works in serial computation. Can you tell me whether I have a 
wrong use of the xc in the routine?

Thanks

leejearl

On 2016年11月25日 22:53, Matthew Knepley wrote:
> On Fri, Nov 25, 2016 at 8:43 AM, leejearl <leejearl at 126.com 
> <mailto:leejearl at 126.com>> wrote:
>
>     Hello, Petsc developer:
>
>         I find two files ex11.c and ex11_sa.c in the directory of
>     "/petsc/src/ts/examples/tutorials".
>
>     Can you tell me what are the differences between them? What is the
>     meaning of the “suffix”?
>
>
> I think Jed wanted his original version, but I don'y know what _sa means.
>
>   Thanks,
>
>     Matt
>
>        Thanks!
>
>     leejearl
>
>
>
>
>
>
> -- 
> 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-users/attachments/20161125/f69a9f09/attachment-0001.html>


More information about the petsc-users mailing list