Skip to main content
`Ctrl`+`K`

# DMSwarmMigrate

Relocates points defined in the `DMSWARM` to other MPI-ranks

## Synopsis

    #include "petscdmswarm.h"
    PetscErrorCode DMSwarmMigrate(DM dm, PetscBool remove_sent_points)

Collective

## Input Parameters

- dm - the `DMSWARM`

- remove_sent_points - flag indicating if sent points should be removed from the current MPI-rank

## Notes

The `DM` will be modified to accommodate received points. If `remove_sent_points` is `PETSC_TRUE`, any points that were sent will be removed from the `DM`. Different styles of migration are supported. See `DMSwarmSetMigrateType()`.

## See Also

`DM`, `DMSWARM`, `DMSwarmSetMigrateType()`

## Level

advanced

## Location

src/dm/impls/swarm/swarm.c

## Examples

src/dm/tutorials/ex20.c
src/ts/tutorials/ex77.c
src/dm/tutorials/swarm_ex3.c
src/dm/impls/swarm/tutorials/ex1f90.F90
src/dm/impls/swarm/tutorials/ex1.c
src/dm/tutorials/swarm_ex1.c
src/ksp/ksp/tutorials/ex70.c
src/dm/tutorials/ex21.c

## Implementations

DMSwarmMigrate_Basic() in src/dm/impls/swarm/swarm.c
DMSwarmMigrate_DMNeighborScatter() in src/dm/impls/swarm/swarm_migrate.c
DMSwarmMigrate_CellDMScatter() in src/dm/impls/swarm/swarm_migrate.c
DMSwarmMigrate_CellDMExact() in src/dm/impls/swarm/swarm_migrate.c

Index of all DMSwarm routines
Table of Contents for all manual pages
Index of all manual pages