File: petscdmswarm.h.html

package info (click to toggle)
petsc 3.22.5%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 516,740 kB
  • sloc: ansic: 814,333; cpp: 50,948; python: 37,416; f90: 17,187; javascript: 3,493; makefile: 3,198; sh: 1,502; xml: 619; objc: 445; java: 13; csh: 1
file content (167 lines) | stat: -rw-r--r-- 31,349 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<center><a href="https://gitlab.com/petsc/petsc/-/blob/9fe822445bcdd45fb93170ff68fa7403d3f52f09/include/petscdmswarm.h">Actual source code: petscdmswarm.h</a></center><br>

<html>
<head>
<title></title>
<meta name="generator" content="c2html 0.9.6">
<meta name="date" content="2025-03-28T21:10:40+00:00">
</head>

<body bgcolor="#FFFFFF">
<pre width=80>
<a name="line1">  1: </a><font color="#A020F0">#pragma once</font>

<a name="line3">  3: </a>#include <A href="../include/petscdm.h.html">&lt;petscdm.h&gt;</A>
<a name="line4">  4: </a>#include <A href="../include/petscdt.h.html">&lt;petscdt.h&gt;</A>

<a name="line6">  6: </a><font color="#4169E1">typedef struct _p_DMSwarmDataField  *DMSwarmDataField;</font>
<a name="line7">  7: </a><font color="#4169E1">typedef struct _p_DMSwarmDataBucket *DMSwarmDataBucket;</font>
<a name="line8">  8: </a><font color="#4169E1">typedef struct _p_DMSwarmSort       *DMSwarmSort;</font>

<a name="line10"> 10: </a><font color="#B22222">/* SUBMANSEC = DMSwarm */</font>

<a name="line12"> 12: </a><font color="#B22222">/*E</font>
<a name="line13"> 13: </a><font color="#B22222">   <a href="../manualpages/DMSwarm/DMSwarmType.html">DMSwarmType</a> - Defines the type of `<a href="../manualpages/DMSwarm/DMSWARM.html">DMSWARM</a>`</font>

<a name="line15"> 15: </a><font color="#B22222">   Values:</font>
<a name="line16"> 16: </a><font color="#B22222">+  `<a href="../manualpages/DMSwarm/DMSwarmType.html">DMSWARM_BASIC</a>` - defines N entries of varied data-types which the user may register.</font>
<a name="line17"> 17: </a><font color="#B22222">-  `<a href="../manualpages/DMSwarm/DMSwarmType.html">DMSWARM_PIC</a>`   - suitable for particle-in-cell methods. Configured as `<a href="../manualpages/DMSwarm/DMSwarmType.html">DMSWARM_PIC</a>`, the swarm will be aware of, another `<a href="../manualpages/DM/DM.html">DM</a>` which serves as the background mesh.</font>

<a name="line19"> 19: </a><font color="#B22222">   Fields specific to particle-in-cell methods are registered by default. These include spatial coordinates, a unique identifier, a cell index and an index for</font>
<a name="line20"> 20: </a><font color="#B22222">   the owning rank. The background mesh will (by default) define the spatial decomposition of the points defined in the swarm. `<a href="../manualpages/DMSwarm/DMSwarmType.html">DMSWARM_PIC</a>` provides support</font>
<a name="line21"> 21: </a><font color="#B22222">   for particle-in-cell operations such as defining initial point coordinates, communicating particles between sub-domains, projecting particle data fields on to the mesh.</font>

<a name="line23"> 23: </a><font color="#B22222">   Level: beginner</font>

<a name="line25"> 25: </a><font color="#B22222">.seealso: [](ch_dmbase), `<a href="../manualpages/DMSwarm/DMSWARM.html">DMSWARM</a>`, `<a href="../manualpages/DMSwarm/DMSwarmSetType.html">DMSwarmSetType</a>()`</font>
<a name="line26"> 26: </a><font color="#B22222">E*/</font>
<a name="line27"> 27: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line28"> 28: </a>  <a href="../manualpages/DMSwarm/DMSwarmType.html">DMSWARM_BASIC</a> = 0,
<a name="line29"> 29: </a>  <a href="../manualpages/DMSwarm/DMSwarmType.html">DMSWARM_PIC</a>
<a name="line30"> 30: </a>} <a href="../manualpages/DMSwarm/DMSwarmType.html">DMSwarmType</a>;

