Lines Matching refs:pforest
358 static PetscErrorCode DMConvert_plex_pforest(DM dm, DMType newtype, DM *pforest) in DMConvert_plex_pforest() argument
372 PetscCall(DMCreate(comm, pforest)); in DMConvert_plex_pforest()
373 PetscCall(DMSetType(*pforest, DMPFOREST)); in DMConvert_plex_pforest()
374 PetscCall(DMForestSetBaseDM(*pforest, dm)); in DMConvert_plex_pforest()
376 PetscCall(DMSetApplicationContext(*pforest, ctx)); in DMConvert_plex_pforest()
377 PetscCall(DMCopyDisc(dm, *pforest)); in DMConvert_plex_pforest()
385 DM_Forest_pforest *pforest = (DM_Forest_pforest *)forest->data; in DMForestDestroy_pforest() local
389 if (pforest->lnodes) PetscCallP4est(p4est_lnodes_destroy, (pforest->lnodes)); in DMForestDestroy_pforest()
390 pforest->lnodes = NULL; in DMForestDestroy_pforest()
391 if (pforest->ghost) PetscCallP4est(p4est_ghost_destroy, (pforest->ghost)); in DMForestDestroy_pforest()
392 pforest->ghost = NULL; in DMForestDestroy_pforest()
393 if (pforest->forest) PetscCallP4est(p4est_destroy, (pforest->forest)); in DMForestDestroy_pforest()
394 pforest->forest = NULL; in DMForestDestroy_pforest()
395 PetscCall(DMFTopologyDestroy_pforest(&pforest->topo)); in DMForestDestroy_pforest()
396 PetscCall(PetscFree(pforest->ghostName)); in DMForestDestroy_pforest()
397 PetscCall(DMDestroy(&pforest->plex)); in DMForestDestroy_pforest()
398 PetscCall(PetscSFDestroy(&pforest->pointAdaptToSelfSF)); in DMForestDestroy_pforest()
399 PetscCall(PetscSFDestroy(&pforest->pointSelfToAdaptSF)); in DMForestDestroy_pforest()
400 PetscCall(PetscFree(pforest->pointAdaptToSelfCids)); in DMForestDestroy_pforest()
401 PetscCall(PetscFree(pforest->pointSelfToAdaptCids)); in DMForestDestroy_pforest()
409 DM_Forest_pforest *pforest = (DM_Forest_pforest *)((DM_Forest *)dm->data)->data; in DMForestTemplate_pforest() local
413 if (pforest->topo) pforest->topo->refct++; in DMForestTemplate_pforest()
415 tpforest->topo = pforest->topo; in DMForestTemplate_pforest()
592 DM_Forest_pforest *pforest = (DM_Forest_pforest *)forest->data; in DMPforestGetRefinementLevel() local
597 …PetscCheck(pforest, PetscObjectComm((PetscObject)dm), PETSC_ERR_PLIB, "Missing DM_Forest_pforest"); in DMPforestGetRefinementLevel()
598 PetscCheck(pforest->forest, PetscObjectComm((PetscObject)dm), PETSC_ERR_PLIB, "Missing p4est_t"); in DMPforestGetRefinementLevel()
599 p4est = pforest->forest; in DMPforestGetRefinementLevel()
706 DM_Forest_pforest *pforest = (DM_Forest_pforest *)forest->data; in DMSetUp_pforest() local
801 pforest->topo = topo; in DMSetUp_pforest()
809 PetscCall(DMFTopologyCreateBrick_pforest(dm,N,P,&pforest->topo,PETSC_FALSE)); in DMSetUp_pforest()
850 pforest->topo = topo; in DMSetUp_pforest()
868 …PetscCallP4estReturn(pforest->forest, p4est_copy, (apforest->forest, 0)); /* 0 indicates no data c… in DMSetUp_pforest()
878 pforest->forest->user_pointer = (void *)&ctx; in DMSetUp_pforest()
879 PetscCallP4est(p4est_coarsen, (pforest->forest, 0, pforest_coarsen_currlevel, NULL)); in DMSetUp_pforest()
880 pforest->forest->user_pointer = (void *)dm; in DMSetUp_pforest()
881 PetscCallP4est(p4est_balance, (pforest->forest, P4EST_CONNECT_FULL, NULL)); in DMSetUp_pforest()
883 …ll(DMPforestComputeLocalCellTransferSF(PetscObjectComm((PetscObject)dm), pforest->forest, 0, apfor… in DMSetUp_pforest()
886 pforest->forest->user_pointer = (void *)&ctx; in DMSetUp_pforest()
887 PetscCallP4est(p4est_coarsen, (pforest->forest, 0, pforest_coarsen_uniform, NULL)); in DMSetUp_pforest()
888 pforest->forest->user_pointer = (void *)dm; in DMSetUp_pforest()
889 PetscCallP4est(p4est_balance, (pforest->forest, P4EST_CONNECT_FULL, NULL)); in DMSetUp_pforest()
891 …ll(DMPforestComputeLocalCellTransferSF(PetscObjectComm((PetscObject)dm), pforest->forest, 0, apfor… in DMSetUp_pforest()
894 pforest->forest->user_pointer = (void *)&ctx; in DMSetUp_pforest()
895 PetscCallP4est(p4est_refine, (pforest->forest, 0, pforest_refine_uniform, NULL)); in DMSetUp_pforest()
896 pforest->forest->user_pointer = (void *)dm; in DMSetUp_pforest()
897 PetscCallP4est(p4est_balance, (pforest->forest, P4EST_CONNECT_FULL, NULL)); in DMSetUp_pforest()
899 …tscObjectComm((PetscObject)dm), apforest->forest, apforest->cLocalStart, pforest->forest, 0, &preC… in DMSetUp_pforest()
901 p4est_t *p4est = pforest->forest; in DMSetUp_pforest()
937 pforest->forest->user_pointer = (void *)&ctx; in DMSetUp_pforest()
938 …if (adaptAny) PetscCallP4est(p4est_coarsen, (pforest->forest, 0, pforest_coarsen_flag_any, pforest… in DMSetUp_pforest()
939 …else PetscCallP4est(p4est_coarsen, (pforest->forest, 0, pforest_coarsen_flag_all, pforest_init_det… in DMSetUp_pforest()
940 PetscCallP4est(p4est_refine, (pforest->forest, 0, pforest_refine_flag, NULL)); in DMSetUp_pforest()
941 pforest->forest->user_pointer = (void *)dm; in DMSetUp_pforest()
942 PetscCallP4est(p4est_balance, (pforest->forest, P4EST_CONNECT_FULL, NULL)); in DMSetUp_pforest()
943 …tscObjectComm((PetscObject)dm), apforest->forest, apforest->cLocalStart, pforest->forest, 0, &preC… in DMSetUp_pforest()
947 p4est_tree_t *tree = &(((p4est_tree_t *)pforest->forest->trees->array)[t]); in DMSetUp_pforest()
1005 PetscCallP4estReturn(pforest->forest, p4est_new_ext, in DMSetUp_pforest()
1006 … (comm, pforest->topo->conn, 0, /* minimum number of quadrants per processor */ in DMSetUp_pforest()
1013 if (initLevel > minLevel) pforest->coarsen_hierarchy = PETSC_TRUE; in DMSetUp_pforest()
1035 if (initLevel + ctx->maxLevel > minLevel) pforest->coarsen_hierarchy = PETSC_TRUE; in DMSetUp_pforest()
1066 pforest->forest->user_pointer = (void *)ctx; in DMSetUp_pforest()
1067 PetscCallP4est(p4est_refine, (pforest->forest, 1, ctx->refine_fn, NULL)); in DMSetUp_pforest()
1068 PetscCallP4est(p4est_balance, (pforest->forest, P4EST_CONNECT_FULL, NULL)); in DMSetUp_pforest()
1070 pforest->forest->user_pointer = (void *)dm; in DMSetUp_pforest()
1074 if (pforest->coarsen_hierarchy) { in DMSetUp_pforest()
1108 …if (size > 1 && (pforest->partition_for_coarsening || forest->cellWeights || forest->weightCapacit… in DMSetUp_pforest()
1114 if (copyForest) PetscCallP4estReturn(forest_copy, p4est_copy, (pforest->forest, 0)); in DMSetUp_pforest()
1117 …PetscCallP4estReturn(shipped, p4est_partition_ext, (pforest->forest, (int)pforest->partition_for_c… in DMSetUp_pforest()
1125 p4est_gloidx_t postStart = pforest->forest->global_first_quadrant[rank]; in DMSetUp_pforest()
1126 p4est_gloidx_t postEnd = pforest->forest->global_first_quadrant[rank + 1]; in DMSetUp_pforest()
1131 …PetscCall(DMPforestComputeOverlappingRanks(size, rank, pforest->forest, forest_copy, &pStart, &pEn… in DMSetUp_pforest()
1132 PetscCall(PetscMalloc1((PetscInt)pforest->forest->local_num_quadrants, &repartRoots)); in DMSetUp_pforest()
1198 … PetscCallP4estReturn(pforest->ghost, p4est_ghost_new, (pforest->forest, P4EST_CONNECT_FULL)); in DMSetUp_pforest()
1199 …PetscCallP4estReturn(pforest->lnodes, p4est_lnodes_new, (pforest->forest, pforest->ghost, -P4EST_D… in DMSetUp_pforest()
1200 … PetscCallP4est(p4est_ghost_support_lnodes, (pforest->forest, pforest->lnodes, pforest->ghost)); in DMSetUp_pforest()
1201 …lap; i++) PetscCallP4est(p4est_ghost_expand_by_lnodes, (pforest->forest, pforest->lnodes, pforest-… in DMSetUp_pforest()
1203 cLocalStart = pforest->cLocalStart = pforest->ghost->proc_offsets[rank]; in DMSetUp_pforest()
1204 …cEnd = pforest->forest->local_num_quadrants + pforest->ghost->proc_o… in DMSetUp_pforest()
1314 …PetscCallMPI(MPIU_Allreduce(&ctx.anyChange, &pforest->adaptivitySuccess, 1, MPI_C_BOOL, MPI_LOR, P… in DMSetUp_pforest()
1323 DM_Forest_pforest *pforest; in DMForestGetAdaptivitySuccess_pforest() local
1327 pforest = (DM_Forest_pforest *)forest->data; in DMForestGetAdaptivitySuccess_pforest()
1328 *success = pforest->adaptivitySuccess; in DMForestGetAdaptivitySuccess_pforest()
1370 DM_Forest_pforest *pforest = (DM_Forest_pforest *)forest->data; in DMView_VTK_pforest() local
1384 geom = pforest->topo->geom; in DMView_VTK_pforest()
1389 …PetscCheck(pforest->forest, PetscObjectComm(odm), PETSC_ERR_ARG_WRONG, "DM has not been setup with… in DMView_VTK_pforest()
1398 …if (!pforest->topo->geom) PetscCallP4estReturn(geom, p4est_geometry_new_connectivity, (pforest->to… in DMView_VTK_pforest()
1403 PetscCallP4estReturn(pvtk, p4est_vtk_context_new, (pforest->forest, name)); in DMView_VTK_pforest()
1420 if (!pforest->topo->geom) PetscCallP4est(p4est_geometry_destroy, (geom)); in DMView_VTK_pforest()
2283 DM_Forest_pforest *pforest; in DMPforestGetCellSFNodes() local
2287 pforest = (DM_Forest_pforest *)forest->data; in DMPforestGetCellSFNodes()
2288 cStart = pforest->cLocalStart; in DMPforestGetCellSFNodes()
2289 cEnd = pforest->cLocalEnd; in DMPforestGetCellSFNodes()
3036 DM_Forest_pforest *pforest = (DM_Forest_pforest *)forest->data; in DMPforestLabelsInitialize() local
3044 p4est_topidx_t num_trees = pforest->topo->conn->num_trees; in DMPforestLabelsInitialize()
3047 pforest->labelsFinalized = PETSC_TRUE; in DMPforestLabelsInitialize()
3048 cLocalStart = pforest->cLocalStart; in DMPforestLabelsInitialize()
3049 cLocalEnd = pforest->cLocalEnd; in DMPforestLabelsInitialize()
3052 …if (pforest->ghostName) { /* insert a label to make the boundaries, with stratum values denoting w… in DMPforestLabelsInitialize()
3053 p4est_connectivity_t *conn = pforest->topo->conn; in DMPforestLabelsInitialize()
3054 p4est_t *p4est = pforest->forest; in DMPforestLabelsInitialize()
3057 p4est_topidx_t llt = pforest->forest->last_local_tree; in DMPforestLabelsInitialize()
3061 PetscCall(DMCreateLabel(plex, pforest->ghostName)); in DMPforestLabelsInitialize()
3062 PetscCall(DMGetLabel(plex, pforest->ghostName, &ghostLabel)); in DMPforestLabelsInitialize()
3155 p4est_quadrant_t *ghosts = (p4est_quadrant_t *)pforest->ghost->ghosts.array; in DMPforestLabelsInitialize()
3156 p4est_tree_t *trees = (p4est_tree_t *)pforest->forest->trees->array; in DMPforestLabelsInitialize()
3275 PetscInt f = pforest->topo->tree_face_to_uniq[P4EST_FACES * t + l]; in DMPforestLabelsInitialize()
3320 f = pforest->topo->tree_face_to_uniq[P4EST_FACES * t + f]; in DMPforestLabelsInitialize()
3328 PetscInt e = pforest->topo->conn->tree_to_edge[P8EST_EDGES * t + l]; in DMPforestLabelsInitialize()
3379 f = pforest->topo->tree_face_to_uniq[P4EST_FACES * t + f]; in DMPforestLabelsInitialize()
3438 e = pforest->topo->conn->tree_to_edge[P8EST_EDGES * t + e]; in DMPforestLabelsInitialize()
3450 PetscInt v = pforest->topo->conn->tree_to_corner[P4EST_CHILDREN * t + l]; in DMPforestLabelsInitialize()
3469 DM_Forest_pforest *pforest = (DM_Forest_pforest *)((DM_Forest *)dm->data)->data; in DMPforestLabelsFinalize() local
3473 if (pforest->labelsFinalized) PetscFunctionReturn(PETSC_SUCCESS); in DMPforestLabelsFinalize()
3474 pforest->labelsFinalized = PETSC_TRUE; in DMPforestLabelsFinalize()
3585 pforest->labelsFinalized = PETSC_TRUE; in DMPforestLabelsFinalize()
3700 DM_Forest_pforest *pforest; in DMPforestMapCoordinates() local
3712 pforest = (DM_Forest_pforest *)forest->data; in DMPforestMapCoordinates()
3713 geom = pforest->topo->geom; in DMPforestMapCoordinates()
3718 cLocalStart = pforest->cLocalStart; in DMPforestMapCoordinates()
3719 cLocalEnd = pforest->cLocalEnd; in DMPforestMapCoordinates()
3720 flt = pforest->forest->first_local_tree; in DMPforestMapCoordinates()
3721 llt = pforest->forest->last_local_tree; in DMPforestMapCoordinates()
3722 trees = (p4est_tree_t *)pforest->forest->trees->array; in DMPforestMapCoordinates()
3756 p4est_quadrant_t *ghosts = (p4est_quadrant_t *)pforest->ghost->ghosts.array; in DMPforestMapCoordinates()
3770 p4est_quadrant_t *ghosts = (p4est_quadrant_t *)pforest->ghost->ghosts.array; in DMPforestMapCoordinates()
3793 p4est_quadrant_t *ghosts = (p4est_quadrant_t *)pforest->ghost->ghosts.array; in DMPforestMapCoordinates()
3800 … PetscCall(DMPforestMapCoordinates_Cell(plex, geom, count, quad, t, pforest->topo->conn, coords)); in DMPforestMapCoordinates()
3812 …PetscCall(DMPforestMapCoordinates_Cell(plex, geom, count, &quads[i], t, pforest->topo->conn, coord… in DMPforestMapCoordinates()
3816 p4est_quadrant_t *ghosts = (p4est_quadrant_t *)pforest->ghost->ghosts.array; in DMPforestMapCoordinates()
3817 PetscInt numGhosts = (PetscInt)pforest->ghost->ghosts.elem_count; in DMPforestMapCoordinates()
3824 …PetscCall(DMPforestMapCoordinates_Cell(plex, geom, count + cLocalEnd, quad, t, pforest->topo->conn… in DMPforestMapCoordinates()
3850 …heckLocalizeCell(DM plex, PetscInt cDim, Vec cVecOld, DM_Forest_pforest *pforest, PetscSection old… in PforestCheckLocalizeCell() argument
3882 …PetscCallP4est(p4est_qcoord_to_vertex, (pforest->forest->connectivity, coarsePoint, quad_coords[0]… in PforestCheckLocalizeCell()
3884 …PetscCallP4est(p4est_qcoord_to_vertex, (pforest->forest->connectivity, coarsePoint, quad_coords[0]… in PforestCheckLocalizeCell()
3905 static PetscErrorCode PforestLocalizeCell(DM plex, PetscInt cDim, DM_Forest_pforest *pforest, Petsc… in PforestLocalizeCell() argument
3927 …PetscCallP4est(p4est_qcoord_to_vertex, (pforest->forest->connectivity, coarsePoint, quad_coords[0]… in PforestLocalizeCell()
3929 …PetscCallP4est(p4est_qcoord_to_vertex, (pforest->forest->connectivity, coarsePoint, quad_coords[0]… in PforestLocalizeCell()
3940 DM_Forest_pforest *pforest; in DMPforestLocalizeCoordinates() local
3973 pforest = (DM_Forest_pforest *)forest->data; in DMPforestLocalizeCoordinates()
3974 cLocalStart = pforest->cLocalStart; in DMPforestLocalizeCoordinates()
3975 cLocalEnd = pforest->cLocalEnd; in DMPforestLocalizeCoordinates()
3976 flt = pforest->forest->first_local_tree; in DMPforestLocalizeCoordinates()
3977 llt = pforest->forest->last_local_tree; in DMPforestLocalizeCoordinates()
3978 trees = (p4est_tree_t *)pforest->forest->trees->array; in DMPforestLocalizeCoordinates()
3985 p4est_quadrant_t *ghosts = (p4est_quadrant_t *)pforest->ghost->ghosts.array; in DMPforestLocalizeCoordinates()
3992 …PetscCall(PforestCheckLocalizeCell(plex, cDim, cVecOld, pforest, oldSection, newSection, cell, coa… in DMPforestLocalizeCoordinates()
4008 …PetscCall(PforestCheckLocalizeCell(plex, cDim, cVecOld, pforest, oldSection, newSection, cell, coa… in DMPforestLocalizeCoordinates()
4012 p4est_quadrant_t *ghosts = (p4est_quadrant_t *)pforest->ghost->ghosts.array; in DMPforestLocalizeCoordinates()
4013 PetscInt numGhosts = (PetscInt)pforest->ghost->ghosts.elem_count; in DMPforestLocalizeCoordinates()
4021 …PetscCall(PforestCheckLocalizeCell(plex, cDim, cVecOld, pforest, oldSection, newSection, cell, coa… in DMPforestLocalizeCoordinates()
4044 p4est_quadrant_t *ghosts = (p4est_quadrant_t *)pforest->ghost->ghosts.array; in DMPforestLocalizeCoordinates()
4051 … PetscCall(PforestLocalizeCell(plex, cDim, pforest, newSection, cell, coarsePoint, quad, coords2)); in DMPforestLocalizeCoordinates()
4067 … PetscCall(PforestLocalizeCell(plex, cDim, pforest, newSection, cell, coarsePoint, quad, coords2)); in DMPforestLocalizeCoordinates()
4071 p4est_quadrant_t *ghosts = (p4est_quadrant_t *)pforest->ghost->ghosts.array; in DMPforestLocalizeCoordinates()
4072 PetscInt numGhosts = (PetscInt)pforest->ghost->ghosts.elem_count; in DMPforestLocalizeCoordinates()
4080 … PetscCall(PforestLocalizeCell(plex, cDim, pforest, newSection, cell, coarsePoint, quad, coords2)); in DMPforestLocalizeCoordinates()
4094 DM_Forest_pforest *pforest; in DMForestClearAdaptivityForest_pforest() local
4098 pforest = (DM_Forest_pforest *)forest->data; in DMForestClearAdaptivityForest_pforest()
4099 PetscCall(PetscSFDestroy(&pforest->pointAdaptToSelfSF)); in DMForestClearAdaptivityForest_pforest()
4100 PetscCall(PetscSFDestroy(&pforest->pointSelfToAdaptSF)); in DMForestClearAdaptivityForest_pforest()
4101 PetscCall(PetscFree(pforest->pointAdaptToSelfCids)); in DMForestClearAdaptivityForest_pforest()
4102 PetscCall(PetscFree(pforest->pointSelfToAdaptCids)); in DMForestClearAdaptivityForest_pforest()
4109 DM_Forest_pforest *pforest; in DMConvert_pforest_plex() local
4134 pforest = (DM_Forest_pforest *)forest->data; in DMConvert_pforest_plex()
4137 if (!pforest->plex) { in DMConvert_pforest_plex()
4178 …PetscCallP4est(p4est_get_plex_data_ext, (pforest->forest, &pforest->ghost, &pforest->lnodes, ctype… in DMConvert_pforest_plex()
4180 pforest->cLocalStart = (PetscInt)first_local_quad; in DMConvert_pforest_plex()
4181 pforest->cLocalEnd = pforest->cLocalStart + (PetscInt)pforest->forest->local_num_quadrants; in DMConvert_pforest_plex()
4267 pforest->plex = newPlex; in DMConvert_pforest_plex()
4272 …if (ghostLabelBase || pforest->ghostName) { /* we have to do this after copying labels because the… in DMConvert_pforest_plex()
4277 PetscCall(DMPlexConstructGhostCells(newPlex, pforest->ghostName, &numAdded, &newPlexGhosted)); in DMConvert_pforest_plex()
4291 pforest->plex = newPlex; in DMConvert_pforest_plex()
4334 …PetscCall(DMCopyLabels(dm, pforest->plex, PETSC_OWN_POINTER, PETSC_FALSE, DM_COPY_LABELS_REPLACE)); in DMConvert_pforest_plex()
4336 newPlex = pforest->plex; in DMConvert_pforest_plex()
4352 DM_Forest_pforest *pforest = (DM_Forest_pforest *)((DM_Forest *)dm->data)->data; in DMSetFromOptions_pforest() local
4359 …w for coarsening", "DMP4estSetPartitionForCoarsening", pforest->partition_for_coarsening, &pforest… in DMSetFromOptions_pforest()
4363 PetscCall(PetscFree(pforest->ghostName)); in DMSetFromOptions_pforest()
4364 PetscCall(PetscStrallocpy(stringBuffer, &pforest->ghostName)); in DMSetFromOptions_pforest()
4379 DM_Forest_pforest *pforest; in DMPforestGetPartitionForCoarsening() local
4383 pforest = (DM_Forest_pforest *)((DM_Forest *)dm->data)->data; in DMPforestGetPartitionForCoarsening()
4384 *flg = pforest->partition_for_coarsening; in DMPforestGetPartitionForCoarsening()
4390 DM_Forest_pforest *pforest; in DMPforestSetPartitionForCoarsening() local
4394 pforest = (DM_Forest_pforest *)((DM_Forest *)dm->data)->data; in DMPforestSetPartitionForCoarsening()
4395 pforest->partition_for_coarsening = flg; in DMPforestSetPartitionForCoarsening()
4401 DM_Forest_pforest *pforest; in DMPforestGetPlex() local
4406 pforest = (DM_Forest_pforest *)((DM_Forest *)dm->data)->data; in DMPforestGetPlex()
4407 if (!pforest->plex) PetscCall(DMConvert_pforest_plex(dm, DMPLEX, NULL)); in DMPforestGetPlex()
4408 PetscCall(DMShareDiscretization(dm, pforest->plex)); in DMPforestGetPlex()
4409 if (plex) *plex = pforest->plex; in DMPforestGetPlex()
5011 DM_Forest_pforest *pforest; in DMForestCreateCellChart_pforest() local
5017 pforest = (DM_Forest_pforest *)forest->data; in DMForestCreateCellChart_pforest()
5020 if (overlap && pforest->ghost) { in DMForestCreateCellChart_pforest()
5021 …*cEnd = pforest->forest->local_num_quadrants + pforest->ghost->proc_offsets[pforest->forest->mpisi… in DMForestCreateCellChart_pforest()
5023 *cEnd = pforest->forest->local_num_quadrants; in DMForestCreateCellChart_pforest()
5032 DM_Forest_pforest *pforest; in DMForestCreateCellSF_pforest() local
5043 pforest = (DM_Forest_pforest *)forest->data; in DMForestCreateCellSF_pforest()
5045 cLocalStart = pforest->cLocalStart; in DMForestCreateCellSF_pforest()
5046 cLocalEnd = pforest->cLocalEnd; in DMForestCreateCellSF_pforest()
5050 if (overlap && pforest->ghost) { in DMForestCreateCellSF_pforest()
5056 nMirror = (PetscInt)pforest->ghost->mirrors.elem_count; in DMForestCreateCellSF_pforest()
5059 nGhostPre = (PetscInt)pforest->ghost->proc_offsets[rank]; in DMForestCreateCellSF_pforest()
5063 mirror_array = (p4est_quadrant_t *)pforest->ghost->mirrors.array; in DMForestCreateCellSF_pforest()
5071 …PetscCallP4est(p4est_ghost_exchange_custom, (pforest->forest, pforest->ghost, sizeof(PetscSFNode),… in DMForestCreateCellSF_pforest()
5159 DM_Forest_pforest *pforest; in DMCreate_pforest() local
5177 PetscCall(PetscNew(&pforest)); in DMCreate_pforest()
5180 forest->data = pforest; in DMCreate_pforest()
5189 pforest->topo = NULL; in DMCreate_pforest()
5190 pforest->forest = NULL; in DMCreate_pforest()
5191 pforest->ghost = NULL; in DMCreate_pforest()
5192 pforest->lnodes = NULL; in DMCreate_pforest()
5193 pforest->partition_for_coarsening = PETSC_TRUE; in DMCreate_pforest()
5194 pforest->coarsen_hierarchy = PETSC_FALSE; in DMCreate_pforest()
5195 pforest->cLocalStart = -1; in DMCreate_pforest()
5196 pforest->cLocalEnd = -1; in DMCreate_pforest()
5197 pforest->labelsFinalized = PETSC_FALSE; in DMCreate_pforest()
5198 pforest->ghostName = NULL; in DMCreate_pforest()