147c6ae99SBarry Smith #define PETSCDM_DLL 247c6ae99SBarry Smith 347c6ae99SBarry Smith #include "private/daimpl.h" /*I "petscda.h" I*/ 447c6ae99SBarry Smith 5*d7bf68aeSBarry Smith extern PetscErrorCode PETSCDM_DLLEXPORT DASetUp_1D(DA); 6*d7bf68aeSBarry Smith extern PetscErrorCode PETSCDM_DLLEXPORT DASetUp_2D(DA); 7*d7bf68aeSBarry Smith extern PetscErrorCode PETSCDM_DLLEXPORT DASetUp_3D(DA); 847c6ae99SBarry Smith 947c6ae99SBarry Smith #undef __FUNCT__ 10*d7bf68aeSBarry Smith #define __FUNCT__ "DASetUp" 1147c6ae99SBarry Smith /*@C 12*d7bf68aeSBarry Smith DASetUp - Sets up the data structures for a DA 1347c6ae99SBarry Smith 1447c6ae99SBarry Smith Collective on DA 1547c6ae99SBarry Smith 1647c6ae99SBarry Smith Input Parameters: 17*d7bf68aeSBarry Smith . da - The DA object 1847c6ae99SBarry Smith 1947c6ae99SBarry Smith Level: intermediate 2047c6ae99SBarry Smith 2147c6ae99SBarry Smith .keywords: DA, set, type 22*d7bf68aeSBarry Smith .seealso: DACreate() 2347c6ae99SBarry Smith @*/ 24*d7bf68aeSBarry Smith PetscErrorCode PETSCDM_DLLEXPORT DASetUp(DA da) 2547c6ae99SBarry Smith { 2647c6ae99SBarry Smith PetscErrorCode ierr; 27*d7bf68aeSBarry Smith DM_DA *dd = (DM_DA*)da->data; 2847c6ae99SBarry Smith 2947c6ae99SBarry Smith PetscFunctionBegin; 3047c6ae99SBarry Smith PetscValidHeaderSpecific(da, DM_CLASSID,1); 31*d7bf68aeSBarry Smith if (dd->dim == 1) { 32*d7bf68aeSBarry Smith ierr = DASetUp_1D(da);CHKERRQ(ierr); 33*d7bf68aeSBarry Smith } else if (dd->dim == 2) { 34*d7bf68aeSBarry Smith ierr = DASetUp_2D(da);CHKERRQ(ierr); 35*d7bf68aeSBarry Smith } else if (dd->dim == 3) { 36*d7bf68aeSBarry Smith ierr = DASetUp_3D(da);CHKERRQ(ierr); 37*d7bf68aeSBarry Smith } else SETERRQ(((PetscObject)da)->comm,PETSC_ERR_SUP,"DAs only supported for 1, 2, and 3d"); 3847c6ae99SBarry Smith PetscFunctionReturn(0); 3947c6ae99SBarry Smith } 4047c6ae99SBarry Smith 41