<a name="line32"> 32: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line33"> 33: </a>  DMSWARM_MIGRATE_BASIC = 0,
<a name="line34"> 34: </a>  DMSWARM_MIGRATE_DMCELLNSCATTER,
<a name="line35"> 35: </a>  DMSWARM_MIGRATE_DMCELLEXACT,
<a name="line36"> 36: </a>  DMSWARM_MIGRATE_USER
<a name="line37"> 37: </a>} DMSwarmMigrateType;

<a name="line39"> 39: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line40"> 40: </a>  DMSWARM_COLLECT_BASIC = 0,
<a name="line41"> 41: </a>  DMSWARM_COLLECT_DMDABOUNDINGBOX,
<a name="line42"> 42: </a>  DMSWARM_COLLECT_GENERAL,
<a name="line43"> 43: </a>  DMSWARM_COLLECT_USER
<a name="line44"> 44: </a>} DMSwarmCollectType;

<a name="line46"> 46: </a><font color="#B22222">/*E</font>
<a name="line47"> 47: </a><font color="#B22222">   <a href="../manualpages/DMSwarm/DMSwarmPICLayoutType.html">DMSwarmPICLayoutType</a> - Defines the method used to define particle coordinates within each cell. The layouts are constructured using the reference cell geometry</font>

<a name="line49"> 49: </a><font color="#B22222">   Values:</font>
<a name="line50"> 50: </a><font color="#B22222">+  `<a href="../manualpages/DMSwarm/DMSwarmPICLayoutType.html">DMSWARMPIC_LAYOUT_REGULAR</a>`     - defines points on a regular ijk mesh. In this case</font>
<a name="line51"> 51: </a><font color="#B22222">                                     the `fill_param` argument of `<a href="../manualpages/DMSwarm/DMSwarmInsertPointsUsingCellDM.html">DMSwarmInsertPointsUsingCellDM</a>()` defines the number of points in each spatial direction.</font>
<a name="line52"> 52: </a><font color="#B22222">.  `<a href="../manualpages/DMSwarm/DMSwarmPICLayoutType.html">DMSWARMPIC_LAYOUT_GAUSS</a>`       - defines points using an npoint Gauss-Legendre tensor product quadrature rule. In this case</font>
<a name="line53"> 53: </a><font color="#B22222">                                     the `fill_param` argument of `<a href="../manualpages/DMSwarm/DMSwarmInsertPointsUsingCellDM.html">DMSwarmInsertPointsUsingCellDM</a>()` defines the number of quadrature points in each spatial direction.</font>
<a name="line54"> 54: </a><font color="#B22222">-  `<a href="../manualpages/DMSwarm/DMSwarmPICLayoutType.html">DMSWARMPIC_LAYOUT_SUBDIVISION</a>` - defines points on the centroid of a sub-divided reference cell. In this case</font>
<a name="line55"> 55: </a><font color="#B22222">                                     the `fill_param` argument of `<a href="../manualpages/DMSwarm/DMSwarmInsertPointsUsingCellDM.html">DMSwarmInsertPointsUsingCellDM</a>()` defines the number times the reference cell is sub-divided.</font>

<a name="line57"> 57: </a><font color="#B22222">   Level: beginner</font>

<a name="line59"> 59: </a><font color="#B22222">.seealso: [](ch_dmbase), `<a href="../manualpages/DMSwarm/DMSWARM.html">DMSWARM</a>`, `<a href="../manualpages/DM/DM.html">DM</a>`, `<a href="../manualpages/DMSwarm/DMSwarmInsertPointsUsingCellDM.html">DMSwarmInsertPointsUsingCellDM</a>()`</font>
<a name="line60"> 60: </a><font color="#B22222">E*/</font>
<a name="line61"> 61: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line62"> 62: </a>  <a href="../manualpages/DMSwarm/DMSwarmPICLayoutType.html">DMSWARMPIC_LAYOUT_REGULAR</a> = 0,
<a name="line63"> 63: </a>  <a href="../manualpages/DMSwarm/DMSwarmPICLayoutType.html">DMSWARMPIC_LAYOUT_GAUSS</a>,
<a name="line64"> 64: </a>  <a href="../manualpages/DMSwarm/DMSwarmPICLayoutType.html">DMSWARMPIC_LAYOUT_SUBDIVISION</a>
<a name="line65"> 65: </a>} <a href="../manualpages/DMSwarm/DMSwarmPICLayoutType.html">DMSwarmPICLayoutType</a>;

