Lines Matching refs:sw

117 PetscErrorCode DMSwarmVectorGetField(DM sw, PetscInt *Nf, const char **fieldnames[])  in DMSwarmVectorGetField()  argument
122 PetscValidHeaderSpecificType(sw, DM_CLASSID, 1, DMSWARM); in DMSwarmVectorGetField()
123 PetscCall(DMSwarmGetCellDMActive(sw, &celldm)); in DMSwarmVectorGetField()
176 PetscErrorCode DMSwarmVectorDefineFields(DM sw, PetscInt Nf, const char *fieldnames[]) in DMSwarmVectorDefineFields() argument
178 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmVectorDefineFields()
182 PetscValidHeaderSpecificType(sw, DM_CLASSID, 1, DMSWARM); in DMSwarmVectorDefineFields()
184 if (!swarm->issetup) PetscCall(DMSetUp(sw)); in DMSwarmVectorDefineFields()
185 …PetscCheck(Nf >= 0, PetscObjectComm((PetscObject)sw), PETSC_ERR_ARG_OUTOFRANGE, "Number of fields … in DMSwarmVectorDefineFields()
191 PetscCall(DMCreate(PetscObjectComm((PetscObject)sw), &dm)); in DMSwarmVectorDefineFields()
196 PetscCall(DMSwarmAddCellDM(sw, celldm)); in DMSwarmVectorDefineFields()
198 PetscCall(DMSwarmSetCellDMActive(sw, "dummy")); in DMSwarmVectorDefineFields()
200 PetscCall(DMSwarmGetCellDMActive(sw, &celldm)); in DMSwarmVectorDefineFields()
210 PetscCall(DMSwarmGetFieldInfo(sw, fieldnames[f], NULL, &type)); in DMSwarmVectorDefineFields()
211 …PetscCheck(type == PETSC_REAL, PetscObjectComm((PetscObject)sw), PETSC_ERR_SUP, "Only valid for PE… in DMSwarmVectorDefineFields()
218 static PetscErrorCode DMCreateGlobalVector_Swarm(DM sw, Vec *vec) in DMCreateGlobalVector_Swarm() argument
220 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMCreateGlobalVector_Swarm()
227 if (!swarm->issetup) PetscCall(DMSetUp(sw)); in DMCreateGlobalVector_Swarm()
228 PetscCall(DMSwarmGetCellDMActive(sw, &celldm)); in DMCreateGlobalVector_Swarm()
229 …PetscCheck(celldm->Nf, PetscObjectComm((PetscObject)sw), PETSC_ERR_USER, "Active cell DM does not … in DMCreateGlobalVector_Swarm()
237 PetscCall(DMSwarmGetFieldInfo(sw, celldm->dmFields[f], &fbs, NULL)); in DMCreateGlobalVector_Swarm()
240 PetscCall(VecCreate(PetscObjectComm((PetscObject)sw), &x)); in DMCreateGlobalVector_Swarm()
244 PetscCall(VecSetDM(x, sw)); in DMCreateGlobalVector_Swarm()
252 static PetscErrorCode DMCreateLocalVector_Swarm(DM sw, Vec *vec) in DMCreateLocalVector_Swarm() argument
254 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMCreateLocalVector_Swarm()
261 if (!swarm->issetup) PetscCall(DMSetUp(sw)); in DMCreateLocalVector_Swarm()
262 PetscCall(DMSwarmGetCellDMActive(sw, &celldm)); in DMCreateLocalVector_Swarm()
263 …PetscCheck(celldm->Nf, PetscObjectComm((PetscObject)sw), PETSC_ERR_USER, "Active cell DM does not … in DMCreateLocalVector_Swarm()
271 PetscCall(DMSwarmGetFieldInfo(sw, celldm->dmFields[f], &fbs, NULL)); in DMCreateLocalVector_Swarm()
278 PetscCall(VecSetDM(x, sw)); in DMCreateLocalVector_Swarm()
348 static PetscErrorCode DMSwarmDestroyVectorFromFields_Private(DM sw, PetscInt Nf, const char *fieldn… in DMSwarmDestroyVectorFromFields_Private() argument
350 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmDestroyVectorFromFields_Private()
364 …PetscCheck(cid == id, PetscObjectComm((PetscObject)sw), PETSC_ERR_USER, "Vector being destroyed wa… in DMSwarmDestroyVectorFromFields_Private()
368 …PetscCheck(n == swarm->db->L, PetscObjectComm((PetscObject)sw), PETSC_ERR_USER, "DMSwarm sizes hav… in DMSwarmDestroyVectorFromFields_Private()
375 PetscCall(DMSwarmGetField(sw, fieldnames[f], &fbs, &ftype, (void **)&farray)); in DMSwarmDestroyVectorFromFields_Private()
381 PetscCall(DMSwarmRestoreField(sw, fieldnames[f], &fbs, &ftype, (void **)&farray)); in DMSwarmDestroyVectorFromFields_Private()
388 static PetscErrorCode DMSwarmCreateVectorFromFields_Private(DM sw, PetscInt Nf, const char *fieldna… in DMSwarmCreateVectorFromFields_Private() argument
390 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmCreateVectorFromFields_Private()
396 if (!swarm->issetup) PetscCall(DMSetUp(sw)); in DMSwarmCreateVectorFromFields_Private()
402 PetscCall(DMSwarmGetFieldInfo(sw, fieldnames[f], &fbs, &ftype)); in DMSwarmCreateVectorFromFields_Private()
403 …PetscCheck(ftype == PETSC_REAL, PetscObjectComm((PetscObject)sw), PETSC_ERR_SUP, "Only valid for P… in DMSwarmCreateVectorFromFields_Private()
410 PetscCall(VecSetType(*vec, sw->vectype)); in DMSwarmCreateVectorFromFields_Private()
418 PetscCall(DMSwarmGetField(sw, fieldnames[f], &fbs, &ftype, (void **)&farray)); in DMSwarmCreateVectorFromFields_Private()
423 PetscCall(DMSwarmRestoreField(sw, fieldnames[f], &fbs, &ftype, (void **)&farray)); in DMSwarmCreateVectorFromFields_Private()
442 PetscCall(VecSetDM(*vec, sw)); in DMSwarmCreateVectorFromFields_Private()
642 static PetscErrorCode DMCreateMatrix_Swarm(DM sw, Mat *m) in DMCreateMatrix_Swarm() argument
648 PetscCall(DMGetGlobalVector(sw, &field)); in DMCreateMatrix_Swarm()
650 PetscCall(DMRestoreGlobalVector(sw, &field)); in DMCreateMatrix_Swarm()
659 PetscCall(MatSetDM(*m, sw)); in DMCreateMatrix_Swarm()
942 static PetscErrorCode DMSwarmComputeGradientMatrix_Private(DM sw, DM dm, Mat derv, PetscBool useDel… in DMSwarmComputeGradientMatrix_Private() argument
971 PetscCall(DMSwarmGetCellDMActive(sw, &celldm)); in DMSwarmComputeGradientMatrix_Private()
993 PetscCall(DMSwarmSortGetAccess(sw)); in DMSwarmComputeGradientMatrix_Private()
1004 PetscCall(DMSwarmSortGetPointsPerCell(sw, cell, &Npc, &pind)); in DMSwarmComputeGradientMatrix_Private()
1006 PetscCall(DMSwarmSortRestorePointsPerCell(sw, cell, &Npc, &pind)); in DMSwarmComputeGradientMatrix_Private()
1015 …for (PetscInt i = 0; i < Nfc; ++i) PetscCall(DMSwarmGetField(sw, coordFields[i], &bs[i], NULL, (vo… in DMSwarmComputeGradientMatrix_Private()
1023 PetscCall(DMSwarmSortGetPointsPerCell(sw, cell, &Npc, &pind)); in DMSwarmComputeGradientMatrix_Private()
1051 PetscCall(DMSwarmSortRestorePointsPerCell(sw, cell, &Npc, &pind)); in DMSwarmComputeGradientMatrix_Private()
1055 …for (PetscInt i = 0; i < Nfc; ++i) PetscCall(DMSwarmRestoreField(sw, coordFields[i], &bs[i], NULL,… in DMSwarmComputeGradientMatrix_Private()
1058 PetscCall(DMSwarmSortRestoreAccess(sw)); in DMSwarmComputeGradientMatrix_Private()
1069 static PetscErrorCode DMCreateGradientMatrix_Swarm(DM sw, DM dm, Mat *derv) in DMCreateGradientMatrix_Swarm() argument
1078 PetscCall(PetscObjectGetComm((PetscObject)sw, &comm)); in DMCreateGradientMatrix_Swarm()
1080 PetscCall(DMSwarmGetCellDMActive(sw, &celldm)); in DMCreateGradientMatrix_Swarm()
1084 PetscCall(DMSwarmGetLocalSize(sw, &Np)); in DMCreateGradientMatrix_Swarm()
1085 PetscCall(DMSwarmCellDMGetBlockSize(celldm, sw, &bs)); in DMCreateGradientMatrix_Swarm()
1088 PetscCall(MatCreate(PetscObjectComm((PetscObject)sw), derv)); in DMCreateGradientMatrix_Swarm()
1091 PetscCall(MatSetType(*derv, sw->mattype)); in DMCreateGradientMatrix_Swarm()
1094 PetscCall(DMSwarmComputeGradientMatrix_Private(sw, dm, *derv, PETSC_TRUE, ctx)); in DMCreateGradientMatrix_Swarm()
1386 PetscErrorCode DMSwarmSetLocalSizes(DM sw, PetscInt nlocal, PetscInt buffer) in DMSwarmSetLocalSizes() argument
1388 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmSetLocalSizes()
1398 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)sw), &rank)); in DMSwarmSetLocalSizes()
1399 PetscCall(DMSwarmGetField(sw, DMSwarmField_rank, NULL, NULL, (void **)&rankval)); in DMSwarmSetLocalSizes()
1401 PetscCall(DMSwarmRestoreField(sw, DMSwarmField_rank, NULL, NULL, (void **)&rankval)); in DMSwarmSetLocalSizes()
1423 PetscErrorCode DMSwarmSetCellDM(DM sw, DM dm) in DMSwarmSetCellDM() argument
1430 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmSetCellDM()
1436 PetscCall(DMSwarmAddCellDM(sw, celldm)); in DMSwarmSetCellDM()
1438 PetscCall(DMSwarmSetCellDMActive(sw, name)); in DMSwarmSetCellDM()
1457 PetscErrorCode DMSwarmGetCellDM(DM sw, DM *dm) in DMSwarmGetCellDM() argument
1459 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmGetCellDM()
1463 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmGetCellDM()
1465 …PetscCheck(celldm, PetscObjectComm((PetscObject)sw), PETSC_ERR_ARG_WRONG, "There is no cell DM nam… in DMSwarmGetCellDM()
1486 PetscErrorCode DMSwarmGetCellDMNames(DM sw, PetscInt *Ndm, const char **celldms[]) in DMSwarmGetCellDMNames() argument
1488 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmGetCellDMNames()
1493 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmGetCellDMNames()
1529 PetscErrorCode DMSwarmSetCellDMActive(DM sw, const char name[]) in DMSwarmSetCellDMActive() argument
1531 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmSetCellDMActive()
1535 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmSetCellDMActive()
1536 PetscCall(PetscInfo(sw, "Setting cell DM to %s\n", name)); in DMSwarmSetCellDMActive()
1539 PetscCall(DMSwarmGetCellDMActive(sw, &celldm)); in DMSwarmSetCellDMActive()
1558 PetscErrorCode DMSwarmGetCellDMActive(DM sw, DMSwarmCellDM *celldm) in DMSwarmGetCellDMActive() argument
1560 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmGetCellDMActive()
1563 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmGetCellDMActive()
1565 …PetscCheck(swarm->activeCellDM, PetscObjectComm((PetscObject)sw), PETSC_ERR_ARG_WRONGSTATE, "Swarm… in DMSwarmGetCellDMActive()
1567 …PetscCheck(*celldm, PetscObjectComm((PetscObject)sw), PETSC_ERR_ARG_WRONGSTATE, "Swarm has no vali… in DMSwarmGetCellDMActive()
1587 PetscErrorCode DMSwarmGetCellDMByName(DM sw, const char name[], DMSwarmCellDM *celldm) in DMSwarmGetCellDMByName() argument
1589 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmGetCellDMByName()
1592 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmGetCellDMByName()
1596 …PetscCheck(*celldm, PetscObjectComm((PetscObject)sw), PETSC_ERR_ARG_WRONGSTATE, "Swarm has no vali… in DMSwarmGetCellDMByName()
1616 PetscErrorCode DMSwarmAddCellDM(DM sw, DMSwarmCellDM celldm) in DMSwarmAddCellDM() argument
1618 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmAddCellDM()
1625 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmAddCellDM()
1626 PetscCall(PetscObjectGetComm((PetscObject)sw, &comm)); in DMSwarmAddCellDM()
1630 PetscCall(DMGetDimension(sw, &dim)); in DMSwarmAddCellDM()
1634 PetscCall(DMSwarmRegisterPetscDatatypeField(sw, celldm->coordFields[f], dim, PETSC_DOUBLE)); in DMSwarmAddCellDM()
1639 PetscCall(DMSwarmGetFieldInfo(sw, celldm->coordFields[f], &bs, &dt)); in DMSwarmAddCellDM()
1654 …if (!isShell || !isDummy) PetscCall(DMSwarmRegisterPetscDatatypeField(sw, celldm->cellid, 1, PETSC… in DMSwarmAddCellDM()
1656 PetscCall(DMSwarmSetCellDMActive(sw, name)); in DMSwarmAddCellDM()
2275 PetscErrorCode DMSwarmGetType(DM sw, DMSwarmType *stype) in DMSwarmGetType() argument
2277 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmGetType()
2280 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmGetType()
2299 PetscErrorCode DMSwarmSetType(DM sw, DMSwarmType stype) in DMSwarmSetType() argument
2301 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmSetType()
2304 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmSetType()
2306 if (swarm->swarm_type == DMSWARM_PIC) PetscCall(DMSwarmSetUpPIC(sw)); in DMSwarmSetType()
2310 static PetscErrorCode DMSwarmCreateRemapDM_Private(DM sw, DM *rdm) in DMSwarmCreateRemapDM_Private() argument
2318 PetscCall(DMCreate(PetscObjectComm((PetscObject)sw), rdm)); in DMSwarmCreateRemapDM_Private()
2336 static PetscErrorCode DMSetup_Swarm(DM sw) in DMSetup_Swarm() argument
2338 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSetup_Swarm()
2350 PetscCall(DMSwarmCreateRemapDM_Private(sw, &rdm)); in DMSetup_Swarm()
2352 PetscCall(DMSwarmAddCellDM(sw, celldm)); in DMSetup_Swarm()
2360 PetscCall(DMSwarmGetCellDMActive(sw, &celldm)); in DMSetup_Swarm()
2361 …PetscCheck(celldm, PetscObjectComm((PetscObject)sw), PETSC_ERR_USER, "No active cell DM. DMSWARM_P… in DMSetup_Swarm()
2364 PetscCall(PetscInfo(sw, "DMSWARM_PIC: Using method CellDM->ops->LocatePointsSubdomain\n")); in DMSetup_Swarm()
2368 …PetscCheck(celldm->dm->ops->locatepoints, PetscObjectComm((PetscObject)sw), PETSC_ERR_USER, "DMSWA… in DMSetup_Swarm()
2369 PetscCall(PetscInfo(sw, "DMSWARM_PIC: Using method CellDM->LocatePoints\n")); in DMSetup_Swarm()
2371 …PetscCheck(celldm->dm->ops->getneighbors, PetscObjectComm((PetscObject)sw), PETSC_ERR_USER, "DMSWA… in DMSetup_Swarm()
2372 PetscCall(PetscInfo(sw, "DMSWARM_PIC: Using method CellDM->GetNeigbors\n")); in DMSetup_Swarm()
2378 PetscCall(DMSwarmFinalizeFieldRegister(sw)); in DMSetup_Swarm()
2381 …PetscCheck(swarm->db->nfields > 2, PetscObjectComm((PetscObject)sw), PETSC_ERR_USER, "At least one… in DMSetup_Swarm()
2547 PetscErrorCode DMSwarmGetCellSwarm(DM sw, PetscInt cellID, DM cellswarm) in DMSwarmGetCellSwarm() argument
2549 DM_Swarm *original = (DM_Swarm *)sw->data; in DMSwarmGetCellSwarm()
2558 PetscCall(DMGetDimension(sw, &dim)); in DMSwarmGetCellSwarm()
2563 PetscCall(DMSwarmSortGetAccess(sw)); in DMSwarmGetCellSwarm()
2564 PetscCall(DMSwarmSortGetNumberOfPointsPerCell(sw, cellID, &particles)); in DMSwarmGetCellSwarm()
2565 PetscCall(DMSwarmSortGetPointsPerCell(sw, cellID, &particles, &pids)); in DMSwarmGetCellSwarm()
2567 PetscCall(DMSwarmSortRestoreAccess(sw)); in DMSwarmGetCellSwarm()
2568 PetscCall(DMSwarmSortRestorePointsPerCell(sw, cellID, &particles, &pids)); in DMSwarmGetCellSwarm()
2569 PetscCall(DMSwarmGetCellDM(sw, &dmc)); in DMSwarmGetCellSwarm()
2570 PetscCall(DMLabelCreate(PetscObjectComm((PetscObject)sw), "singlecell", &label)); in DMSwarmGetCellSwarm()
2598 PetscErrorCode DMSwarmRestoreCellSwarm(DM sw, PetscInt cellID, DM cellswarm) in DMSwarmRestoreCellSwarm() argument
2604 PetscCall(DMSwarmSortGetAccess(sw)); in DMSwarmRestoreCellSwarm()
2605 PetscCall(DMSwarmSortGetPointsPerCell(sw, cellID, &particles, &pids)); in DMSwarmRestoreCellSwarm()
2606 PetscCall(DMSwarmSortRestoreAccess(sw)); in DMSwarmRestoreCellSwarm()
2608 …taBucketCopyPoint(((DM_Swarm *)cellswarm->data)->db, pids[p], ((DM_Swarm *)sw->data)->db, pids[p])… in DMSwarmRestoreCellSwarm()
2612 PetscCall(DMSwarmSortRestorePointsPerCell(sw, cellID, &particles, &pids)); in DMSwarmRestoreCellSwarm()
2638 PetscErrorCode DMSwarmComputeMoments(DM sw, const char coordinate[], const char weight[], PetscReal… in DMSwarmComputeMoments() argument
2648 PetscValidHeaderSpecific(sw, DM_CLASSID, 1); in DMSwarmComputeMoments()
2652 PetscCall(PetscObjectGetComm((PetscObject)sw, &comm)); in DMSwarmComputeMoments()
2653 PetscCall(DMSwarmGetField(sw, coordinate, &bsc, &dtc, (void **)&coords)); in DMSwarmComputeMoments()
2654 PetscCall(DMSwarmGetField(sw, weight, &bsw, &dtw, (void **)&w)); in DMSwarmComputeMoments()
2658 PetscCall(DMSwarmGetLocalSize(sw, &Np)); in DMSwarmComputeMoments()
2659 PetscCall(DMGetWorkArray(sw, bsc + 2, MPIU_REAL, &mom)); in DMSwarmComputeMoments()
2671 PetscCall(DMSwarmRestoreField(sw, "velocity", NULL, NULL, (void **)&coords)); in DMSwarmComputeMoments()
2672 PetscCall(DMSwarmRestoreField(sw, "w_q", NULL, NULL, (void **)&w)); in DMSwarmComputeMoments()
2673 …llMPI(MPIU_Allreduce(mom, moments, bsc + 2, MPIU_REAL, MPI_SUM, PetscObjectComm((PetscObject)sw))); in DMSwarmComputeMoments()
2674 PetscCall(DMRestoreWorkArray(sw, bsc + 2, MPIU_REAL, &mom)); in DMSwarmComputeMoments()
2691 static PetscErrorCode DMInitialize_Swarm(DM sw) in DMInitialize_Swarm() argument
2694 sw->ops->view = DMView_Swarm; in DMInitialize_Swarm()
2695 sw->ops->load = NULL; in DMInitialize_Swarm()
2696 sw->ops->setfromoptions = DMSetFromOptions_Swarm; in DMInitialize_Swarm()
2697 sw->ops->clone = DMClone_Swarm; in DMInitialize_Swarm()
2698 sw->ops->setup = DMSetup_Swarm; in DMInitialize_Swarm()
2699 sw->ops->createlocalsection = NULL; in DMInitialize_Swarm()
2700 sw->ops->createsectionpermutation = NULL; in DMInitialize_Swarm()
2701 sw->ops->createdefaultconstraints = NULL; in DMInitialize_Swarm()
2702 sw->ops->createglobalvector = DMCreateGlobalVector_Swarm; in DMInitialize_Swarm()
2703 sw->ops->createlocalvector = DMCreateLocalVector_Swarm; in DMInitialize_Swarm()
2704 sw->ops->getlocaltoglobalmapping = NULL; in DMInitialize_Swarm()
2705 sw->ops->createfieldis = NULL; in DMInitialize_Swarm()
2706 sw->ops->createcoordinatedm = NULL; in DMInitialize_Swarm()
2707 sw->ops->createcellcoordinatedm = NULL; in DMInitialize_Swarm()
2708 sw->ops->getcoloring = NULL; in DMInitialize_Swarm()
2709 sw->ops->creatematrix = DMCreateMatrix_Swarm; in DMInitialize_Swarm()
2710 sw->ops->createinterpolation = NULL; in DMInitialize_Swarm()
2711 sw->ops->createinjection = NULL; in DMInitialize_Swarm()
2712 sw->ops->createmassmatrix = DMCreateMassMatrix_Swarm; in DMInitialize_Swarm()
2713 sw->ops->creategradientmatrix = DMCreateGradientMatrix_Swarm; in DMInitialize_Swarm()
2714 sw->ops->refine = NULL; in DMInitialize_Swarm()
2715 sw->ops->coarsen = NULL; in DMInitialize_Swarm()
2716 sw->ops->refinehierarchy = NULL; in DMInitialize_Swarm()
2717 sw->ops->coarsenhierarchy = NULL; in DMInitialize_Swarm()
2718 sw->ops->globaltolocalbegin = DMGlobalToLocalBegin_Swarm; in DMInitialize_Swarm()
2719 sw->ops->globaltolocalend = DMGlobalToLocalEnd_Swarm; in DMInitialize_Swarm()
2720 sw->ops->localtoglobalbegin = DMLocalToGlobalBegin_Swarm; in DMInitialize_Swarm()
2721 sw->ops->localtoglobalend = DMLocalToGlobalEnd_Swarm; in DMInitialize_Swarm()
2722 sw->ops->destroy = DMDestroy_Swarm; in DMInitialize_Swarm()
2723 sw->ops->createsubdm = NULL; in DMInitialize_Swarm()
2724 sw->ops->getdimpoints = NULL; in DMInitialize_Swarm()
2725 sw->ops->locatepoints = NULL; in DMInitialize_Swarm()
2726 sw->ops->projectfieldlocal = DMProjectFieldLocal_Swarm; in DMInitialize_Swarm()
2865 PetscErrorCode DMSwarmDuplicate(DM sw, DM *nsw) in DMSwarmDuplicate() argument
2867 DM_Swarm *swarm = (DM_Swarm *)sw->data; in DMSwarmDuplicate()
2877 PetscCall(DMCreate(PetscObjectComm((PetscObject)sw), nsw)); in DMSwarmDuplicate()
2879 PetscCall(PetscObjectGetName((PetscObject)sw, &name)); in DMSwarmDuplicate()
2881 PetscCall(DMGetDimension(sw, &dim)); in DMSwarmDuplicate()
2883 PetscCall(DMSwarmGetType(sw, &stype)); in DMSwarmDuplicate()
2885 PetscCall(DMGetApplicationContext(sw, &ctx)); in DMSwarmDuplicate()
2894 PetscCall(DMSwarmGetCellDMNames(sw, &Ndm, &celldmnames)); in DMSwarmDuplicate()
2900 PetscCall(DMSwarmGetCellDMByName(sw, celldmnames[c], &celldm)); in DMSwarmDuplicate()
2912 PetscCall(DMSwarmGetCellDMActive(sw, &celldm)); in DMSwarmDuplicate()