:orphan:
# DMSwarmPICLayoutType
Defines the method used to define particle coordinates within each cell. The layouts are constructured using the reference cell geometry 
## Synopsis
```
typedef enum {
  DMSWARMPIC_LAYOUT_REGULAR = 0,
  DMSWARMPIC_LAYOUT_GAUSS,
  DMSWARMPIC_LAYOUT_SUBDIVISION
} DMSwarmPICLayoutType;
```

## Values

- ***`DMSWARMPIC_LAYOUT_REGULAR` -*** defines points on a regular ijk mesh. When using `DMSWARMPIC_LAYOUT_REGULAR`, the fill_param defines the number of points in each spatial direction.
- ***`DMSWARMPIC_LAYOUT_GAUSS` -*** defines points using an npoint Gauss-Legendre tensor product quadrature rule.
When using `DMSWARMPIC_LAYOUT_GAUSS`, the fill_param defines the number of quadrature points in each spatial direction.

- ***`DMSWARMPIC_LAYOUT_SUBDIVISION` -*** defines points on the centroid of a sub-divided reference cell.
When using `DMSWARMPIC_LAYOUT_SUBDIVISION`, the fill_param defines the number times the reference cell is sub-divided.





## See Also
 `DMSWARM`, `DM`, `DMSwarmInsertPointsUsingCellDM()`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscdmswarm.h.html#DMSwarmPICLayoutType">include/petscdmswarm.h</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/tutorials/ex20.c.html">src/dm/tutorials/ex20.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/tutorials/ex21.c.html">src/dm/tutorials/ex21.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex70.c.html">src/ksp/ksp/tutorials/ex70.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscdmswarm.h)


[Index of all DMSwarm routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