<a name="line67"> 67: </a>PETSC_EXTERN const char *DMSwarmTypeNames[];
<a name="line68"> 68: </a>PETSC_EXTERN const char *DMSwarmMigrateTypeNames[];
<a name="line69"> 69: </a>PETSC_EXTERN const char *DMSwarmCollectTypeNames[];

<a name="line71"> 71: </a>PETSC_EXTERN const char DMSwarmField_pid[];
<a name="line72"> 72: </a>PETSC_EXTERN const char DMSwarmField_rank[];
<a name="line73"> 73: </a>PETSC_EXTERN const char DMSwarmPICField_coor[];
<a name="line74"> 74: </a>PETSC_EXTERN const char DMSwarmPICField_cellid[];

<a name="line76"> 76: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmCreateGlobalVectorFromField.html">DMSwarmCreateGlobalVectorFromField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line77"> 77: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmDestroyGlobalVectorFromField.html">DMSwarmDestroyGlobalVectorFromField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line78"> 78: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmCreateLocalVectorFromField.html">DMSwarmCreateLocalVectorFromField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line79"> 79: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmDestroyLocalVectorFromField.html">DMSwarmDestroyLocalVectorFromField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;

<a name="line81"> 81: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmInitializeFieldRegister.html">DMSwarmInitializeFieldRegister</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line82"> 82: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmFinalizeFieldRegister.html">DMSwarmFinalizeFieldRegister</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line83"> 83: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetLocalSizes.html">DMSwarmSetLocalSizes</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line84"> 84: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmRegisterPetscDatatypeField.html">DMSwarmRegisterPetscDatatypeField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscDataType.html">PetscDataType</a>)</font></strong>;
<a name="line85"> 85: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmRegisterUserStructField.html">DMSwarmRegisterUserStructField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], size_t)</font></strong>;
<a name="line86"> 86: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmRegisterUserDatatypeField.html">DMSwarmRegisterUserDatatypeField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], size_t, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line87"> 87: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmGetField.html">DMSwarmGetField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscDataType.html">PetscDataType</a> *, void **)</font></strong>;
<a name="line88"> 88: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmRestoreField.html">DMSwarmRestoreField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscDataType.html">PetscDataType</a> *, void **)</font></strong>;
<a name="line89"> 89: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSwarmGetFieldInfo(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscDataType.html">PetscDataType</a> *)</font></strong>;

<a name="line91"> 91: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmVectorDefineField.html">DMSwarmVectorDefineField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[])</font></strong>;
<a name="line92"> 92: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmVectorGetField.html">DMSwarmVectorGetField</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char *[])</font></strong>;

<a name="line94"> 94: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmAddPoint.html">DMSwarmAddPoint</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line95"> 95: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmAddNPoints.html">DMSwarmAddNPoints</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line96"> 96: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmRemovePoint.html">DMSwarmRemovePoint</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line97"> 97: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmRemovePointAtIndex.html">DMSwarmRemovePointAtIndex</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line98"> 98: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmCopyPoint.html">DMSwarmCopyPoint</a>(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;

<a name="line100">100: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmGetLocalSize.html">DMSwarmGetLocalSize</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line101">101: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmGetSize.html">DMSwarmGetSize</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line102">102: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmGetMigrateType.html">DMSwarmGetMigrateType</a>(<a href="../manualpages/DM/DM.html">DM</a>, DMSwarmMigrateType *)</font></strong>;
<a name="line103">103: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetMigrateType.html">DMSwarmSetMigrateType</a>(<a href="../manualpages/DM/DM.html">DM</a>, DMSwarmMigrateType)</font></strong>;
<a name="line104">104: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmMigrate.html">DMSwarmMigrate</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;

<a name="line106">106: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmCollectViewCreate.html">DMSwarmCollectViewCreate</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line107">107: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmCollectViewDestroy.html">DMSwarmCollectViewDestroy</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line108">108: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetCellDM.html">DMSwarmSetCellDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line109">109: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmGetCellDM.html">DMSwarmGetCellDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;

<a name="line111">111: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetType.html">DMSwarmSetType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DMSwarm/DMSwarmType.html">DMSwarmType</a>)</font></strong>;

