Lines Matching refs:da
3 static PetscErrorCode DMSetFromOptions_DA(DM da, PetscOptionItems PetscOptionsObject) in DMSetFromOptions_DA() argument
5 DM_DA *dd = (DM_DA *)da->data; in DMSetFromOptions_DA()
6 PetscInt refine = 0, dim = da->dim, maxnlevels = 100, refx[100], refy[100], refz[100], n, i; in DMSetFromOptions_DA()
11 …PetscCheck(!da->setupcalled, PetscObjectComm((PetscObject)da), PETSC_ERR_ARG_WRONGSTATE, "Cannot c… in DMSetFromOptions_DA()
12 …PetscCheck(dd->M >= 0, PetscObjectComm((PetscObject)da), PETSC_ERR_ARG_OUTOFRANGE, "Dimension must… in DMSetFromOptions_DA()
13 …PetscCheck(dd->N >= 0, PetscObjectComm((PetscObject)da), PETSC_ERR_ARG_OUTOFRANGE, "Dimension must… in DMSetFromOptions_DA()
14 …PetscCheck(dd->P >= 0, PetscObjectComm((PetscObject)da), PETSC_ERR_ARG_OUTOFRANGE, "Dimension must… in DMSetFromOptions_DA()
22 if (flg) PetscCall(DMDASetOverlap(da, dd->xol, dd->xol, dd->xol)); in DMSetFromOptions_DA()
28 if (flg) PetscCall(DMDASetNumLocalSubDomains(da, dd->Nsub)); in DMSetFromOptions_DA()
39 if (flg) PetscCall(DMDASetBoundaryType(da, bt, bt, bt)); in DMSetFromOptions_DA()
49 PetscCall(DMDAGetRefinementFactor(da, &refx[0], &refy[0], &refz[0])); in DMSetFromOptions_DA()
106 da->levelup++; in DMSetFromOptions_DA()
107 if (da->levelup - da->leveldown >= 0) { in DMSetFromOptions_DA()
108 dd->refine_x = refx[da->levelup - da->leveldown]; in DMSetFromOptions_DA()
109 dd->refine_y = refy[da->levelup - da->leveldown]; in DMSetFromOptions_DA()
110 dd->refine_z = refz[da->levelup - da->leveldown]; in DMSetFromOptions_DA()
112 if (da->levelup - da->leveldown >= 1) { in DMSetFromOptions_DA()
113 dd->coarsen_x = refx[da->levelup - da->leveldown - 1]; in DMSetFromOptions_DA()
114 dd->coarsen_y = refy[da->levelup - da->leveldown - 1]; in DMSetFromOptions_DA()
115 dd->coarsen_z = refz[da->levelup - da->leveldown - 1]; in DMSetFromOptions_DA()
121 static PetscErrorCode DMLoad_DA(DM da, PetscViewer viewer) in DMLoad_DA() argument
142 PetscCall(DMSetDimension(da, dim)); in DMLoad_DA()
143 PetscCall(DMDASetSizes(da, m, n, p)); in DMLoad_DA()
144 PetscCall(DMDASetBoundaryType(da, bx, by, bz)); in DMLoad_DA()
145 PetscCall(DMDASetDof(da, dof)); in DMLoad_DA()
146 PetscCall(DMDASetStencilType(da, stencil)); in DMLoad_DA()
147 PetscCall(DMDASetStencilWidth(da, swidth)); in DMLoad_DA()
148 PetscCall(DMSetUp(da)); in DMLoad_DA()
151 PetscCall(DMGetCoordinateDM(da, &dac)); in DMLoad_DA()
154 PetscCall(DMSetCoordinates(da, c)); in DMLoad_DA()
162 DM_DA *da = (DM_DA *)dm->data; in DMCreateSubDM_DA() local
186 PetscCall(DMDASetSizes(*subdm, da->M, da->N, da->P)); in DMCreateSubDM_DA()
187 PetscCall(DMDASetNumProcs(*subdm, da->m, da->n, da->p)); in DMCreateSubDM_DA()
188 PetscCall(DMDASetBoundaryType(*subdm, da->bx, da->by, da->bz)); in DMCreateSubDM_DA()
190 PetscCall(DMDASetStencilType(*subdm, da->stencil_type)); in DMCreateSubDM_DA()
191 PetscCall(DMDASetStencilWidth(*subdm, da->s)); in DMCreateSubDM_DA()
192 PetscCall(DMDASetOwnershipRanges(*subdm, da->lx, da->ly, da->lz)); in DMCreateSubDM_DA()
195 PetscInt *indices, cnt = 0, dof = da->w, i, j; in DMCreateSubDM_DA()
197 PetscCall(PetscMalloc1(da->Nlocal * numFields / dof, &indices)); in DMCreateSubDM_DA()
198 for (i = da->base / dof; i < (da->base + da->Nlocal) / dof; ++i) { in DMCreateSubDM_DA()
201 …t == da->Nlocal * numFields / dof, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Count %" PetscInt_FMT " does … in DMCreateSubDM_DA()
232 DM da; in DMCreateFieldDecomposition_DA() local
234 PetscCall(DMDACreate(PetscObjectComm((PetscObject)dm), &da)); in DMCreateFieldDecomposition_DA()
235 PetscCall(DMSetDimension(da, dm->dim)); in DMCreateFieldDecomposition_DA()
236 PetscCall(DMDASetSizes(da, dd->M, dd->N, dd->P)); in DMCreateFieldDecomposition_DA()
237 PetscCall(DMDASetNumProcs(da, dd->m, dd->n, dd->p)); in DMCreateFieldDecomposition_DA()
238 PetscCall(DMDASetBoundaryType(da, dd->bx, dd->by, dd->bz)); in DMCreateFieldDecomposition_DA()
239 PetscCall(DMDASetDof(da, 1)); in DMCreateFieldDecomposition_DA()
240 PetscCall(DMDASetStencilType(da, dd->stencil_type)); in DMCreateFieldDecomposition_DA()
241 PetscCall(DMDASetStencilWidth(da, dd->s)); in DMCreateFieldDecomposition_DA()
242 PetscCall(DMSetUp(da)); in DMCreateFieldDecomposition_DA()
244 for (i = 0; i < dof - 1; i++) PetscCall(PetscObjectReference((PetscObject)da)); in DMCreateFieldDecomposition_DA()
245 for (i = 0; i < dof; i++) (*dmlist)[i] = da; in DMCreateFieldDecomposition_DA()
252 DM_DA *da = (DM_DA *)dm->data; in DMClone_DA() local
257 PetscCall(DMDASetSizes(*newdm, da->M, da->N, da->P)); in DMClone_DA()
258 PetscCall(DMDASetNumProcs(*newdm, da->m, da->n, da->p)); in DMClone_DA()
259 PetscCall(DMDASetBoundaryType(*newdm, da->bx, da->by, da->bz)); in DMClone_DA()
260 PetscCall(DMDASetDof(*newdm, da->w)); in DMClone_DA()
261 PetscCall(DMDASetStencilType(*newdm, da->stencil_type)); in DMClone_DA()
262 PetscCall(DMDASetStencilWidth(*newdm, da->s)); in DMClone_DA()
263 PetscCall(DMDASetOwnershipRanges(*newdm, da->lx, da->ly, da->lz)); in DMClone_DA()
270 DM_DA *da = (DM_DA *)dm->data; in DMHasCreateInjection_DA() local
275 *flg = da->interptype == DMDA_Q1 ? PETSC_TRUE : PETSC_FALSE; in DMHasCreateInjection_DA()
333 PETSC_EXTERN PetscErrorCode DMCreate_DA(DM da) in DMCreate_DA() argument
338 PetscAssertPointer(da, 1); in DMCreate_DA()
340 da->data = dd; in DMCreate_DA()
342 da->dim = -1; in DMCreate_DA()
402 da->ops->globaltolocalbegin = DMGlobalToLocalBegin_DA; in DMCreate_DA()
403 da->ops->globaltolocalend = DMGlobalToLocalEnd_DA; in DMCreate_DA()
404 da->ops->localtoglobalbegin = DMLocalToGlobalBegin_DA; in DMCreate_DA()
405 da->ops->localtoglobalend = DMLocalToGlobalEnd_DA; in DMCreate_DA()
406 da->ops->localtolocalbegin = DMLocalToLocalBegin_DA; in DMCreate_DA()
407 da->ops->localtolocalend = DMLocalToLocalEnd_DA; in DMCreate_DA()
408 da->ops->createglobalvector = DMCreateGlobalVector_DA; in DMCreate_DA()
409 da->ops->createlocalvector = DMCreateLocalVector_DA; in DMCreate_DA()
410 da->ops->createinterpolation = DMCreateInterpolation_DA; in DMCreate_DA()
411 da->ops->getcoloring = DMCreateColoring_DA; in DMCreate_DA()
412 da->ops->creatematrix = DMCreateMatrix_DA; in DMCreate_DA()
413 da->ops->refine = DMRefine_DA; in DMCreate_DA()
414 da->ops->coarsen = DMCoarsen_DA; in DMCreate_DA()
415 da->ops->refinehierarchy = DMRefineHierarchy_DA; in DMCreate_DA()
416 da->ops->coarsenhierarchy = DMCoarsenHierarchy_DA; in DMCreate_DA()
417 da->ops->createinjection = DMCreateInjection_DA; in DMCreate_DA()
418 da->ops->hascreateinjection = DMHasCreateInjection_DA; in DMCreate_DA()
419 da->ops->destroy = DMDestroy_DA; in DMCreate_DA()
420 da->ops->view = NULL; in DMCreate_DA()
421 da->ops->setfromoptions = DMSetFromOptions_DA; in DMCreate_DA()
422 da->ops->setup = DMSetUp_DA; in DMCreate_DA()
423 da->ops->clone = DMClone_DA; in DMCreate_DA()
424 da->ops->load = DMLoad_DA; in DMCreate_DA()
425 da->ops->createcoordinatedm = DMCreateCoordinateDM_DA; in DMCreate_DA()
426 da->ops->createcellcoordinatedm = NULL; in DMCreate_DA()
427 da->ops->createsubdm = DMCreateSubDM_DA; in DMCreate_DA()
428 da->ops->createfielddecomposition = DMCreateFieldDecomposition_DA; in DMCreate_DA()
429 da->ops->createdomaindecomposition = DMCreateDomainDecomposition_DA; in DMCreate_DA()
430 da->ops->createddscatters = DMCreateDomainDecompositionScatters_DA; in DMCreate_DA()
431 da->ops->getdimpoints = DMGetDimPoints_DA; in DMCreate_DA()
432 da->ops->getneighbors = DMGetNeighbors_DA; in DMCreate_DA()
433 da->ops->getlocalboundingbox = DMGetLocalBoundingBox_DA; in DMCreate_DA()
434 da->ops->locatepoints = DMLocatePoints_DA_Regular; in DMCreate_DA()
435 da->ops->getcompatibility = DMGetCompatibility_DA; in DMCreate_DA()
436 …PetscCall(PetscObjectComposeFunction((PetscObject)da, "DMSetUpGLVisViewer_C", DMSetUpGLVisViewer_D… in DMCreate_DA()
460 PetscErrorCode DMDACreate(MPI_Comm comm, DM *da) in DMDACreate() argument
463 PetscAssertPointer(da, 2); in DMDACreate()
464 PetscCall(DMCreate(comm, da)); in DMDACreate()
465 PetscCall(DMSetType(*da, DMDA)); in DMDACreate()