Hi, All, Thanks for your comments.
On 17 April 2013 23:35, Barry Smith <bsmith at mcs.anl.gov> wrote: > > It is our intention that PETSc be easy enough for anyone to install > that rather than making your application work with different versions one > simply install the PETSc version one needs. In addition we recommend > updating applications to work with the latest release within a couple of > months after each release. > I understand that. With rapid development it is unavoidable to break API occasionally. I managed to compile and run the code with the quick hack below and somewhat more. Thanks, Kirk! Need yet to find out why the tests fail. Do I understand it correctly that there is no way currently to load a distributed Vec from the file without knowing and setting its dimensions first? Like I was doing here: +# if PETSC_VERSION < 30200 VecLoad (viewer, VECMPI, &vec); /* creates it */ +#else + /* FIXME: how to make it distributed? */ + VecCreate (PETSC_COMM_WORLD, &vec); + VecLoad (vec, viewer); +#endif BTW, I found myself calling (DM)DAGetInfo() on the array descriptor DM/DA quite often to get the shape of the 3d grid. I noticed that now that the signature of the *GetInfo() changed. Is there an official way to get that shape info by enquiring the Vec itself? Alexei -#include "petscda.h" /* Vec, Mat, DA, ... */ +#include "petscdmda.h" /* Vec, Mat, DA, ... */ #include "petscdmmg.h" /* KSP, ... */ +#define PETSC_VERSION (PETSC_VERSION_MAJOR * 10000 + PETSC_VERSION_MINOR * 100) + +/* FIXME: PETSC 3.2 */ +#if PETSC_VERSION >= 30200 +typedef DM DA; +typedef PetscBool PetscTruth; +# define VecDestroy(x) (VecDestroy)(&(x)) +# define VecScatterDestroy(x) (VecScatterDestroy)(&(x)) +# define MatDestroy(x) (MatDestroy)(&(x)) +# define ISDestroy(x) (ISDestroy)(&(x)) +# define KSPDestroy(x) (KSPDestroy)(&(x)) +# define SNESDestroy(x) (SNESDestroy)(&(x)) +# define PetscViewerDestroy(x) (PetscViewerDestroy)(&(x)) +# define PCDestroy(x) (PCDestroy)(&(x)) +# define DADestroy(x) (DMDestroy)(&(x)) +# define DAGetCorners DMDAGetCorners +# define DACreate3d DMDACreate3d +# define DACreateGlobalVector DMCreateGlobalVector +# define DAGetGlobalVector DMGetGlobalVector +# define DAGetInfo DMDAGetInfo +# define DAGetMatrix DMGetMatrix +# define DARestoreGlobalVector DMRestoreGlobalVector +# define DAVecGetArray DMDAVecGetArray +# define DAVecRestoreArray DMDAVecRestoreArray +# define VecLoadIntoVector(viewer, vec) VecLoad (vec, viewer) +# define DA_STENCIL_STAR DMDA_STENCIL_STAR +# define DA_XYZPERIODIC DMDA_XYZPERIODIC +#endif -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130418/0448229b/attachment.html>
