Lines Matching refs:vmoab

63   Vec_MOAB      *vmoab;  in DMMoabGetVecTag()  local
70 PetscCall(PetscContainerGetPointer(moabdata, &vmoab)); in DMMoabGetVecTag()
72 *tag = vmoab->tag; in DMMoabGetVecTag()
92 Vec_MOAB *vmoab; in DMMoabGetVecRange() local
99 PetscCall(PetscContainerGetPointer(moabdata, &vmoab)); in DMMoabGetVecRange()
100 *range = *vmoab->tag_range; in DMMoabGetVecRange()
129 Vec_MOAB *vmoab, *xmoab; in DMMoabVecGetArray() local
139 PetscCall(PetscContainerGetPointer(moabdata, &vmoab)); in DMMoabVecGetArray()
144 if (vmoab->is_native_vec) { in DMMoabVecGetArray()
146 PetscCall(DMGetLocalVector(dm, &vmoab->local)); in DMMoabVecGetArray()
147 PetscCall(DMGlobalToLocalBegin(dm, vec, INSERT_VALUES, vmoab->local)); in DMMoabVecGetArray()
148 PetscCall(DMGlobalToLocalEnd(dm, vec, INSERT_VALUES, vmoab->local)); in DMMoabVecGetArray()
151 PetscCall(PetscObjectQuery((PetscObject)vmoab->local, "MOABData", (PetscObject *)&moabdata)); in DMMoabVecGetArray()
155 PetscCall(VecGhostGetLocalForm(vmoab->local, &xmoab->local)); in DMMoabVecGetArray()
156 PetscCall(VecGhostUpdateBegin(vmoab->local, INSERT_VALUES, SCATTER_FORWARD)); in DMMoabVecGetArray()
157 PetscCall(VecGhostUpdateEnd(vmoab->local, INSERT_VALUES, SCATTER_FORWARD)); in DMMoabVecGetArray()
209 Vec_MOAB *vmoab, *xmoab; in DMMoabVecRestoreArray() local
219 PetscCall(PetscContainerGetPointer(moabdata, &vmoab)); in DMMoabVecRestoreArray()
224 if (vmoab->is_native_vec) { in DMMoabVecRestoreArray()
226 PetscCall(PetscObjectQuery((PetscObject)vmoab->local, "MOABData", (PetscObject *)&moabdata)); in DMMoabVecRestoreArray()
231 PetscCall(VecGhostUpdateBegin(vmoab->local, ADD_VALUES, SCATTER_REVERSE)); in DMMoabVecRestoreArray()
232 PetscCall(VecGhostUpdateEnd(vmoab->local, ADD_VALUES, SCATTER_REVERSE)); in DMMoabVecRestoreArray()
233 PetscCall(VecGhostRestoreLocalForm(vmoab->local, &xmoab->local)); in DMMoabVecRestoreArray()
236 PetscCall(DMLocalToGlobalBegin(dm, vmoab->local, INSERT_VALUES, vec)); in DMMoabVecRestoreArray()
237 PetscCall(DMLocalToGlobalEnd(dm, vmoab->local, INSERT_VALUES, vec)); in DMMoabVecRestoreArray()
238 PetscCall(DMRestoreLocalVector(dm, &vmoab->local)); in DMMoabVecRestoreArray()
290 Vec_MOAB *vmoab, *xmoab; in DMMoabVecGetArrayRead() local
300 PetscCall(PetscContainerGetPointer(moabdata, &vmoab)); in DMMoabVecGetArrayRead()
305 if (vmoab->is_native_vec) { in DMMoabVecGetArrayRead()
307 PetscCall(DMGetLocalVector(dm, &vmoab->local)); in DMMoabVecGetArrayRead()
308 PetscCall(DMGlobalToLocalBegin(dm, vec, INSERT_VALUES, vmoab->local)); in DMMoabVecGetArrayRead()
309 PetscCall(DMGlobalToLocalEnd(dm, vec, INSERT_VALUES, vmoab->local)); in DMMoabVecGetArrayRead()
312 PetscCall(PetscObjectQuery((PetscObject)vmoab->local, "MOABData", (PetscObject *)&moabdata)); in DMMoabVecGetArrayRead()
316 PetscCall(VecGhostGetLocalForm(vmoab->local, &xmoab->local)); in DMMoabVecGetArrayRead()
317 PetscCall(VecGhostUpdateBegin(vmoab->local, INSERT_VALUES, SCATTER_FORWARD)); in DMMoabVecGetArrayRead()
318 PetscCall(VecGhostUpdateEnd(vmoab->local, INSERT_VALUES, SCATTER_FORWARD)); in DMMoabVecGetArrayRead()
363 Vec_MOAB *vmoab, *xmoab; in DMMoabVecRestoreArrayRead() local
372 PetscCall(PetscContainerGetPointer(moabdata, &vmoab)); in DMMoabVecRestoreArrayRead()
377 if (vmoab->is_native_vec) { in DMMoabVecRestoreArrayRead()
379 PetscCall(PetscObjectQuery((PetscObject)vmoab->local, "MOABData", (PetscObject *)&moabdata)); in DMMoabVecRestoreArrayRead()
384 PetscCall(VecGhostRestoreLocalForm(vmoab->local, &xmoab->local)); in DMMoabVecRestoreArrayRead()
387 PetscCall(DMRestoreLocalVector(dm, &vmoab->local)); in DMMoabVecRestoreArrayRead()
404 Vec_MOAB *vmoab; in DMCreateVector_Moab_Private() local
432 PetscCall(PetscNew(&vmoab)); in DMCreateVector_Moab_Private()
433 vmoab->is_native_vec = (gnative_vec > 0 ? PETSC_TRUE : PETSC_FALSE); in DMCreateVector_Moab_Private()
435 if (!vmoab->is_native_vec) { in DMCreateVector_Moab_Private()
465 vmoab->tag = tag; in DMCreateVector_Moab_Private()
466 vmoab->new_tag = is_newtag; in DMCreateVector_Moab_Private()
468 vmoab->mbiface = mbiface; in DMCreateVector_Moab_Private()
470 vmoab->pcomm = pcomm; in DMCreateVector_Moab_Private()
472 vmoab->is_global_vec = is_global_vec; in DMCreateVector_Moab_Private()
473 vmoab->tag_size = dmmoab->bs; in DMCreateVector_Moab_Private()
475 if (vmoab->is_native_vec) { in DMCreateVector_Moab_Private()
494 vmoab->tag_range = new moab::Range(*range); in DMCreateVector_Moab_Private()
513 …PetscCall(PetscObjectContainerCompose((PetscObject)*vec, "MOABData", vmoab, DMVecCtxDestroy_Moab)); in DMCreateVector_Moab_Private()
602 Vec_MOAB *vmoab; in DMVecDuplicate_Moab() local
610 PetscCall(PetscContainerGetPointer(moabdata, &vmoab)); in DMVecDuplicate_Moab()
615 …PetscCall(DMCreateVector_Moab_Private(dm, NULL, vmoab->tag_range, vmoab->is_global_vec, PETSC_TRUE… in DMVecDuplicate_Moab()
622 Vec_MOAB *vmoab = *(Vec_MOAB **)ctx; in DMVecCtxDestroy_Moab() local
626 if (vmoab->new_tag && vmoab->tag) { in DMVecCtxDestroy_Moab()
628 merr = vmoab->mbiface->tag_delete(vmoab->tag); in DMVecCtxDestroy_Moab()
631 delete vmoab->tag_range; in DMVecCtxDestroy_Moab()
632 vmoab->tag = NULL; in DMVecCtxDestroy_Moab()
633 vmoab->mbiface = NULL; in DMVecCtxDestroy_Moab()
635 vmoab->pcomm = NULL; in DMVecCtxDestroy_Moab()
637 PetscCall(PetscFree(vmoab)); in DMVecCtxDestroy_Moab()