:html_theme.sidebar_secondary.remove: true
# Particle Discretizations (DMSWARM)

The `DMSWARM` subclass of `DM` encapsulates a particle cloud, with interfaces for particle data, movement, and interface with meshes. It also can conservatively project fields between the particle basis and an FEM basis on a `DMPLEX`.


## Manual Pages by Level

### Beginner - Basic usage
```{hlist}
---
columns: 3
---
- [](DMSwarmAddNPoints.md)
- [](DMSwarmAddPoint.md)
- [](DMSwarmCopyPoint.md)
- [](DMSwarmCreateGlobalVectorFromField.md)
- [](DMSwarmCreateLocalVectorFromField.md)
- [](DMSwarmCreatePointPerCellCount.md)
- [](DMSwarmDestroyGlobalVectorFromField.md)
- [](DMSwarmDestroyLocalVectorFromField.md)
- [](DMSwarmFinalizeFieldRegister.md)
- [](DMSwarmGetCellDM.md)
- [](DMSwarmGetCellSwarm.md)
- [](DMSwarmGetField.md)
- [](DMSwarmGetLocalSize.md)
- [](DMSwarmGetSize.md)
- [](DMSwarmInitializeFieldRegister.md)
- [](DMSwarmInsertPointsUsingCellDM.md)
- [](DMSwarmPICLayoutType.md)
- [](DMSwarmProjectFields.md)
- [](DMSwarmRegisterPetscDatatypeField.md)
- [](DMSwarmRegisterUserDatatypeField.md)
- [](DMSwarmRegisterUserStructField.md)
- [](DMSwarmRemovePoint.md)
- [](DMSwarmRemovePointAtIndex.md)
- [](DMSwarmRestoreCellSwarm.md)
- [](DMSwarmRestoreField.md)
- [](DMSwarmSetCellDM.md)
- [](DMSwarmSetLocalSizes.md)
- [](DMSwarmSetPointCoordinates.md)
- [](DMSwarmSetPointCoordinatesCellwise.md)
- [](DMSwarmSetPointsUniformCoordinates.md)
- [](DMSwarmType.md)
- [](DMSwarmVectorDefineField.md)
- [](DMSwarmViewFieldsXDMF.md)
- [](DMSwarmViewXDMF.md)
```



### Intermediate - Setting options for algorithms and data structures
```{hlist}
---
columns: 3
---
- [](DMSWARM.md)
- [](DMSwarmGetCoordinateFunction.md)
- [](DMSwarmGetMigrateType.md)
- [](DMSwarmGetNumSpecies.md)
- [](DMSwarmSetCoordinateFunction.md)
- [](DMSwarmSetMigrateType.md)
- [](DMSwarmSetNumSpecies.md)
- [](DMSwarmSetPointCoordinatesRandom.md)
- [](DMSwarmSetVelocityFunction.md)
```



### Advanced - Setting more advanced options and customization
```{hlist}
---
columns: 3
---
- [](DMSwarmCollectViewCreate.md)
- [](DMSwarmCollectViewDestroy.md)
- [](DMSwarmComputeLocalSize.md)
- [](DMSwarmComputeLocalSizeFromOptions.md)
- [](DMSwarmCreateMassMatrixSquare.md)
- [](DMSwarmInitializeCoordinates.md)
- [](DMSwarmInitializeVelocities.md)
- [](DMSwarmInitializeVelocitiesFromOptions.md)
- [](DMSwarmMigrate.md)
- [](DMSwarmSetType.md)
- [](DMSwarmSortGetAccess.md)
- [](DMSwarmSortGetIsValid.md)
- [](DMSwarmSortGetNumberOfPointsPerCell.md)
- [](DMSwarmSortGetPointsPerCell.md)
- [](DMSwarmSortGetSizes.md)
- [](DMSwarmSortRestoreAccess.md)
```



### No developer routines

## Single list of manual pages
```{hlist}
---
columns: 3
---
- [](DMSWARM.md)
- [](DMSwarmAddNPoints.md)
- [](DMSwarmAddPoint.md)
- [](DMSwarmCollectViewCreate.md)
- [](DMSwarmCollectViewDestroy.md)
- [](DMSwarmComputeLocalSize.md)
- [](DMSwarmComputeLocalSizeFromOptions.md)
- [](DMSwarmCopyPoint.md)
- [](DMSwarmCreateGlobalVectorFromField.md)
- [](DMSwarmCreateLocalVectorFromField.md)
- [](DMSwarmCreateMassMatrixSquare.md)
- [](DMSwarmCreatePointPerCellCount.md)
- [](DMSwarmDestroyGlobalVectorFromField.md)
- [](DMSwarmDestroyLocalVectorFromField.md)
- [](DMSwarmFinalizeFieldRegister.md)
- [](DMSwarmGetCellDM.md)
- [](DMSwarmGetCellSwarm.md)
- [](DMSwarmGetCoordinateFunction.md)
- [](DMSwarmGetField.md)
- [](DMSwarmGetLocalSize.md)
- [](DMSwarmGetMigrateType.md)
- [](DMSwarmGetNumSpecies.md)
- [](DMSwarmGetSize.md)
- [](DMSwarmInitializeCoordinates.md)
- [](DMSwarmInitializeFieldRegister.md)
- [](DMSwarmInitializeVelocities.md)
- [](DMSwarmInitializeVelocitiesFromOptions.md)
- [](DMSwarmInsertPointsUsingCellDM.md)
- [](DMSwarmMigrate.md)
- [](DMSwarmPICLayoutType.md)
- [](DMSwarmProjectFields.md)
- [](DMSwarmRegisterPetscDatatypeField.md)
- [](DMSwarmRegisterUserDatatypeField.md)
- [](DMSwarmRegisterUserStructField.md)
- [](DMSwarmRemovePoint.md)
- [](DMSwarmRemovePointAtIndex.md)
- [](DMSwarmRestoreCellSwarm.md)
- [](DMSwarmRestoreField.md)
- [](DMSwarmSetCellDM.md)
- [](DMSwarmSetCoordinateFunction.md)
- [](DMSwarmSetLocalSizes.md)
- [](DMSwarmSetMigrateType.md)
- [](DMSwarmSetNumSpecies.md)
- [](DMSwarmSetPointCoordinates.md)
- [](DMSwarmSetPointCoordinatesCellwise.md)
- [](DMSwarmSetPointCoordinatesRandom.md)
- [](DMSwarmSetPointsUniformCoordinates.md)
- [](DMSwarmSetType.md)
- [](DMSwarmSetVelocityFunction.md)
- [](DMSwarmSortGetAccess.md)
- [](DMSwarmSortGetIsValid.md)
- [](DMSwarmSortGetNumberOfPointsPerCell.md)
- [](DMSwarmSortGetPointsPerCell.md)
- [](DMSwarmSortGetSizes.md)
- [](DMSwarmSortRestoreAccess.md)
- [](DMSwarmType.md)
- [](DMSwarmVectorDefineField.md)
- [](DMSwarmViewFieldsXDMF.md)
- [](DMSwarmViewXDMF.md)
```