<a name="line113">113: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetPointsUniformCoordinates.html">DMSwarmSetPointsUniformCoordinates</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;
<a name="line114">114: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetPointCoordinates.html">DMSwarmSetPointCoordinates</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>)</font></strong>;
<a name="line115">115: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmInsertPointsUsingCellDM.html">DMSwarmInsertPointsUsingCellDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DMSwarm/DMSwarmPICLayoutType.html">DMSwarmPICLayoutType</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line116">116: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetPointCoordinatesCellwise.html">DMSwarmSetPointCoordinatesCellwise</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line117">117: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetPointCoordinatesRandom.html">DMSwarmSetPointCoordinatesRandom</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line118">118: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmViewFieldsXDMF.html">DMSwarmViewFieldsXDMF</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const char **)</font></strong>;
<a name="line119">119: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmViewXDMF.html">DMSwarmViewXDMF</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char *)</font></strong>;

<a name="line121">121: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSortGetAccess.html">DMSwarmSortGetAccess</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line122">122: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSortRestoreAccess.html">DMSwarmSortRestoreAccess</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line123">123: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSortGetPointsPerCell.html">DMSwarmSortGetPointsPerCell</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **)</font></strong>;
<a name="line124">124: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSortGetNumberOfPointsPerCell.html">DMSwarmSortGetNumberOfPointsPerCell</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line125">125: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSortGetIsValid.html">DMSwarmSortGetIsValid</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line126">126: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSortGetSizes.html">DMSwarmSortGetSizes</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;

<a name="line128">128: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmCreateMassMatrixSquare.html">DMSwarmCreateMassMatrixSquare</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/Mat.html">Mat</a> *)</font></strong>;

<a name="line130">130: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmGetCellSwarm.html">DMSwarmGetCellSwarm</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line131">131: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmRestoreCellSwarm.html">DMSwarmRestoreCellSwarm</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line132">132: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmGetNumSpecies.html">DMSwarmGetNumSpecies</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line133">133: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetNumSpecies.html">DMSwarmSetNumSpecies</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line134">134: </a><strong><font color="#4169E1"><a name="DMSwarmGetCoordinateFunction"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmGetCoordinateFunction.html">DMSwarmGetCoordinateFunction</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (**)(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], void *)</font></strong>);
<a name="line135">135: </a><strong><font color="#4169E1"><a name="DMSwarmSetCoordinateFunction"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetCoordinateFunction.html">DMSwarmSetCoordinateFunction</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], void *)</font></strong>);
<a name="line136">136: </a><strong><font color="#4169E1"><a name="DMSwarmGetVelocityFunction"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmGetVelocityFunction.html">DMSwarmGetVelocityFunction</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (**)(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], void *)</font></strong>);
<a name="line137">137: </a><strong><font color="#4169E1"><a name="DMSwarmSetVelocityFunction"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmSetVelocityFunction.html">DMSwarmSetVelocityFunction</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], void *)</font></strong>);
<a name="line138">138: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmComputeLocalSize.html">DMSwarmComputeLocalSize</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, PetscProbFunc)</font></strong>;
<a name="line139">139: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmComputeLocalSizeFromOptions.html">DMSwarmComputeLocalSizeFromOptions</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line140">140: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmInitializeCoordinates.html">DMSwarmInitializeCoordinates</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line141">141: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmInitializeVelocities.html">DMSwarmInitializeVelocities</a>(<a href="../manualpages/DM/DM.html">DM</a>, PetscProbFunc, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;
<a name="line142">142: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmInitializeVelocitiesFromOptions.html">DMSwarmInitializeVelocitiesFromOptions</a>(<a href="../manualpages/DM/DM.html">DM</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;

<a name="line144">144: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMSwarm/DMSwarmCreatePointPerCellCount.html">DMSwarmCreatePointPerCellCount</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> **)</font></strong>;

<a name="line146">146: </a><font color="#B22222">// Interface to internal storage</font>
<a name="line147">147: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSwarmDataFieldGetEntries(const DMSwarmDataField, void **)</font></strong>;
<a name="line148">148: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSwarmDataFieldRestoreEntries(const DMSwarmDataField, void **)</font></strong>;
<a name="line149">149: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSwarmDataBucketGetDMSwarmDataFieldByName(DMSwarmDataBucket, const char[], DMSwarmDataField *)</font></strong>;
<a name="line150">150: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSwarmDataBucketGetDMSwarmDataFieldIdByName(DMSwarmDataBucket, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line151">151: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSwarmDataBucketQueryDMSwarmDataFieldByName(DMSwarmDataBucket, const char[], <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
</pre>
</body>

</html>