File: petscdm.h.html

package info (click to toggle)
petsc 3.24.3%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 524,208 kB
  • sloc: ansic: 762,913; cpp: 52,575; python: 39,566; f90: 17,688; javascript: 3,493; makefile: 3,217; sh: 1,512; xml: 619; objc: 445; java: 13; csh: 1
file content (1163 lines) | stat: -rw-r--r-- 233,127 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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
<center><a href="https://gitlab.com/petsc/petsc/-/blob/2cd11c936b2c10bfd58f60105eda30ca65946a12/include/petscdm.h">Actual source code: petscdm.h</a></center><br>

<html>
<head>
<title></title>
<meta name="generator" content="c2html 0.9.6">
<meta name="date" content="2026-01-01T23:31:06+00:00">
</head>

<body bgcolor="#FFFFFF">
<pre width=80>
<a name="line1">  1: </a><font color="#B22222">/*</font>
<a name="line2">  2: </a><font color="#B22222">      Objects to manage the interactions between the mesh data structures and the algebraic objects</font>
<a name="line3">  3: </a><font color="#B22222">*/</font>
<a name="line4">  4: </a><font color="#A020F0">#pragma once</font>
<a name="line5">  5: </a><font color="#A020F0">#include </font><font color="#666666">"petscsystypes.h"</font><font color="#A020F0"></font>
<a name="line6">  6: </a>#include <A href="../include/petscmat.h.html">&lt;petscmat.h&gt;</A>
<a name="line7">  7: </a>#include <A href="../include/petscdmtypes.h.html">&lt;petscdmtypes.h&gt;</A>
<a name="line8">  8: </a>#include <A href="../include/petscdmlabel.h.html">&lt;petscdmlabel.h&gt;</A>
<a name="line9">  9: </a>#include <A href="../include/petscfetypes.h.html">&lt;petscfetypes.h&gt;</A>
<a name="line10"> 10: </a>#include <A href="../include/petscdstypes.h.html">&lt;petscdstypes.h&gt;</A>
<a name="line11"> 11: </a>#include <A href="../include/petscdt.h.html">&lt;petscdt.h&gt;</A>

<a name="line13"> 13: </a><font color="#B22222">/* SUBMANSEC = <a href="../manualpages/DM/DM.html">DM</a> */</font>

<a name="line15"> 15: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInitializePackage.html">DMInitializePackage</a>(void)</font></strong>;

<a name="line17"> 17: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscClassId.html">PetscClassId</a> DM_CLASSID;

<a name="line19"> 19: </a><strong><font color="#228B22">#define DMLOCATEPOINT_POINT_NOT_FOUND -367</font></strong>

<a name="line21"> 21: </a><font color="#B22222">/*J</font>
<a name="line22"> 22: </a><font color="#B22222">   <a href="../manualpages/DM/DMType.html">DMType</a> - String with the name of a PETSc `<a href="../manualpages/DM/DM.html">DM</a>`. These are all the `<a href="../manualpages/DM/DM.html">DM</a>` provided by PETSc.</font>

<a name="line24"> 24: </a><font color="#B22222">   Level: beginner</font>

<a name="line26"> 26: </a><font color="#B22222">   Note:</font>
<a name="line27"> 27: </a><font color="#B22222">   These can be used with `<a href="../manualpages/DM/DMSetType.html">DMSetType</a>()` or the options database key `-dm_type` to set the specific data structures and algorithms to use with a specific `<a href="../manualpages/DM/DM.html">DM</a>`.</font>
<a name="line28"> 28: </a><font color="#B22222">   But more commonly one calls directly a constructor for a particular `<a href="../manualpages/DM/DMType.html">DMType</a>` such as `<a href="../manualpages/DMDA/DMDACreate.html">DMDACreate</a>()`</font>

<a name="line30"> 30: </a><font color="#B22222">.seealso: [](ch_dmbase), `<a href="../manualpages/DM/DMSetType.html">DMSetType</a>()`, `<a href="../manualpages/DM/DMCreate.html">DMCreate</a>()`, `<a href="../manualpages/DM/DM.html">DM</a>`, `<a href="../manualpages/DMDA/DMDACreate.html">DMDACreate</a>()`</font>
<a name="line31"> 31: </a><font color="#B22222">J*/</font>
<a name="line32"> 32: </a><font color="#4169E1">typedef const char *<a href="../manualpages/DM/DMType.html">DMType</a>;</font>
<a name="line33"> 33: </a><strong><font color="#228B22">#define <a href="../manualpages/DMDA/DMDA.html">DMDA</a>        </font><font color="#666666">"da"</font><font color="#228B22"></font></strong>
<a name="line34"> 34: </a><strong><font color="#228B22">#define <a href="../manualpages/DMComposite/DMCOMPOSITE.html">DMCOMPOSITE</a> </font><font color="#666666">"composite"</font><font color="#228B22"></font></strong>
<a name="line35"> 35: </a><strong><font color="#228B22">#define <a href="../manualpages/DM/DMSLICED.html">DMSLICED</a>    </font><font color="#666666">"sliced"</font><font color="#228B22"></font></strong>
<a name="line36"> 36: </a><strong><font color="#228B22">#define DMSHELL     </font><font color="#666666">"shell"</font><font color="#228B22"></font></strong>
<a name="line37"> 37: </a><strong><font color="#228B22">#define <a href="../manualpages/DMPlex/DMPLEX.html">DMPLEX</a>      </font><font color="#666666">"plex"</font><font color="#228B22"></font></strong>
<a name="line38"> 38: </a><strong><font color="#228B22">#define <a href="../manualpages/DM/DMREDUNDANT.html">DMREDUNDANT</a> </font><font color="#666666">"redundant"</font><font color="#228B22"></font></strong>
<a name="line39"> 39: </a><strong><font color="#228B22">#define <a href="../manualpages/DMPatch/DMPATCH.html">DMPATCH</a>     </font><font color="#666666">"patch"</font><font color="#228B22"></font></strong>
<a name="line40"> 40: </a><strong><font color="#228B22">#define <a href="../manualpages/DMMOAB/DMMOAB.html">DMMOAB</a>      </font><font color="#666666">"moab"</font><font color="#228B22"></font></strong>
<a name="line41"> 41: </a><strong><font color="#228B22">#define <a href="../manualpages/DMNetwork/DMNETWORK.html">DMNETWORK</a>   </font><font color="#666666">"network"</font><font color="#228B22"></font></strong>
<a name="line42"> 42: </a><strong><font color="#228B22">#define <a href="../manualpages/DMForest/DMFOREST.html">DMFOREST</a>    </font><font color="#666666">"forest"</font><font color="#228B22"></font></strong>
<a name="line43"> 43: </a><strong><font color="#228B22">#define DMP4EST     </font><font color="#666666">"p4est"</font><font color="#228B22"></font></strong>
<a name="line44"> 44: </a><strong><font color="#228B22">#define DMP8EST     </font><font color="#666666">"p8est"</font><font color="#228B22"></font></strong>
<a name="line45"> 45: </a><strong><font color="#228B22">#define <a href="../manualpages/DMSwarm/DMSWARM.html">DMSWARM</a>     </font><font color="#666666">"swarm"</font><font color="#228B22"></font></strong>
<a name="line46"> 46: </a><strong><font color="#228B22">#define <a href="../manualpages/DMPRODUCT/DMPRODUCT.html">DMPRODUCT</a>   </font><font color="#666666">"product"</font><font color="#228B22"></font></strong>
<a name="line47"> 47: </a><strong><font color="#228B22">#define <a href="../manualpages/DMStag/DMSTAG.html">DMSTAG</a>      </font><font color="#666666">"stag"</font><font color="#228B22"></font></strong>

<a name="line49"> 49: </a>PETSC_EXTERN const char *const       DMBoundaryTypes[];
<a name="line50"> 50: </a>PETSC_EXTERN const char *const       DMBoundaryConditionTypes[];
<a name="line51"> 51: </a>PETSC_EXTERN const char *const       DMBlockingTypes[];
<a name="line52"> 52: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscFunctionList.html">PetscFunctionList</a>       DMList;
<a name="line53"> 53: </a>PETSC_EXTERN DMGeneratorFunctionList DMGenerateList;
<a name="line54"> 54: </a>PETSC_EXTERN <a href="../manualpages/Sys/PetscFunctionList.html">PetscFunctionList</a>       DMGeomModelList;
<a name="line55"> 55: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>          <a href="../manualpages/DM/DMCreate.html">DMCreate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line56"> 56: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>          <a href="../manualpages/DM/DMClone.html">DMClone</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line57"> 57: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>          <a href="../manualpages/DM/DMSetType.html">DMSetType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMType.html">DMType</a>)</font></strong>;
<a name="line58"> 58: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>          <a href="../manualpages/DM/DMGetType.html">DMGetType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMType.html">DMType</a> *)</font></strong>;
<a name="line59"> 59: </a><strong><font color="#4169E1"><a name="DMRegister"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>          <a href="../manualpages/DM/DMRegister.html">DMRegister</a>(const char[], <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>);
<a name="line60"> 60: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a>          DMRegisterDestroy(void)</font></strong>;

<a name="line62"> 62: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMView.html">DMView</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line63"> 63: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMLoad.html">DMLoad</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>)</font></strong>;
<a name="line64"> 64: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMDestroy.html">DMDestroy</a>(<a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line65"> 65: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateGlobalVector.html">DMCreateGlobalVector</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line66"> 66: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateLocalVector.html">DMCreateLocalVector</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line67"> 67: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLocalVector.html">DMGetLocalVector</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line68"> 68: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRestoreLocalVector.html">DMRestoreLocalVector</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line69"> 69: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetGlobalVector.html">DMGetGlobalVector</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line70"> 70: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRestoreGlobalVector.html">DMRestoreGlobalVector</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line71"> 71: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMClearGlobalVectors.html">DMClearGlobalVectors</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line72"> 72: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMClearLocalVectors.html">DMClearLocalVectors</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line73"> 73: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMClearNamedGlobalVectors.html">DMClearNamedGlobalVectors</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line74"> 74: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMClearNamedLocalVectors.html">DMClearNamedLocalVectors</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line75"> 75: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMHasNamedGlobalVector.html">DMHasNamedGlobalVector</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line76"> 76: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetNamedGlobalVector.html">DMGetNamedGlobalVector</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/DM/DMRestoreNamedGlobalVector.html">DMRestoreNamedGlobalVector</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/DM/DMHasNamedLocalVector.html">DMHasNamedLocalVector</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</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/DM/DMGetNamedLocalVector.html">DMGetNamedLocalVector</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line80"> 80: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRestoreNamedLocalVector.html">DMRestoreNamedLocalVector</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/DM/DMGetLocalToGlobalMapping.html">DMGetLocalToGlobalMapping</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/IS/ISLocalToGlobalMapping.html">ISLocalToGlobalMapping</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/DM/DMCreateFieldIS.html">DMCreateFieldIS</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, char ***, <a href="../manualpages/IS/IS.html">IS</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/DM/DMGetBlockSize.html">DMGetBlockSize</a>(<a href="../manualpages/DM/DM.html">DM</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/DM/DMCreateColoring.html">DMCreateColoring</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/IS/ISColoringType.html">ISColoringType</a>, <a href="../manualpages/IS/ISColoring.html">ISColoring</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/DM/DMCreateMatrix.html">DMCreateMatrix</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/Mat.html">Mat</a> *)</font></strong>;
<a name="line86"> 86: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetMatrixPreallocateSkip.html">DMSetMatrixPreallocateSkip</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</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/DM/DMSetMatrixPreallocateOnly.html">DMSetMatrixPreallocateOnly</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line88"> 88: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetMatrixStructureOnly.html">DMSetMatrixStructureOnly</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line89"> 89: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetBlockingType.html">DMSetBlockingType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMBlockingType.html">DMBlockingType</a>)</font></strong>;
<a name="line90"> 90: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetBlockingType.html">DMGetBlockingType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMBlockingType.html">DMBlockingType</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/DM/DMCreateInterpolation.html">DMCreateInterpolation</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> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line92"> 92: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateRestriction.html">DMCreateRestriction</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="line93"> 93: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateInjection.html">DMCreateInjection</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="line94"> 94: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateMassMatrix.html">DMCreateMassMatrix</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="line95"> 95: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateMassMatrixLumped.html">DMCreateMassMatrixLumped</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *, <a href="../manualpages/Vec/Vec.html">Vec</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/DM/DMCreateGradientMatrix.html">DMCreateGradientMatrix</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="line97"> 97: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetWorkArray.html">DMGetWorkArray</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, MPI_Datatype, void *)</font></strong>;
<a name="line98"> 98: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRestoreWorkArray.html">DMRestoreWorkArray</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, MPI_Datatype, void *)</font></strong>;
<a name="line99"> 99: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRefine.html">DMRefine</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/DM/DM.html">DM</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/DM/DMCoarsen.html">DMCoarsen</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/DM/DM.html">DM</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/DM/DMGetCoarseDM.html">DMGetCoarseDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</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/DM/DMSetCoarseDM.html">DMSetCoarseDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line103">103: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetFineDM.html">DMGetFineDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line104">104: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetFineDM.html">DMSetFineDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line105">105: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRefineHierarchy.html">DMRefineHierarchy</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="line106">106: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCoarsenHierarchy.html">DMCoarsenHierarchy</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="line107">107: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCoarsenHookAdd.html">DMCoarsenHookAdd</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), void *)</font></strong>;
<a name="line108">108: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCoarsenHookRemove.html">DMCoarsenHookRemove</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), void *)</font></strong>;
<a name="line109">109: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRefineHookAdd.html">DMRefineHookAdd</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), void *)</font></strong>;
<a name="line110">110: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRefineHookRemove.html">DMRefineHookRemove</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), void *)</font></strong>;
<a name="line111">111: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRestrict.html">DMRestrict</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line112">112: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolate.html">DMInterpolate</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/DM/DM.html">DM</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/DM/DMInterpolateSolution.html">DMInterpolateSolution</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>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</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/DM/DMExtrude.html">DMExtrude</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="line115">115: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetFromOptions.html">DMSetFromOptions</a>(<a href="../manualpages/DM/DM.html">DM</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/DM/DMViewFromOptions.html">DMViewFromOptions</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a>, const char[])</font></strong>;

<a name="line118">118: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMGenerate(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line119">119: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGenerateRegister.html">DMGenerateRegister</a>(const char[], <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/DM/DM.html">DM</a> *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *, <a href="../manualpages/DM/DM.html">DM</a> *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/DM/DM.html">DM</a> *), <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line120">120: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGenerateRegisterAll.html">DMGenerateRegisterAll</a>(void)</font></strong>;
<a name="line121">121: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMGenerateRegisterDestroy(void)</font></strong>;
<a name="line122">122: </a><strong><font color="#4169E1"><a name="DMGeomModelRegister"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGeomModelRegister.html">DMGeomModelRegister</a>(const char[], <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</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>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</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/DM/DMGeomModelRegisterAll.html">DMGeomModelRegisterAll</a>(void)</font></strong>;
<a name="line124">124: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMGeomModelRegisterDestroy(void)</font></strong>;
<a name="line125">125: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMAdaptLabel.html">DMAdaptLabel</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/DM/DM.html">DM</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/DM/DMAdaptMetric.html">DMAdaptMetric</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/DM/DM.html">DM</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/DM/DMSetUp.html">DMSetUp</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line129">129: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateInterpolationScale.html">DMCreateInterpolationScale</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>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line130">130: </a>PETSC_EXTERN PETSC_DEPRECATED_FUNCTION(3, 12, 0, <font color="#666666">"<a href="../manualpages/DMDA/DMDACreateAggregates.html">DMDACreateAggregates</a>()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMDA/DMCreateAggregates.html">DMCreateAggregates</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> *);
<a name="line131">131: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGlobalToLocalHookAdd.html">DMGlobalToLocalHookAdd</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, void *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, void *), void *)</font></strong>;
<a name="line132">132: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMLocalToGlobalHookAdd.html">DMLocalToGlobalHookAdd</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, void *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, void *), void *)</font></strong>;
<a name="line133">133: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGlobalToLocal.html">DMGlobalToLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line134">134: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGlobalToLocalBegin.html">DMGlobalToLocalBegin</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line135">135: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGlobalToLocalEnd.html">DMGlobalToLocalEnd</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line136">136: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMLocalToGlobal.html">DMLocalToGlobal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line137">137: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMLocalToGlobalBegin.html">DMLocalToGlobalBegin</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line138">138: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMLocalToGlobalEnd.html">DMLocalToGlobalEnd</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line139">139: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMLocalToLocalBegin.html">DMLocalToLocalBegin</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</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/DM/DMLocalToLocalEnd.html">DMLocalToLocalEnd</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</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/DM/DMConvert.html">DMConvert</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMType.html">DMType</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;

<a name="line143">143: </a><font color="#B22222">/* Topology support */</font>
<a name="line144">144: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetDimension.html">DMGetDimension</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line145">145: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetDimension.html">DMSetDimension</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line146">146: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetDimPoints.html">DMGetDimPoints</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="line147">147: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetUseNatural.html">DMGetUseNatural</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line148">148: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetUseNatural.html">DMSetUseNatural</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line149">149: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetNeighbors.html">DMGetNeighbors</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, const <a href="../manualpages/Sys/PetscMPIInt.html">PetscMPIInt</a> *[])</font></strong>;

<a name="line151">151: </a><font color="#B22222">/* Coordinate support */</font>
<a name="line152">152: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinateDM.html">DMGetCoordinateDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line153">153: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCoordinateDM.html">DMSetCoordinateDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line154">154: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCellCoordinateDM.html">DMGetCellCoordinateDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line155">155: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCellCoordinateDM.html">DMSetCellCoordinateDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line156">156: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinateDim.html">DMGetCoordinateDim</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line157">157: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCoordinateDim.html">DMSetCoordinateDim</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line158">158: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinateSection.html">DMGetCoordinateSection</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> *)</font></strong>;
<a name="line159">159: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCoordinateSection.html">DMSetCoordinateSection</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>)</font></strong>;
<a name="line160">160: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCellCoordinateSection.html">DMGetCellCoordinateSection</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> *)</font></strong>;
<a name="line161">161: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCellCoordinateSection.html">DMSetCellCoordinateSection</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>)</font></strong>;
<a name="line162">162: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinates.html">DMGetCoordinates</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line163">163: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCoordinates.html">DMSetCoordinates</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line164">164: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCellCoordinates.html">DMGetCellCoordinates</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line165">165: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCellCoordinates.html">DMSetCellCoordinates</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line166">166: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinatesLocalSetUp.html">DMGetCoordinatesLocalSetUp</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line167">167: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinatesLocal.html">DMGetCoordinatesLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line168">168: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinatesLocalNoncollective.html">DMGetCoordinatesLocalNoncollective</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line169">169: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinatesLocalTuple.html">DMGetCoordinatesLocalTuple</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line170">170: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCoordinatesLocal.html">DMSetCoordinatesLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line171">171: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCellCoordinatesLocalSetUp.html">DMGetCellCoordinatesLocalSetUp</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line172">172: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCellCoordinatesLocal.html">DMGetCellCoordinatesLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line173">173: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCellCoordinatesLocalNoncollective.html">DMGetCellCoordinatesLocalNoncollective</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line174">174: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCellCoordinatesLocal.html">DMSetCellCoordinatesLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line175">175: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMGetCoordinateField(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMField.html">DMField</a> *)</font></strong>;
<a name="line176">176: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSetCoordinateField(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMField.html">DMField</a>)</font></strong>;
<a name="line177">177: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSetCellCoordinateField(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMField.html">DMField</a>)</font></strong>;
<a name="line178">178: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLocalBoundingBox.html">DMGetLocalBoundingBox</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>[])</font></strong>;
<a name="line179">179: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetBoundingBox.html">DMGetBoundingBox</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>[])</font></strong>;
<a name="line180">180: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCoordinateDisc.html">DMSetCoordinateDisc</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/FE/PetscFE.html">PetscFE</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line181">181: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMLocatePoints.html">DMLocatePoints</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/DM/DMPointLocationType.html">DMPointLocationType</a>, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a> *)</font></strong>;
<a name="line182">182: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSnapToGeomModel.html">DMSnapToGeomModel</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>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line183">183: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetSnapToGeomModel.html">DMSetSnapToGeomModel</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[])</font></strong>;

<a name="line185">185: </a><font color="#B22222">/* Periodicity support */</font>
<a name="line186">186: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetPeriodicity.html">DMGetPeriodicity</a>(<a href="../manualpages/DM/DM.html">DM</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *[], const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *[], const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *[])</font></strong>;
<a name="line187">187: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetPeriodicity.html">DMSetPeriodicity</a>(<a href="../manualpages/DM/DM.html">DM</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;
<a name="line188">188: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMLocalizeCoordinate.html">DMLocalizeCoordinate</a>(<a href="../manualpages/DM/DM.html">DM</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line189">189: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMLocalizeCoordinates.html">DMLocalizeCoordinates</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line190">190: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinatesLocalized.html">DMGetCoordinatesLocalized</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line191">191: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoordinatesLocalizedLocal.html">DMGetCoordinatesLocalizedLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line192">192: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetSparseLocalize.html">DMGetSparseLocalize</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line193">193: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetSparseLocalize.html">DMSetSparseLocalize</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;

<a name="line195">195: </a><font color="#B22222">/* block hook interface */</font>
<a name="line196">196: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSubDomainHookAdd.html">DMSubDomainHookAdd</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), void *)</font></strong>;
<a name="line197">197: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSubDomainHookRemove.html">DMSubDomainHookRemove</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/DM/DM.html">DM</a>, void *), void *)</font></strong>;
<a name="line198">198: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSubDomainRestrict.html">DMSubDomainRestrict</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;

<a name="line200">200: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetOptionsPrefix.html">DMSetOptionsPrefix</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[])</font></strong>;
<a name="line201">201: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMAppendOptionsPrefix.html">DMAppendOptionsPrefix</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[])</font></strong>;
<a name="line202">202: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetOptionsPrefix.html">DMGetOptionsPrefix</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char *[])</font></strong>;
<a name="line203">203: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetVecType.html">DMSetVecType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/VecType.html">VecType</a>)</font></strong>;
<a name="line204">204: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetVecType.html">DMGetVecType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/VecType.html">VecType</a> *)</font></strong>;
<a name="line205">205: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetMatType.html">DMSetMatType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/MatType.html">MatType</a>)</font></strong>;
<a name="line206">206: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetMatType.html">DMGetMatType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/MatType.html">MatType</a> *)</font></strong>;
<a name="line207">207: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetISColoringType.html">DMSetISColoringType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/IS/ISColoringType.html">ISColoringType</a>)</font></strong>;
<a name="line208">208: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetISColoringType.html">DMGetISColoringType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/IS/ISColoringType.html">ISColoringType</a> *)</font></strong>;
<a name="line209">209: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetApplicationContext.html">DMSetApplicationContext</a>(<a href="../manualpages/DM/DM.html">DM</a>, void *)</font></strong>;
<a name="line210">210: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetApplicationContextDestroy.html">DMSetApplicationContextDestroy</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscCtxDestroyFn.html">PetscCtxDestroyFn</a> *)</font></strong>;
<a name="line211">211: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetApplicationContext.html">DMGetApplicationContext</a>(<a href="../manualpages/DM/DM.html">DM</a>, void *)</font></strong>;
<a name="line212">212: </a><strong><font color="#4169E1"><a name="DMSetVariableBounds"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetVariableBounds.html">DMSetVariableBounds</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>);
<a name="line213">213: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMHasVariableBounds.html">DMHasVariableBounds</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line214">214: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMHasColoring.html">DMHasColoring</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line215">215: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMHasCreateRestriction.html">DMHasCreateRestriction</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line216">216: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMHasCreateInjection.html">DMHasCreateInjection</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line217">217: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMComputeVariableBounds.html">DMComputeVariableBounds</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;

<a name="line219">219: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateSubDM.html">DMCreateSubDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/IS/IS.html">IS</a> *, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line220">220: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateSuperDM.html">DMCreateSuperDM</a>(<a href="../manualpages/DM/DM.html">DM</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a> **, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line221">221: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateSectionSubDM.html">DMCreateSectionSubDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/IS/IS.html">IS</a> *, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line222">222: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateSectionSuperDM.html">DMCreateSectionSuperDM</a>(<a href="../manualpages/DM/DM.html">DM</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a> *[], <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line223">223: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateFieldDecomposition.html">DMCreateFieldDecomposition</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, char ***, <a href="../manualpages/IS/IS.html">IS</a> **, <a href="../manualpages/DM/DM.html">DM</a> **)</font></strong>;
<a name="line224">224: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateDomainDecomposition.html">DMCreateDomainDecomposition</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, char ***, <a href="../manualpages/IS/IS.html">IS</a> **, <a href="../manualpages/IS/IS.html">IS</a> **, <a href="../manualpages/DM/DM.html">DM</a> **)</font></strong>;
<a name="line225">225: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateDomainDecompositionScatters.html">DMCreateDomainDecompositionScatters</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> *, <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a> *[], <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a> *[], <a href="../manualpages/PetscSF/VecScatter.html">VecScatter</a> *[])</font></strong>;

<a name="line227">227: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetRefineLevel.html">DMGetRefineLevel</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line228">228: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetRefineLevel.html">DMSetRefineLevel</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line229">229: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCoarsenLevel.html">DMGetCoarsenLevel</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line230">230: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetCoarsenLevel.html">DMSetCoarsenLevel</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line231">231: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMFinalizePackage.html">DMFinalizePackage</a>(void)</font></strong>;

<a name="line233">233: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/VecGetDM.html">VecGetDM</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line234">234: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/VecSetDM.html">VecSetDM</a>(<a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line235">235: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/MatGetDM.html">MatGetDM</a>(<a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line236">236: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/MatSetDM.html">MatSetDM</a>(<a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line237">237: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/MatFDColoringUseDM.html">MatFDColoringUseDM</a>(<a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/Mat/MatFDColoring.html">MatFDColoring</a>)</font></strong>;

<a name="line239">239: </a><font color="#4169E1">typedef struct NLF_DAAD *NLF;</font>

<a name="line241">241: </a><strong><font color="#228B22">#define DM_FILE_CLASSID 1211221</font></strong>

<a name="line243">243: </a><font color="#B22222">/* FEM support */</font>
<a name="line244">244: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMPrintCellIndices(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line245">245: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMPrintCellVector(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line246">246: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMPrintCellVectorReal(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;
<a name="line247">247: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMPrintCellMatrix(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[])</font></strong>;
<a name="line248">248: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMPrintLocalVec(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;

<a name="line250">250: </a><strong><font color="#4169E1"><a name="DMSetNullSpaceConstructor"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetNullSpaceConstructor.html">DMSetNullSpaceConstructor</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</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/Mat/MatNullSpace.html">MatNullSpace</a> *)</font></strong>);
<a name="line251">251: </a><strong><font color="#4169E1"><a name="DMGetNullSpaceConstructor"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetNullSpaceConstructor.html">DMGetNullSpaceConstructor</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</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/Mat/MatNullSpace.html">MatNullSpace</a> *)</font></strong>);
<a name="line252">252: </a><strong><font color="#4169E1"><a name="DMSetNearNullSpaceConstructor"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetNearNullSpaceConstructor.html">DMSetNearNullSpaceConstructor</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</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/Mat/MatNullSpace.html">MatNullSpace</a> *)</font></strong>);
<a name="line253">253: </a><strong><font color="#4169E1"><a name="DMGetNearNullSpaceConstructor"></a>PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetNearNullSpaceConstructor.html">DMGetNearNullSpaceConstructor</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</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/Mat/MatNullSpace.html">MatNullSpace</a> *)</font></strong>);

<a name="line255">255: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLocalSection.html">DMGetLocalSection</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> *)</font></strong>;
<a name="line256">256: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetLocalSection.html">DMSetLocalSection</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>)</font></strong>;
<a name="line257">257: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetGlobalSection.html">DMGetGlobalSection</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> *)</font></strong>;
<a name="line258">258: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetGlobalSection.html">DMSetGlobalSection</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>)</font></strong>;
<a name="line259">259: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateSectionPermutation.html">DMCreateSectionPermutation</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/IS/IS.html">IS</a> *, <a href="../manualpages/Sys/PetscBT.html">PetscBT</a> *)</font></strong>;
<a name="line260">260: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMReorderSectionGetDefault.html">DMReorderSectionGetDefault</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMReorderDefaultFlag.html">DMReorderDefaultFlag</a> *)</font></strong>;
<a name="line261">261: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMReorderSectionSetDefault.html">DMReorderSectionSetDefault</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMReorderDefaultFlag.html">DMReorderDefaultFlag</a>)</font></strong>;
<a name="line262">262: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMReorderSectionGetType.html">DMReorderSectionGetType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/MatOrderingType.html">MatOrderingType</a> *)</font></strong>;
<a name="line263">263: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMReorderSectionSetType.html">DMReorderSectionSetType</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Mat/MatOrderingType.html">MatOrderingType</a>)</font></strong>;
<a name="line264">264: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMUseTensorOrder.html">DMUseTensorOrder</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line265">265: </a>static inline PETSC_DEPRECATED_FUNCTION(3, 23, 0, <font color="#666666">"<a href="../manualpages/DM/DMGetLocalSection.html">DMGetLocalSection</a>()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMGetSection(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> *s)
<a name="line266">266: </a>{
<a name="line267">267: </a>  <font color="#4169E1">return</font> <a href="../manualpages/DM/DMGetLocalSection.html">DMGetLocalSection</a>(dm, s);
<a name="line268">268: </a>}
<a name="line269">269: </a>static inline PETSC_DEPRECATED_FUNCTION(3, 23, 0, <font color="#666666">"<a href="../manualpages/DM/DMSetLocalSection.html">DMSetLocalSection</a>()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSetSection(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> s)
<a name="line270">270: </a>{
<a name="line271">271: </a>  <font color="#4169E1">return</font> <a href="../manualpages/DM/DMSetLocalSection.html">DMSetLocalSection</a>(dm, s);
<a name="line272">272: </a>}
<a name="line273">273: </a>static inline PETSC_DEPRECATED_FUNCTION(3, 9, 0, <font color="#666666">"DMGetSection()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMGetDefaultSection(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> *s)
<a name="line274">274: </a>{
<a name="line275">275: </a>  <font color="#4169E1">return</font> <a href="../manualpages/DM/DMGetLocalSection.html">DMGetLocalSection</a>(dm, s);
<a name="line276">276: </a>}
<a name="line277">277: </a>static inline PETSC_DEPRECATED_FUNCTION(3, 9, 0, <font color="#666666">"DMSetSection()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSetDefaultSection(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> s)
<a name="line278">278: </a>{
<a name="line279">279: </a>  <font color="#4169E1">return</font> <a href="../manualpages/DM/DMSetLocalSection.html">DMSetLocalSection</a>(dm, s);
<a name="line280">280: </a>}
<a name="line281">281: </a>static inline PETSC_DEPRECATED_FUNCTION(3, 9, 0, <font color="#666666">"<a href="../manualpages/DM/DMGetGlobalSection.html">DMGetGlobalSection</a>()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMGetDefaultGlobalSection(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> *s)
<a name="line282">282: </a>{
<a name="line283">283: </a>  <font color="#4169E1">return</font> <a href="../manualpages/DM/DMGetGlobalSection.html">DMGetGlobalSection</a>(dm, s);
<a name="line284">284: </a>}
<a name="line285">285: </a>static inline PETSC_DEPRECATED_FUNCTION(3, 9, 0, <font color="#666666">"<a href="../manualpages/DM/DMSetGlobalSection.html">DMSetGlobalSection</a>()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSetDefaultGlobalSection(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> s)
<a name="line286">286: </a>{
<a name="line287">287: </a>  <font color="#4169E1">return</font> <a href="../manualpages/DM/DMSetGlobalSection.html">DMSetGlobalSection</a>(dm, s);
<a name="line288">288: </a>}

<a name="line290">290: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetSectionSF.html">DMGetSectionSF</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a> *)</font></strong>;
<a name="line291">291: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetSectionSF.html">DMSetSectionSF</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a>)</font></strong>;
<a name="line292">292: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateSectionSF.html">DMCreateSectionSF</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>)</font></strong>;
<a name="line293">293: </a>static inline PETSC_DEPRECATED_FUNCTION(3, 12, 0, <font color="#666666">"<a href="../manualpages/DM/DMGetSectionSF.html">DMGetSectionSF</a>()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMGetDefaultSF(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a> *s)
<a name="line294">294: </a>{
<a name="line295">295: </a>  <font color="#4169E1">return</font> <a href="../manualpages/DM/DMGetSectionSF.html">DMGetSectionSF</a>(dm, s);
<a name="line296">296: </a>}
<a name="line297">297: </a>static inline PETSC_DEPRECATED_FUNCTION(3, 12, 0, <font color="#666666">"<a href="../manualpages/DM/DMSetSectionSF.html">DMSetSectionSF</a>()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMSetDefaultSF(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a> s)
<a name="line298">298: </a>{
<a name="line299">299: </a>  <font color="#4169E1">return</font> <a href="../manualpages/DM/DMSetSectionSF.html">DMSetSectionSF</a>(dm, s);
<a name="line300">300: </a>}
<a name="line301">301: </a>static inline PETSC_DEPRECATED_FUNCTION(3, 12, 0, <font color="#666666">"<a href="../manualpages/DM/DMCreateSectionSF.html">DMCreateSectionSF</a>()"</font>, ) <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMCreateDefaultSF(<a href="../manualpages/DM/DM.html">DM</a> dm, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> l, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> g)
<a name="line302">302: </a>{
<a name="line303">303: </a>  <font color="#4169E1">return</font> <a href="../manualpages/DM/DMCreateSectionSF.html">DMCreateSectionSF</a>(dm, l, g);
<a name="line304">304: </a>}
<a name="line305">305: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetPointSF.html">DMGetPointSF</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a> *)</font></strong>;
<a name="line306">306: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetPointSF.html">DMSetPointSF</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a>)</font></strong>;
<a name="line307">307: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetNaturalSF.html">DMGetNaturalSF</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a> *)</font></strong>;
<a name="line308">308: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetNaturalSF.html">DMSetNaturalSF</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSF/PetscSF.html">PetscSF</a>)</font></strong>;

<a name="line310">310: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetDefaultConstraints.html">DMGetDefaultConstraints</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a> *, <a href="../manualpages/Mat/Mat.html">Mat</a> *, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line311">311: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetDefaultConstraints.html">DMSetDefaultConstraints</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/PetscSection/PetscSection.html">PetscSection</a>, <a href="../manualpages/Mat/Mat.html">Mat</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;

<a name="line313">313: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetOutputDM.html">DMGetOutputDM</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a> *)</font></strong>;
<a name="line314">314: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetOutputSequenceNumber.html">DMGetOutputSequenceNumber</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="line315">315: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetOutputSequenceNumber.html">DMSetOutputSequenceNumber</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="line316">316: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMOutputSequenceLoad.html">DMOutputSequenceLoad</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line317">317: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetOutputSequenceLength.html">DMGetOutputSequenceLength</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Viewer/PetscViewer.html">PetscViewer</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;

<a name="line319">319: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetNumFields.html">DMGetNumFields</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line320">320: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetNumFields.html">DMSetNumFields</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line321">321: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetField.html">DMGetField</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a> *, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a> *)</font></strong>;
<a name="line322">322: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetField.html">DMSetField</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a>)</font></strong>;
<a name="line323">323: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMAddField.html">DMAddField</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscObject.html">PetscObject</a>)</font></strong>;
<a name="line324">324: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetFieldAvoidTensor.html">DMSetFieldAvoidTensor</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line325">325: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetFieldAvoidTensor.html">DMGetFieldAvoidTensor</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line326">326: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMClearFields.html">DMClearFields</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line327">327: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCopyFields.html">DMCopyFields</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/DM/DM.html">DM</a>)</font></strong>;
<a name="line328">328: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetAdjacency.html">DMGetAdjacency</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line329">329: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetAdjacency.html">DMSetAdjacency</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line330">330: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetBasicAdjacency.html">DMGetBasicAdjacency</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line331">331: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetBasicAdjacency.html">DMSetBasicAdjacency</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;

<a name="line333">333: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetNumDS.html">DMGetNumDS</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line334">334: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetDS.html">DMGetDS</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DT/PetscDS.html">PetscDS</a> *)</font></strong>;
<a name="line335">335: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCellDS.html">DMGetCellDS</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/DT/PetscDS.html">PetscDS</a> *, <a href="../manualpages/DT/PetscDS.html">PetscDS</a> *)</font></strong>;
<a name="line336">336: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetRegionDS.html">DMGetRegionDS</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/IS/IS.html">IS</a> *, <a href="../manualpages/DT/PetscDS.html">PetscDS</a> *, <a href="../manualpages/DT/PetscDS.html">PetscDS</a> *)</font></strong>;
<a name="line337">337: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetRegionDS.html">DMSetRegionDS</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/DT/PetscDS.html">PetscDS</a>, <a href="../manualpages/DT/PetscDS.html">PetscDS</a>)</font></strong>;
<a name="line338">338: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetRegionNumDS.html">DMGetRegionNumDS</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a> *, <a href="../manualpages/IS/IS.html">IS</a> *, <a href="../manualpages/DT/PetscDS.html">PetscDS</a> *, <a href="../manualpages/DT/PetscDS.html">PetscDS</a> *)</font></strong>;
<a name="line339">339: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetRegionNumDS.html">DMSetRegionNumDS</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/IS/IS.html">IS</a>, <a href="../manualpages/DT/PetscDS.html">PetscDS</a>, <a href="../manualpages/DT/PetscDS.html">PetscDS</a>)</font></strong>;
<a name="line340">340: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMFindRegionNum.html">DMFindRegionNum</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DT/PetscDS.html">PetscDS</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line341">341: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateFEDefault.html">DMCreateFEDefault</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/FE/PetscFE.html">PetscFE</a> *)</font></strong>;
<a name="line342">342: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateDS.html">DMCreateDS</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line343">343: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMClearDS.html">DMClearDS</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line344">344: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCopyDS.html">DMCopyDS</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/DM/DM.html">DM</a>)</font></strong>;
<a name="line345">345: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCopyDisc.html">DMCopyDisc</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line346">346: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMComputeExactSolution.html">DMComputeExactSolution</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line347">347: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetNumAuxiliaryVec.html">DMGetNumAuxiliaryVec</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line348">348: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetAuxiliaryVec.html">DMGetAuxiliaryVec</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line349">349: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetAuxiliaryVec.html">DMSetAuxiliaryVec</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line350">350: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetAuxiliaryLabels.html">DMGetAuxiliaryLabels</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[])</font></strong>;
<a name="line351">351: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCopyAuxiliaryVec.html">DMCopyAuxiliaryVec</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line352">352: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMClearAuxiliaryVec.html">DMClearAuxiliaryVec</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;

<a name="line354">354: </a><font color="#B22222">/*MC</font>
<a name="line355">355: </a><font color="#B22222">  <a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a> - Pointer to a structure for holding information about interpolation on a mesh</font>

<a name="line357">357: </a><font color="#B22222">  Synopsis:</font>
<a name="line358">358: </a><font color="#B22222">    comm     - The communicator</font>
<a name="line359">359: </a><font color="#B22222">    dim      - The spatial dimension of points</font>
<a name="line360">360: </a><font color="#B22222">    nInput   - The number of input points</font>
<a name="line361">361: </a><font color="#B22222">    points[] - The input point coordinates</font>
<a name="line362">362: </a><font color="#B22222">    cells[]  - The cell containing each point</font>
<a name="line363">363: </a><font color="#B22222">    n        - The number of local points</font>
<a name="line364">364: </a><font color="#B22222">    coords   - The point coordinates</font>
<a name="line365">365: </a><font color="#B22222">    dof      - The number of components to interpolate</font>

<a name="line367">367: </a><font color="#B22222">  Level: intermediate</font>

<a name="line369">369: </a><font color="#B22222">.seealso: [](ch_dmbase), `<a href="../manualpages/DM/DM.html">DM</a>`, `<a href="../manualpages/DM/DMInterpolationCreate.html">DMInterpolationCreate</a>()`, `<a href="../manualpages/DM/DMInterpolationEvaluate.html">DMInterpolationEvaluate</a>()`, `<a href="../manualpages/DM/DMInterpolationAddPoints.html">DMInterpolationAddPoints</a>()`</font>
<a name="line370">370: </a><font color="#B22222">M*/</font>
<a name="line371">371: </a><font color="#4169E1"><a name="_n_DMInterpolationInfo"></a>struct _n_DMInterpolationInfo </font>{
<a name="line372">372: </a>  <a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>   comm;
<a name="line373">373: </a>  <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>   dim;    <font color="#B22222">/* The spatial dimension of points */</font>
<a name="line374">374: </a>  <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>   nInput; <font color="#B22222">/* The number of input points */</font>
<a name="line375">375: </a>  <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *points; <font color="#B22222">/* The input point coordinates */</font>
<a name="line376">376: </a>  <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>  *cells;  <font color="#B22222">/* The cell containing each point */</font>
<a name="line377">377: </a>  <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>   n;      <font color="#B22222">/* The number of local points */</font>
<a name="line378">378: </a>  <a href="../manualpages/Vec/Vec.html">Vec</a>        coords; <font color="#B22222">/* The point coordinates */</font>
<a name="line379">379: </a>  <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>   dof;    <font color="#B22222">/* The number of components to interpolate */</font>
<a name="line380">380: </a>};
<a name="line381">381: </a><font color="#4169E1">typedef struct _n_DMInterpolationInfo *<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>;</font>

<a name="line383">383: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationCreate.html">DMInterpolationCreate</a>(<a href="../manualpages/Sys/MPI_Comm.html">MPI_Comm</a>, <a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a> *)</font></strong>;
<a name="line384">384: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationSetDim.html">DMInterpolationSetDim</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line385">385: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationGetDim.html">DMInterpolationGetDim</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line386">386: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationSetDof.html">DMInterpolationSetDof</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line387">387: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationGetDof.html">DMInterpolationGetDof</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line388">388: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationAddPoints.html">DMInterpolationAddPoints</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[])</font></strong>;
<a name="line389">389: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationSetUp.html">DMInterpolationSetUp</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line390">390: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationGetCoordinates.html">DMInterpolationGetCoordinates</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line391">391: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationGetVector.html">DMInterpolationGetVector</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line392">392: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationRestoreVector.html">DMInterpolationRestoreVector</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line393">393: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationEvaluate.html">DMInterpolationEvaluate</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a>, <a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line394">394: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMInterpolationDestroy.html">DMInterpolationDestroy</a>(<a href="../manualpages/DM/DMInterpolationInfo.html">DMInterpolationInfo</a> *)</font></strong>;

<a name="line396">396: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateLabel.html">DMCreateLabel</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[])</font></strong>;
<a name="line397">397: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCreateLabelAtIndex.html">DMCreateLabelAtIndex</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const char[])</font></strong>;
<a name="line398">398: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLabelValue.html">DMGetLabelValue</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line399">399: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetLabelValue.html">DMSetLabelValue</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line400">400: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMClearLabelValue.html">DMClearLabelValue</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line401">401: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLabelSize.html">DMGetLabelSize</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line402">402: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLabelIdIS.html">DMGetLabelIdIS</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line403">403: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetStratumSize.html">DMGetStratumSize</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line404">404: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetStratumIS.html">DMGetStratumIS</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a> *)</font></strong>;
<a name="line405">405: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetStratumIS.html">DMSetStratumIS</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/IS/IS.html">IS</a>)</font></strong>;
<a name="line406">406: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMClearLabelStratum.html">DMClearLabelStratum</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>)</font></strong>;
<a name="line407">407: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLabelOutput.html">DMGetLabelOutput</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line408">408: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetLabelOutput.html">DMSetLabelOutput</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line409">409: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DMPlex/DMGetFirstLabeledPoint.html">DMGetFirstLabeledPoint</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/DT/PetscDS.html">PetscDS</a> *)</font></strong>;

<a name="line411">411: </a><font color="#B22222">/*E</font>
<a name="line412">412: </a><font color="#B22222">   <a href="../manualpages/DM/DMCopyLabelsMode.html">DMCopyLabelsMode</a> - Determines how `<a href="../manualpages/DM/DMCopyLabels.html">DMCopyLabels</a>()` behaves when there is a `<a href="../manualpages/DM/DMLabel.html">DMLabel</a>` in the source and destination `<a href="../manualpages/DM/DM.html">DM</a>`s with the same name</font>

<a name="line414">414: </a><font color="#B22222">   Values:</font>
<a name="line415">415: </a><font color="#B22222">+  `<a href="../manualpages/DM/DMCopyLabelsMode.html">DM_COPY_LABELS_REPLACE</a>` - replace label in destination by label from source</font>
<a name="line416">416: </a><font color="#B22222">.  `<a href="../manualpages/DM/DMCopyLabelsMode.html">DM_COPY_LABELS_KEEP</a>`    - keep destination label</font>
<a name="line417">417: </a><font color="#B22222">-  `<a href="../manualpages/DM/DMCopyLabelsMode.html">DM_COPY_LABELS_FAIL</a>`    - generate an error</font>

<a name="line419">419: </a><font color="#B22222">   Level: advanced</font>

<a name="line421">421: </a><font color="#B22222">.seealso: [](ch_dmbase), `<a href="../manualpages/DM/DMLabel.html">DMLabel</a>`, `<a href="../manualpages/DM/DM.html">DM</a>`, `<a href="../manualpages/DM/DMCompareLabels.html">DMCompareLabels</a>()`, `<a href="../manualpages/DM/DMRemoveLabel.html">DMRemoveLabel</a>()`</font>
<a name="line422">422: </a><font color="#B22222">E*/</font>
<a name="line423">423: </a><font color="#4169E1">typedef</font> <font color="#4169E1">enum</font> {
<a name="line424">424: </a>  <a href="../manualpages/DM/DMCopyLabelsMode.html">DM_COPY_LABELS_REPLACE</a>,
<a name="line425">425: </a>  <a href="../manualpages/DM/DMCopyLabelsMode.html">DM_COPY_LABELS_KEEP</a>,
<a name="line426">426: </a>  <a href="../manualpages/DM/DMCopyLabelsMode.html">DM_COPY_LABELS_FAIL</a>
<a name="line427">427: </a>} <a href="../manualpages/DM/DMCopyLabelsMode.html">DMCopyLabelsMode</a>;
<a name="line428">428: </a>PETSC_EXTERN const char *const DMCopyLabelsModes[];

<a name="line430">430: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetNumLabels.html">DMGetNumLabels</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line431">431: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLabelName.html">DMGetLabelName</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const char *[])</font></strong>;
<a name="line432">432: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMHasLabel.html">DMHasLabel</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line433">433: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLabel.html">DMGetLabel</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char *, <a href="../manualpages/DM/DMLabel.html">DMLabel</a> *)</font></strong>;
<a name="line434">434: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMSetLabel.html">DMSetLabel</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>)</font></strong>;
<a name="line435">435: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetLabelByNum.html">DMGetLabelByNum</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a> *)</font></strong>;
<a name="line436">436: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMAddLabel.html">DMAddLabel</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>)</font></strong>;
<a name="line437">437: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRemoveLabel.html">DMRemoveLabel</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], <a href="../manualpages/DM/DMLabel.html">DMLabel</a> *)</font></strong>;
<a name="line438">438: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMRemoveLabelBySelf.html">DMRemoveLabelBySelf</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a> *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>)</font></strong>;
<a name="line439">439: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCopyLabels.html">DMCopyLabels</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscCopyMode.html">PetscCopyMode</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a>, <a href="../manualpages/DM/DMCopyLabelsMode.html">DMCopyLabelsMode</a>)</font></strong>;
<a name="line440">440: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMCompareLabels.html">DMCompareLabels</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *, char *[])</font></strong>;

<a name="line442">442: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMAddBoundary.html">DMAddBoundary</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DMBoundaryConditionType.html">DMBoundaryConditionType</a>, const char[], <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscVoidFn.html">PetscVoidFn</a> *, <a href="../manualpages/Sys/PetscVoidFn.html">PetscVoidFn</a> *, void *, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line443">443: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMIsBoundaryPoint(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line444">444: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMHasBound.html">DMHasBound</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;

<a name="line446">446: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMProjectFunction.html">DMProjectFunction</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</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 *), void **, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line447">447: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMProjectFunctionLocal.html">DMProjectFunctionLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</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 *), void **, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line448">448: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMProjectFunctionLabel.html">DMProjectFunctionLabel</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</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 *), void **, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line449">449: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMProjectFunctionLabelLocal.html">DMProjectFunctionLabelLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</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 *), void **, <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line450">450: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMProjectFieldLocal.html">DMProjectFieldLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, void (**)(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</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>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[]), <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line451">451: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMProjectFieldLabel.html">DMProjectFieldLabel</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a>, void (**)(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</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>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[]), <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line452">452: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMProjectFieldLabelLocal.html">DMProjectFieldLabelLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a>, void (**)(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</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>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[]), <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line453">453: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMProjectBdFieldLabelLocal.html">DMProjectBdFieldLabelLocal</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, <a href="../manualpages/DM/DMLabel.html">DMLabel</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a>, void (**)(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>, const <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>, const <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[], <a href="../manualpages/Sys/PetscScalar.html">PetscScalar</a>[]), <a href="../manualpages/Sys/InsertMode.html">InsertMode</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>)</font></strong>;
<a name="line454">454: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMComputeL2Diff.html">DMComputeL2Diff</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</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 *), void **, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line455">455: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMComputeL2GradientDiff.html">DMComputeL2GradientDiff</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</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>[], 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 *), void **, <a href="../manualpages/Vec/Vec.html">Vec</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line456">456: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMComputeL2FieldDiff.html">DMComputeL2FieldDiff</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</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 *), void **, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a> *)</font></strong>;
<a name="line457">457: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMComputeError.html">DMComputeError</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Vec/Vec.html">Vec</a>, <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], <a href="../manualpages/Vec/Vec.html">Vec</a> *)</font></strong>;
<a name="line458">458: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMHasBasisTransform.html">DMHasBasisTransform</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line459">459: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> DMCopyTransform(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;

<a name="line461">461: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMGetCompatibility.html">DMGetCompatibility</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;

<a name="line463">463: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMMonitorSet.html">DMMonitorSet</a>(<a href="../manualpages/DM/DM.html">DM</a>, <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, void *), void *, <a href="../manualpages/Sys/PetscCtxDestroyFn.html">PetscCtxDestroyFn</a> *)</font></strong>;
<a name="line464">464: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMMonitorCancel.html">DMMonitorCancel</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;
<a name="line465">465: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMMonitorSetFromOptions.html">DMMonitorSetFromOptions</a>(<a href="../manualpages/DM/DM.html">DM</a>, const char[], const char[], const char[], <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, void *), <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> (*)(<a href="../manualpages/DM/DM.html">DM</a>, PetscViewerAndFormat *), <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line466">466: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMMonitor.html">DMMonitor</a>(<a href="../manualpages/DM/DM.html">DM</a>)</font></strong>;

<a name="line468">468: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeIsHybrid"></a>static inline <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> DMPolytopeTypeIsHybrid(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> ct)</font></strong>
<a name="line469">469: </a>{
<a name="line470">470: </a>  <font color="#4169E1">switch</font> (ct) {
<a name="line471">471: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT_PRISM_TENSOR</a>:
<a name="line472">472: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEG_PRISM_TENSOR</a>:
<a name="line473">473: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM_TENSOR</a>:
<a name="line474">474: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUAD_PRISM_TENSOR</a>:
<a name="line475">475: </a>    <font color="#4169E1">return</font> <a href="../manualpages/Sys/PETSC_TRUE.html">PETSC_TRUE</a>;
<a name="line476">476: </a>  <font color="#4169E1">default</font>:
<a name="line477">477: </a>    <font color="#4169E1">return</font> <a href="../manualpages/Sys/PETSC_FALSE.html">PETSC_FALSE</a>;
<a name="line478">478: </a>  }
<a name="line479">479: </a>}

<a name="line481">481: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeGetDim"></a>static inline <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> DMPolytopeTypeGetDim(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> ct)</font></strong>
<a name="line482">482: </a>{
<a name="line483">483: </a>  <font color="#4169E1">switch</font> (ct) {
<a name="line484">484: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT</a>:
<a name="line485">485: </a>    <font color="#4169E1">return</font> 0;
<a name="line486">486: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEGMENT</a>:
<a name="line487">487: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT_PRISM_TENSOR</a>:
<a name="line488">488: </a>    <font color="#4169E1">return</font> 1;
<a name="line489">489: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRIANGLE</a>:
<a name="line490">490: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUADRILATERAL</a>:
<a name="line491">491: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEG_PRISM_TENSOR</a>:
<a name="line492">492: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_UNKNOWN_FACE</a>:
<a name="line493">493: </a>    <font color="#4169E1">return</font> 2;
<a name="line494">494: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TETRAHEDRON</a>:
<a name="line495">495: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_HEXAHEDRON</a>:
<a name="line496">496: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM</a>:
<a name="line497">497: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM_TENSOR</a>:
<a name="line498">498: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUAD_PRISM_TENSOR</a>:
<a name="line499">499: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_PYRAMID</a>:
<a name="line500">500: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_UNKNOWN_CELL</a>:
<a name="line501">501: </a>    <font color="#4169E1">return</font> 3;
<a name="line502">502: </a>  <font color="#4169E1">default</font>:
<a name="line503">503: </a>    <font color="#4169E1">return</font> -1;
<a name="line504">504: </a>  }
<a name="line505">505: </a>}

<a name="line507">507: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeGetConeSize"></a>static inline <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> DMPolytopeTypeGetConeSize(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> ct)</font></strong>
<a name="line508">508: </a>{
<a name="line509">509: </a>  <font color="#4169E1">switch</font> (ct) {
<a name="line510">510: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT</a>:
<a name="line511">511: </a>    <font color="#4169E1">return</font> 0;
<a name="line512">512: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEGMENT</a>:
<a name="line513">513: </a>    <font color="#4169E1">return</font> 2;
<a name="line514">514: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT_PRISM_TENSOR</a>:
<a name="line515">515: </a>    <font color="#4169E1">return</font> 2;
<a name="line516">516: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRIANGLE</a>:
<a name="line517">517: </a>    <font color="#4169E1">return</font> 3;
<a name="line518">518: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUADRILATERAL</a>:
<a name="line519">519: </a>    <font color="#4169E1">return</font> 4;
<a name="line520">520: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEG_PRISM_TENSOR</a>:
<a name="line521">521: </a>    <font color="#4169E1">return</font> 4;
<a name="line522">522: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TETRAHEDRON</a>:
<a name="line523">523: </a>    <font color="#4169E1">return</font> 4;
<a name="line524">524: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_HEXAHEDRON</a>:
<a name="line525">525: </a>    <font color="#4169E1">return</font> 6;
<a name="line526">526: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM</a>:
<a name="line527">527: </a>    <font color="#4169E1">return</font> 5;
<a name="line528">528: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM_TENSOR</a>:
<a name="line529">529: </a>    <font color="#4169E1">return</font> 5;
<a name="line530">530: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUAD_PRISM_TENSOR</a>:
<a name="line531">531: </a>    <font color="#4169E1">return</font> 6;
<a name="line532">532: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_PYRAMID</a>:
<a name="line533">533: </a>    <font color="#4169E1">return</font> 5;
<a name="line534">534: </a>  <font color="#4169E1">default</font>:
<a name="line535">535: </a>    <font color="#4169E1">return</font> -1;
<a name="line536">536: </a>  }
<a name="line537">537: </a>}

<a name="line539">539: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeGetNumVertices"></a>static inline <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> DMPolytopeTypeGetNumVertices(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> ct)</font></strong>
<a name="line540">540: </a>{
<a name="line541">541: </a>  <font color="#4169E1">switch</font> (ct) {
<a name="line542">542: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT</a>:
<a name="line543">543: </a>    <font color="#4169E1">return</font> 1;
<a name="line544">544: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEGMENT</a>:
<a name="line545">545: </a>    <font color="#4169E1">return</font> 2;
<a name="line546">546: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT_PRISM_TENSOR</a>:
<a name="line547">547: </a>    <font color="#4169E1">return</font> 2;
<a name="line548">548: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRIANGLE</a>:
<a name="line549">549: </a>    <font color="#4169E1">return</font> 3;
<a name="line550">550: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUADRILATERAL</a>:
<a name="line551">551: </a>    <font color="#4169E1">return</font> 4;
<a name="line552">552: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEG_PRISM_TENSOR</a>:
<a name="line553">553: </a>    <font color="#4169E1">return</font> 4;
<a name="line554">554: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TETRAHEDRON</a>:
<a name="line555">555: </a>    <font color="#4169E1">return</font> 4;
<a name="line556">556: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_HEXAHEDRON</a>:
<a name="line557">557: </a>    <font color="#4169E1">return</font> 8;
<a name="line558">558: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM</a>:
<a name="line559">559: </a>    <font color="#4169E1">return</font> 6;
<a name="line560">560: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM_TENSOR</a>:
<a name="line561">561: </a>    <font color="#4169E1">return</font> 6;
<a name="line562">562: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUAD_PRISM_TENSOR</a>:
<a name="line563">563: </a>    <font color="#4169E1">return</font> 8;
<a name="line564">564: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_PYRAMID</a>:
<a name="line565">565: </a>    <font color="#4169E1">return</font> 5;
<a name="line566">566: </a>  <font color="#4169E1">default</font>:
<a name="line567">567: </a>    <font color="#4169E1">return</font> -1;
<a name="line568">568: </a>  }
<a name="line569">569: </a>}

<a name="line571">571: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeSimpleShape"></a>static inline <a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> DMPolytopeTypeSimpleShape(<a href="../manualpages/Sys/PetscInt.html">PetscInt</a> dim, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> simplex)</font></strong>
<a name="line572">572: </a>{
<a name="line573">573: </a>  <font color="#4169E1">return</font> dim == 0 ? <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT</a> : (dim == 1 ? <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEGMENT</a> : (dim == 2 ? (simplex ? <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRIANGLE</a> : <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUADRILATERAL</a>) : (dim == 3 ? (simplex ? <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TETRAHEDRON</a> : <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_HEXAHEDRON</a>) : <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_UNKNOWN</a>)));
<a name="line574">574: </a>}

<a name="line576">576: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeGetNumArrangements"></a>static inline <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> DMPolytopeTypeGetNumArrangements(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> ct)</font></strong>
<a name="line577">577: </a>{
<a name="line578">578: </a>  <font color="#4169E1">switch</font> (ct) {
<a name="line579">579: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT</a>:
<a name="line580">580: </a>    <font color="#4169E1">return</font> 1;
<a name="line581">581: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEGMENT</a>:
<a name="line582">582: </a>    <font color="#4169E1">return</font> 2;
<a name="line583">583: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT_PRISM_TENSOR</a>:
<a name="line584">584: </a>    <font color="#4169E1">return</font> 2;
<a name="line585">585: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRIANGLE</a>:
<a name="line586">586: </a>    <font color="#4169E1">return</font> 6;
<a name="line587">587: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUADRILATERAL</a>:
<a name="line588">588: </a>    <font color="#4169E1">return</font> 8;
<a name="line589">589: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEG_PRISM_TENSOR</a>:
<a name="line590">590: </a>    <font color="#4169E1">return</font> 4;
<a name="line591">591: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TETRAHEDRON</a>:
<a name="line592">592: </a>    <font color="#4169E1">return</font> 24;
<a name="line593">593: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_HEXAHEDRON</a>:
<a name="line594">594: </a>    <font color="#4169E1">return</font> 48;
<a name="line595">595: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM</a>:
<a name="line596">596: </a>    <font color="#4169E1">return</font> 12;
<a name="line597">597: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM_TENSOR</a>:
<a name="line598">598: </a>    <font color="#4169E1">return</font> 12;
<a name="line599">599: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUAD_PRISM_TENSOR</a>:
<a name="line600">600: </a>    <font color="#4169E1">return</font> 16;
<a name="line601">601: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_PYRAMID</a>:
<a name="line602">602: </a>    <font color="#4169E1">return</font> 8;
<a name="line603">603: </a>  <font color="#4169E1">default</font>:
<a name="line604">604: </a>    <font color="#4169E1">return</font> -1;
<a name="line605">605: </a>  }
<a name="line606">606: </a>}

<a name="line608">608: </a><font color="#B22222">/* An arrangement is a face order combined with an orientation for each face */</font>
<a name="line609">609: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeGetArrangement"></a>static inline const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *DMPolytopeTypeGetArrangement(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> ct, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> o)</font></strong>
<a name="line610">610: </a>{
<a name="line611">611: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> pntArr[1 * 2] = {0, 0};
<a name="line612">612: </a>  <font color="#B22222">/* a: swap */</font>
<a name="line613">613: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> segArr[2 * 2 * 2] = {1, 0, 0, 0, <font color="#B22222">/* -1: a */</font>
<a name="line614">614: </a>                                             0, 0, 1, 0,
<a name="line615">615: </a>                                             <font color="#B22222">/*  0: e */</font>};
<a name="line616">616: </a>  <font color="#B22222">/* a: swap first two</font>
<a name="line617">617: </a><font color="#B22222">     b: swap last two */</font>
<a name="line618">618: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> triArr[6 * 3 * 2] = {0, -1, 2, -1, 1, -1, <font color="#B22222">/* -3: b */</font>
<a name="line619">619: </a>                                             2, -1, 1, -1, 0, -1, <font color="#B22222">/* -2: aba */</font>
<a name="line620">620: </a>                                             1, -1, 0, -1, 2, -1, <font color="#B22222">/* -1: a */</font>
<a name="line621">621: </a>                                             0, 0,  1, 0,  2, 0,  <font color="#B22222">/*  0: identity */</font>
<a name="line622">622: </a>                                             1, 0,  2, 0,  0, 0,  <font color="#B22222">/*  1: ba */</font>
<a name="line623">623: </a>                                             2, 0,  0, 0,  1, 0,
<a name="line624">624: </a>                                             <font color="#B22222">/*  2: ab */</font>};
<a name="line625">625: </a>  <font color="#B22222">/* a: forward cyclic permutation</font>
<a name="line626">626: </a><font color="#B22222">     b: swap first and last pairs */</font>
<a name="line627">627: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> quadArr[8 * 4 * 2] = {1, -1, 0, -1, 3, -1, 2, -1, <font color="#B22222">/* -4: b */</font>
<a name="line628">628: </a>                                              0, -1, 3, -1, 2, -1, 1, -1, <font color="#B22222">/* -3: b a^3 = a b */</font>
<a name="line629">629: </a>                                              3, -1, 2, -1, 1, -1, 0, -1, <font color="#B22222">/* -2: b a^2 = a^2 b */</font>
<a name="line630">630: </a>                                              2, -1, 1, -1, 0, -1, 3, -1, <font color="#B22222">/* -1: b a   = a^3 b */</font>
<a name="line631">631: </a>                                              0, 0,  1, 0,  2, 0,  3, 0,  <font color="#B22222">/*  0: identity */</font>
<a name="line632">632: </a>                                              1, 0,  2, 0,  3, 0,  0, 0,  <font color="#B22222">/*  1: a */</font>
<a name="line633">633: </a>                                              2, 0,  3, 0,  0, 0,  1, 0,  <font color="#B22222">/*  2: a^2 */</font>
<a name="line634">634: </a>                                              3, 0,  0, 0,  1, 0,  2, 0,
<a name="line635">635: </a>                                              <font color="#B22222">/*  3: a^3 */</font>};
<a name="line636">636: </a>  <font color="#B22222">/* r: rotate 180</font>
<a name="line637">637: </a><font color="#B22222">     b: swap top and bottom segments */</font>
<a name="line638">638: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tsegArr[4 * 4 * 2] = {1, -1, 0, -1, 3, -1, 2, -1, <font color="#B22222">/* -2: r b */</font>
<a name="line639">639: </a>                                              0, -1, 1, -1, 3, 0,  2, 0,  <font color="#B22222">/* -1: r */</font>
<a name="line640">640: </a>                                              0, 0,  1, 0,  2, 0,  3, 0,  <font color="#B22222">/*  0: identity */</font>
<a name="line641">641: </a>                                              1, 0,  0, 0,  2, -1, 3, -1,
<a name="line642">642: </a>                                              <font color="#B22222">/*  1: b */</font>};
<a name="line643">643: </a>  <font color="#B22222">/* https://en.wikiversity.org/wiki/Symmetric_group_S4 */</font>
<a name="line644">644: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tetArr[24 * 4 * 2] = {3, -2, 2, -3, 0, -1, 1, -1, <font color="#B22222">/* -12: (1324)   p22 */</font>
<a name="line645">645: </a>                                              3, -1, 1, -3, 2, -1, 0, -1, <font color="#B22222">/* -11: (14)     p21 */</font>
<a name="line646">646: </a>                                              3, -3, 0, -3, 1, -1, 2, -1, <font color="#B22222">/* -10: (1234)   p18 */</font>
<a name="line647">647: </a>                                              2, -1, 3, -1, 1, -3, 0, -2, <font color="#B22222">/*  -9: (1423)   p17 */</font>
<a name="line648">648: </a>                                              2, -3, 0, -1, 3, -2, 1, -3, <font color="#B22222">/*  -8: (1342)   p13 */</font>
<a name="line649">649: </a>                                              2, -2, 1, -2, 0, -2, 3, -2, <font color="#B22222">/*  -7: (24)     p14 */</font>
<a name="line650">650: </a>                                              1, -2, 0, -2, 2, -2, 3, -1, <font color="#B22222">/*  -6: (34)     p6  */</font>
<a name="line651">651: </a>                                              1, -1, 3, -3, 0, -3, 2, -2, <font color="#B22222">/*  -5: (1243)   p10 */</font>
<a name="line652">652: </a>                                              1, -3, 2, -1, 3, -1, 0, -3, <font color="#B22222">/*  -4: (1432)   p9  */</font>
<a name="line653">653: </a>                                              0, -3, 1, -1, 3, -3, 2, -3, <font color="#B22222">/*  -3: (12)     p1  */</font>
<a name="line654">654: </a>                                              0, -2, 2, -2, 1, -2, 3, -3, <font color="#B22222">/*  -2: (23)     p2  */</font>
<a name="line655">655: </a>                                              0, -1, 3, -2, 2, -3, 1, -2, <font color="#B22222">/*  -1: (13)     p5  */</font>
<a name="line656">656: </a>                                              0, 0,  1, 0,  2, 0,  3, 0,  <font color="#B22222">/*   0: ()       p0  */</font>
<a name="line657">657: </a>                                              0, 1,  3, 1,  1, 2,  2, 0,  <font color="#B22222">/*   1: (123)    p4  */</font>
<a name="line658">658: </a>                                              0, 2,  2, 1,  3, 0,  1, 2,  <font color="#B22222">/*   2: (132)    p3  */</font>
<a name="line659">659: </a>                                              1, 2,  0, 1,  3, 1,  2, 2,  <font color="#B22222">/*   3: (12)(34) p7  */</font>
<a name="line660">660: </a>                                              1, 0,  2, 0,  0, 0,  3, 1,  <font color="#B22222">/*   4: (243)    p8  */</font>
<a name="line661">661: </a>                                              1, 1,  3, 2,  2, 2,  0, 0,  <font color="#B22222">/*   5: (143)    p11 */</font>
<a name="line662">662: </a>                                              2, 1,  3, 0,  0, 2,  1, 0,  <font color="#B22222">/*   6: (13)(24) p16 */</font>
<a name="line663">663: </a>                                              2, 2,  1, 1,  3, 2,  0, 2,  <font color="#B22222">/*   7: (142)    p15 */</font>
<a name="line664">664: </a>                                              2, 0,  0, 0,  1, 0,  3, 2,  <font color="#B22222">/*   8: (234)    p12 */</font>
<a name="line665">665: </a>                                              3, 2,  2, 2,  1, 1,  0, 1,  <font color="#B22222">/*   9: (14)(23) p23 */</font>
<a name="line666">666: </a>                                              3, 0,  0, 2,  2, 1,  1, 1,  <font color="#B22222">/*  10: (134)    p19 */</font>
<a name="line667">667: </a>                                              3, 1,  1, 2,  0, 1,  2, 1 <font color="#B22222">/*  11: (124)    p20 */</font>};
<a name="line668">668: </a>  <font color="#B22222">/* Each rotation determines a permutation of the four diagonals, and this defines the isomorphism with S_4 */</font>
<a name="line669">669: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> hexArr[48 * 6 * 2] = {
<a name="line670">670: </a>    2, -3, 3, -2, 4, -2, 5, -3, 1, -3, 0, -1, <font color="#B22222">/* -24: reflect bottom and use -3 on top */</font>
<a name="line671">671: </a>    4, -2, 5, -2, 0, -1, 1, -4, 3, -2, 2, -3, <font color="#B22222">/* -23: reflect bottom and use -3 on top */</font>
<a name="line672">672: </a>    5, -3, 4, -1, 1, -2, 0, -3, 3, -4, 2, -1, <font color="#B22222">/* -22: reflect bottom and use -3 on top */</font>
<a name="line673">673: </a>    3, -1, 2, -4, 4, -4, 5, -1, 0, -4, 1, -4, <font color="#B22222">/* -21: reflect bottom and use -3 on top */</font>
<a name="line674">674: </a>    3, -3, 2, -2, 5, -1, 4, -4, 1, -1, 0, -3, <font color="#B22222">/* -20: reflect bottom and use -3 on top */</font>
<a name="line675">675: </a>    4, -4, 5, -4, 1, -4, 0, -1, 2, -4, 3, -1, <font color="#B22222">/* -19: reflect bottom and use -3 on top */</font>
<a name="line676">676: </a>    2, -1, 3, -4, 5, -3, 4, -2, 0, -2, 1, -2, <font color="#B22222">/* -18: reflect bottom and use -3 on top */</font>
<a name="line677">677: </a>    5, -1, 4, -3, 0, -3, 1, -2, 2, -2, 3, -3, <font color="#B22222">/* -17: reflect bottom and use -3 on top */</font>
<a name="line678">678: </a>    4, -3, 5, -1, 3, -2, 2, -4, 1, -4, 0, -4, <font color="#B22222">/* -16: reflect bottom and use -3 on top */</font>
<a name="line679">679: </a>    5, -4, 4, -4, 3, -4, 2, -2, 0, -3, 1, -1, <font color="#B22222">/* -15: reflect bottom and use -3 on top */</font>
<a name="line680">680: </a>    3, -4, 2, -1, 1, -1, 0, -4, 4, -4, 5, -4, <font color="#B22222">/* -14: reflect bottom and use -3 on top */</font>
<a name="line681">681: </a>    2, -2, 3, -3, 0, -2, 1, -3, 4, -2, 5, -2, <font color="#B22222">/* -13: reflect bottom and use -3 on top */</font>
<a name="line682">682: </a>    1, -3, 0, -1, 4, -1, 5, -4, 3, -1, 2, -4, <font color="#B22222">/* -12: reflect bottom and use -3 on top */</font>
<a name="line683">683: </a>    1, -1, 0, -3, 5, -4, 4, -1, 2, -1, 3, -4, <font color="#B22222">/* -11: reflect bottom and use -3 on top */</font>
<a name="line684">684: </a>    5, -2, 4, -2, 2, -2, 3, -4, 1, -2, 0, -2, <font color="#B22222">/* -10: reflect bottom and use -3 on top */</font>
<a name="line685">685: </a>    1, -2, 0, -2, 2, -1, 3, -1, 4, -1, 5, -3, <font color="#B22222">/*  -9: reflect bottom and use -3 on top */</font>
<a name="line686">686: </a>    4, -1, 5, -3, 2, -4, 3, -2, 0, -1, 1, -3, <font color="#B22222">/*  -8: reflect bottom and use -3 on top */</font>
<a name="line687">687: </a>    3, -2, 2, -3, 0, -4, 1, -1, 5, -1, 4, -3, <font color="#B22222">/*  -7: reflect bottom and use -3 on top */</font>
<a name="line688">688: </a>    1, -4, 0, -4, 3, -1, 2, -1, 5, -4, 4, -4, <font color="#B22222">/*  -6: reflect bottom and use -3 on top */</font>
<a name="line689">689: </a>    2, -4, 3, -1, 1, -3, 0, -2, 5, -3, 4, -1, <font color="#B22222">/*  -5: reflect bottom and use -3 on top */</font>
<a name="line690">690: </a>    0, -4, 1, -4, 4, -3, 5, -2, 2, -3, 3, -2, <font color="#B22222">/*  -4: reflect bottom and use -3 on top */</font>
<a name="line691">691: </a>    0, -3, 1, -1, 3, -3, 2, -3, 4, -3, 5, -1, <font color="#B22222">/*  -3: reflect bottom and use -3 on top */</font>
<a name="line692">692: </a>    0, -2, 1, -2, 5, -2, 4, -3, 3, -3, 2, -2, <font color="#B22222">/*  -2: reflect bottom and use -3 on top */</font>
<a name="line693">693: </a>    0, -1, 1, -3, 2, -3, 3, -3, 5, -2, 4, -2, <font color="#B22222">/*  -1: reflect bottom and use -3 on top */</font>
<a name="line694">694: </a>    0, 0,  1, 0,  2, 0,  3, 0,  4, 0,  5, 0,  <font color="#B22222">/*   0: identity */</font>
<a name="line695">695: </a>    0, 1,  1, 3,  5, 3,  4, 0,  2, 0,  3, 1,  <font color="#B22222">/*   1: 90  rotation about z */</font>
<a name="line696">696: </a>    0, 2,  1, 2,  3, 0,  2, 0,  5, 3,  4, 1,  <font color="#B22222">/*   2: 180 rotation about z */</font>
<a name="line697">697: </a>    0, 3,  1, 1,  4, 0,  5, 3,  3, 0,  2, 1,  <font color="#B22222">/*   3: 270 rotation about z */</font>
<a name="line698">698: </a>    2, 3,  3, 2,  1, 0,  0, 3,  4, 3,  5, 1,  <font color="#B22222">/*   4: 90  rotation about x */</font>
<a name="line699">699: </a>    1, 3,  0, 1,  3, 2,  2, 2,  4, 2,  5, 2,  <font color="#B22222">/*   5: 180 rotation about x */</font>
<a name="line700">700: </a>    3, 1,  2, 0,  0, 1,  1, 2,  4, 1,  5, 3,  <font color="#B22222">/*   6: 270 rotation about x */</font>
<a name="line701">701: </a>    4, 0,  5, 0,  2, 1,  3, 3,  1, 1,  0, 3,  <font color="#B22222">/*   7: 90  rotation about y */</font>
<a name="line702">702: </a>    1, 1,  0, 3,  2, 2,  3, 2,  5, 1,  4, 3,  <font color="#B22222">/*   8: 180 rotation about y */</font>
<a name="line703">703: </a>    5, 1,  4, 3,  2, 3,  3, 1,  0, 0,  1, 0,  <font color="#B22222">/*   9: 270 rotation about y */</font>
<a name="line704">704: </a>    1, 0,  0, 0,  5, 1,  4, 2,  3, 2,  2, 3,  <font color="#B22222">/*  10: 180 rotation about x+y */</font>
<a name="line705">705: </a>    1, 2,  0, 2,  4, 2,  5, 1,  2, 2,  3, 3,  <font color="#B22222">/*  11: 180 rotation about x-y */</font>
<a name="line706">706: </a>    2, 1,  3, 0,  0, 3,  1, 0,  5, 0,  4, 0,  <font color="#B22222">/*  12: 180 rotation about y+z */</font>
<a name="line707">707: </a>    3, 3,  2, 2,  1, 2,  0, 1,  5, 2,  4, 2,  <font color="#B22222">/*  13: 180 rotation about y-z */</font>
<a name="line708">708: </a>    5, 3,  4, 1,  3, 1,  2, 3,  1, 3,  0, 1,  <font color="#B22222">/*  14: 180 rotation about z+x */</font>
<a name="line709">709: </a>    4, 2,  5, 2,  3, 3,  2, 1,  0, 2,  1, 2,  <font color="#B22222">/*  15: 180 rotation about z-x */</font>
<a name="line710">710: </a>    5, 0,  4, 0,  0, 0,  1, 3,  3, 1,  2, 0,  <font color="#B22222">/*  16: 120 rotation about x+y+z (v0v6) */</font>
<a name="line711">711: </a>    2, 0,  3, 1,  5, 0,  4, 3,  1, 0,  0, 0,  <font color="#B22222">/*  17: 240 rotation about x+y+z (v0v6) */</font>
<a name="line712">712: </a>    4, 3,  5, 1,  1, 1,  0, 2,  3, 3,  2, 2,  <font color="#B22222">/*  18: 120 rotation about x+y-z (v4v2) */</font>
<a name="line713">713: </a>    3, 2,  2, 3,  5, 2,  4, 1,  0, 1,  1, 3,  <font color="#B22222">/*  19: 240 rotation about x+y-z (v4v2) */</font>
<a name="line714">714: </a>    3, 0,  2, 1,  4, 1,  5, 2,  1, 2,  0, 2,  <font color="#B22222">/*  20: 120 rotation about x-y+z (v1v5) */</font>
<a name="line715">715: </a>    5, 2,  4, 2,  1, 3,  0, 0,  2, 3,  3, 2,  <font color="#B22222">/*  21: 240 rotation about x-y+z (v1v5) */</font>
<a name="line716">716: </a>    4, 1,  5, 3,  0, 2,  1, 1,  2, 1,  3, 0,  <font color="#B22222">/*  22: 120 rotation about x-y-z (v7v3) */</font>
<a name="line717">717: </a>    2, 2,  3, 3,  4, 3,  5, 0,  0, 3,  1, 1,  <font color="#B22222">/*  23: 240 rotation about x-y-z (v7v3) */</font>
<a name="line718">718: </a>  };
<a name="line719">719: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tripArr[12 * 5 * 2] = {
<a name="line720">720: </a>    1, -3, 0, -1, 3, -1, 4, -1, 2, -1, <font color="#B22222">/* -6: reflect bottom and top */</font>
<a name="line721">721: </a>    1, -1, 0, -3, 4, -1, 2, -1, 3, -1, <font color="#B22222">/* -5: reflect bottom and top */</font>
<a name="line722">722: </a>    1, -2, 0, -2, 2, -1, 3, -1, 4, -1, <font color="#B22222">/* -4: reflect bottom and top */</font>
<a name="line723">723: </a>    0, -3, 1, -1, 3, -3, 2, -3, 4, -3, <font color="#B22222">/* -3: reflect bottom and top */</font>
<a name="line724">724: </a>    0, -2, 1, -2, 4, -3, 3, -3, 2, -3, <font color="#B22222">/* -2: reflect bottom and top */</font>
<a name="line725">725: </a>    0, -1, 1, -3, 2, -3, 4, -3, 3, -3, <font color="#B22222">/* -1: reflect bottom and top */</font>
<a name="line726">726: </a>    0, 0,  1, 0,  2, 0,  3, 0,  4, 0,  <font color="#B22222">/*  0: identity */</font>
<a name="line727">727: </a>    0, 1,  1, 2,  4, 0,  2, 0,  3, 0,  <font color="#B22222">/*  1: 120 rotation about z */</font>
<a name="line728">728: </a>    0, 2,  1, 1,  3, 0,  4, 0,  2, 0,  <font color="#B22222">/*  2: 240 rotation about z */</font>
<a name="line729">729: </a>    1, 1,  0, 2,  2, 2,  4, 2,  3, 2,  <font color="#B22222">/*  3: 180 rotation about y of 0 */</font>
<a name="line730">730: </a>    1, 0,  0, 0,  4, 2,  3, 2,  2, 2,  <font color="#B22222">/*  4: 180 rotation about y of 1 */</font>
<a name="line731">731: </a>    1, 2,  0, 1,  3, 2,  2, 2,  4, 2,  <font color="#B22222">/*  5: 180 rotation about y of 2 */</font>
<a name="line732">732: </a>  };
<a name="line733">733: </a>  <font color="#B22222">/* a: rotate 120 about z</font>
<a name="line734">734: </a><font color="#B22222">     b: swap top and bottom segments</font>
<a name="line735">735: </a><font color="#B22222">     r: reflect */</font>
<a name="line736">736: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> ttriArr[12 * 5 * 2] = {
<a name="line737">737: </a>    1, -3, 0, -3, 2, -2, 4, -2, 3, -2, <font color="#B22222">/* -6: r b a^2 */</font>
<a name="line738">738: </a>    1, -2, 0, -2, 4, -2, 3, -2, 2, -2, <font color="#B22222">/* -5: r b a */</font>
<a name="line739">739: </a>    1, -1, 0, -1, 3, -2, 2, -2, 4, -2, <font color="#B22222">/* -4: r b */</font>
<a name="line740">740: </a>    0, -3, 1, -3, 2, -1, 4, -1, 3, -1, <font color="#B22222">/* -3: r a^2 */</font>
<a name="line741">741: </a>    0, -2, 1, -2, 4, -1, 3, -1, 2, -1, <font color="#B22222">/* -2: r a */</font>
<a name="line742">742: </a>    0, -1, 1, -1, 3, -1, 2, -1, 4, -1, <font color="#B22222">/* -1: r */</font>
<a name="line743">743: </a>    0, 0,  1, 0,  2, 0,  3, 0,  4, 0,  <font color="#B22222">/*  0: identity */</font>
<a name="line744">744: </a>    0, 1,  1, 1,  3, 0,  4, 0,  2, 0,  <font color="#B22222">/*  1: a */</font>
<a name="line745">745: </a>    0, 2,  1, 2,  4, 0,  2, 0,  3, 0,  <font color="#B22222">/*  2: a^2 */</font>
<a name="line746">746: </a>    1, 0,  0, 0,  2, 1,  3, 1,  4, 1,  <font color="#B22222">/*  3: b */</font>
<a name="line747">747: </a>    1, 1,  0, 1,  3, 1,  4, 1,  2, 1,  <font color="#B22222">/*  4: b a */</font>
<a name="line748">748: </a>    1, 2,  0, 2,  4, 1,  2, 1,  3, 1,  <font color="#B22222">/*  5: b a^2 */</font>
<a name="line749">749: </a>  };
<a name="line750">750: </a>  <font color="#B22222">/* a: rotate 90 about z</font>
<a name="line751">751: </a><font color="#B22222">     b: swap top and bottom segments</font>
<a name="line752">752: </a><font color="#B22222">     r: reflect */</font>
<a name="line753">753: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tquadArr[16 * 6 * 2] = {
<a name="line754">754: </a>    1, -4, 0, -4, 3, -2, 2, -2, 5, -2, 4, -2, <font color="#B22222">/* -8: r b a^3 */</font>
<a name="line755">755: </a>    1, -3, 0, -3, 2, -2, 5, -2, 4, -2, 3, -2, <font color="#B22222">/* -7: r b a^2 */</font>
<a name="line756">756: </a>    1, -2, 0, -2, 5, -2, 4, -2, 3, -2, 2, -2, <font color="#B22222">/* -6: r b a */</font>
<a name="line757">757: </a>    1, -1, 0, -1, 4, -2, 3, -2, 2, -2, 5, -2, <font color="#B22222">/* -5: r b */</font>
<a name="line758">758: </a>    0, -4, 1, -4, 3, -1, 2, -1, 5, -1, 4, -1, <font color="#B22222">/* -4: r a^3 */</font>
<a name="line759">759: </a>    0, -3, 1, -3, 2, -1, 5, -1, 4, -1, 3, -1, <font color="#B22222">/* -3: r a^2 */</font>
<a name="line760">760: </a>    0, -2, 1, -2, 5, -1, 4, -1, 3, -1, 2, -1, <font color="#B22222">/* -2: r a */</font>
<a name="line761">761: </a>    0, -1, 1, -1, 4, -1, 3, -1, 2, -1, 5, -1, <font color="#B22222">/* -1: r */</font>
<a name="line762">762: </a>    0, 0,  1, 0,  2, 0,  3, 0,  4, 0,  5, 0,  <font color="#B22222">/*  0: identity */</font>
<a name="line763">763: </a>    0, 1,  1, 1,  3, 0,  4, 0,  5, 0,  2, 0,  <font color="#B22222">/*  1: a */</font>
<a name="line764">764: </a>    0, 2,  1, 2,  4, 0,  5, 0,  2, 0,  3, 0,  <font color="#B22222">/*  2: a^2 */</font>
<a name="line765">765: </a>    0, 3,  1, 3,  5, 0,  2, 0,  3, 0,  4, 0,  <font color="#B22222">/*  3: a^3 */</font>
<a name="line766">766: </a>    1, 0,  0, 0,  2, 1,  3, 1,  4, 1,  5, 1,  <font color="#B22222">/*  4: b */</font>
<a name="line767">767: </a>    1, 1,  0, 1,  3, 1,  4, 1,  5, 1,  2, 1,  <font color="#B22222">/*  5: b a */</font>
<a name="line768">768: </a>    1, 2,  0, 2,  4, 1,  5, 1,  2, 1,  3, 1,  <font color="#B22222">/*  6: b a^2 */</font>
<a name="line769">769: </a>    1, 3,  0, 3,  5, 1,  2, 1,  3, 1,  4, 1,  <font color="#B22222">/*  7: b a^3 */</font>
<a name="line770">770: </a>  };
<a name="line771">771: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> pyrArr[8 * 5 * 2] = {
<a name="line772">772: </a>    0, -4, 2, -3, 1, -3, 4, -3, 3, -3, <font color="#B22222">/* -4: Reflect bottom face */</font>
<a name="line773">773: </a>    0, -3, 3, -3, 2, -3, 1, -3, 4, -3, <font color="#B22222">/* -3: Reflect bottom face */</font>
<a name="line774">774: </a>    0, -2, 4, -3, 3, -3, 2, -3, 1, -3, <font color="#B22222">/* -2: Reflect bottom face */</font>
<a name="line775">775: </a>    0, -1, 1, -3, 4, -3, 3, -3, 2, -3, <font color="#B22222">/* -1: Reflect bottom face */</font>
<a name="line776">776: </a>    0, 0,  1, 0,  2, 0,  3, 0,  4, 0,  <font color="#B22222">/*  0: identity */</font>
<a name="line777">777: </a>    0, 1,  4, 0,  1, 0,  2, 0,  3, 0,  <font color="#B22222">/*  1:  90 rotation about z */</font>
<a name="line778">778: </a>    0, 2,  3, 0,  4, 0,  1, 0,  2, 0,  <font color="#B22222">/*  2: 180 rotation about z */</font>
<a name="line779">779: </a>    0, 3,  2, 0,  3, 0,  4, 0,  1, 0,  <font color="#B22222">/*  3: 270 rotation about z */</font>
<a name="line780">780: </a>  };
<a name="line781">781: </a>  <font color="#4169E1">switch</font> (ct) {
<a name="line782">782: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT</a>:
<a name="line783">783: </a>    <font color="#4169E1">return</font> pntArr;
<a name="line784">784: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEGMENT</a>:
<a name="line785">785: </a>    <font color="#4169E1">return</font> &amp;segArr[(o + 1) * 2 * 2];
<a name="line786">786: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT_PRISM_TENSOR</a>:
<a name="line787">787: </a>    <font color="#4169E1">return</font> &amp;segArr[(o + 1) * 2 * 2];
<a name="line788">788: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRIANGLE</a>:
<a name="line789">789: </a>    <font color="#4169E1">return</font> &amp;triArr[(o + 3) * 3 * 2];
<a name="line790">790: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUADRILATERAL</a>:
<a name="line791">791: </a>    <font color="#4169E1">return</font> &amp;quadArr[(o + 4) * 4 * 2];
<a name="line792">792: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEG_PRISM_TENSOR</a>:
<a name="line793">793: </a>    <font color="#4169E1">return</font> &amp;tsegArr[(o + 2) * 4 * 2];
<a name="line794">794: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TETRAHEDRON</a>:
<a name="line795">795: </a>    <font color="#4169E1">return</font> &amp;tetArr[(o + 12) * 4 * 2];
<a name="line796">796: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_HEXAHEDRON</a>:
<a name="line797">797: </a>    <font color="#4169E1">return</font> &amp;hexArr[(o + 24) * 6 * 2];
<a name="line798">798: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM</a>:
<a name="line799">799: </a>    <font color="#4169E1">return</font> &amp;tripArr[(o + 6) * 5 * 2];
<a name="line800">800: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM_TENSOR</a>:
<a name="line801">801: </a>    <font color="#4169E1">return</font> &amp;ttriArr[(o + 6) * 5 * 2];
<a name="line802">802: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUAD_PRISM_TENSOR</a>:
<a name="line803">803: </a>    <font color="#4169E1">return</font> &amp;tquadArr[(o + 8) * 6 * 2];
<a name="line804">804: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_PYRAMID</a>:
<a name="line805">805: </a>    <font color="#4169E1">return</font> &amp;pyrArr[(o + 4) * 5 * 2];
<a name="line806">806: </a>  <font color="#4169E1">default</font>:
<a name="line807">807: </a>    <font color="#4169E1">return</font> <a href="../manualpages/Sys/PETSC_NULLPTR.html">PETSC_NULLPTR</a>;
<a name="line808">808: </a>  }
<a name="line809">809: </a>}

<a name="line811">811: </a><font color="#B22222">/* A vertex arrangement is a vertex order */</font>
<a name="line812">812: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeGetVertexArrangement"></a>static inline const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *DMPolytopeTypeGetVertexArrangement(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> ct, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> o)</font></strong>
<a name="line813">813: </a>{
<a name="line814">814: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> pntVerts[1]      = {0};
<a name="line815">815: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> segVerts[2 * 2]  = {1, 0, 0, 1};
<a name="line816">816: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> triVerts[6 * 3]  = {1, 0, 2, 0, 2, 1, 2, 1, 0, 0, 1, 2, 1, 2, 0, 2, 0, 1};
<a name="line817">817: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> quadVerts[8 * 4] = {2, 1, 0, 3, 1, 0, 3, 2, 0, 3, 2, 1, 3, 2, 1, 0, 0, 1, 2, 3, 1, 2, 3, 0, 2, 3, 0, 1, 3, 0, 1, 2};
<a name="line818">818: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tsegVerts[4 * 4] = {3, 2, 1, 0, 1, 0, 3, 2, 0, 1, 2, 3, 2, 3, 0, 1};
<a name="line819">819: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tetVerts[24 * 4] = {2, 3, 1, 0, <font color="#B22222">/* -12: (1324)   p22 */</font>
<a name="line820">820: </a>                                            3, 1, 2, 0, <font color="#B22222">/* -11: (14)     p21 */</font>
<a name="line821">821: </a>                                            1, 2, 3, 0, <font color="#B22222">/* -10: (1234)   p18 */</font>
<a name="line822">822: </a>                                            3, 2, 0, 1, <font color="#B22222">/*  -9: (1423)   p17 */</font>
<a name="line823">823: </a>                                            2, 0, 3, 1, <font color="#B22222">/*  -8: (1342)   p13 */</font>
<a name="line824">824: </a>                                            0, 3, 2, 1, <font color="#B22222">/*  -7: (24)     p14 */</font>
<a name="line825">825: </a>                                            0, 1, 3, 2, <font color="#B22222">/*  -6: (34)     p6  */</font>
<a name="line826">826: </a>                                            1, 3, 0, 2, <font color="#B22222">/*  -5: (1243)   p10 */</font>
<a name="line827">827: </a>                                            3, 0, 1, 2, <font color="#B22222">/*  -4: (1432    p9  */</font>
<a name="line828">828: </a>                                            1, 0, 2, 3, <font color="#B22222">/*  -3: (12)     p1  */</font>
<a name="line829">829: </a>                                            0, 2, 1, 3, <font color="#B22222">/*  -2: (23)     p2  */</font>
<a name="line830">830: </a>                                            2, 1, 0, 3, <font color="#B22222">/*  -1: (13)     p5  */</font>
<a name="line831">831: </a>                                            0, 1, 2, 3, <font color="#B22222">/*   0: ()       p0  */</font>
<a name="line832">832: </a>                                            1, 2, 0, 3, <font color="#B22222">/*   1: (123)    p4  */</font>
<a name="line833">833: </a>                                            2, 0, 1, 3, <font color="#B22222">/*   2: (132)    p3  */</font>
<a name="line834">834: </a>                                            1, 0, 3, 2, <font color="#B22222">/*   3: (12)(34) p7  */</font>
<a name="line835">835: </a>                                            0, 3, 1, 2, <font color="#B22222">/*   4: (243)    p8  */</font>
<a name="line836">836: </a>                                            3, 1, 0, 2, <font color="#B22222">/*   5: (143)    p11 */</font>
<a name="line837">837: </a>                                            2, 3, 0, 1, <font color="#B22222">/*   6: (13)(24) p16 */</font>
<a name="line838">838: </a>                                            3, 0, 2, 1, <font color="#B22222">/*   7: (142)    p15 */</font>
<a name="line839">839: </a>                                            0, 2, 3, 1, <font color="#B22222">/*   8: (234)    p12 */</font>
<a name="line840">840: </a>                                            3, 2, 1, 0, <font color="#B22222">/*   9: (14)(23) p23 */</font>
<a name="line841">841: </a>                                            2, 1, 3, 0, <font color="#B22222">/*  10: (134)    p19 */</font>
<a name="line842">842: </a>                                            1, 3, 2, 0 <font color="#B22222">/*  11: (124)    p20 */</font>};
<a name="line843">843: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> hexVerts[48 * 8] = {
<a name="line844">844: </a>    3, 0, 4, 5, 2, 6, 7, 1, <font color="#B22222">/* -24: reflected 23 */</font>
<a name="line845">845: </a>    3, 5, 6, 2, 0, 1, 7, 4, <font color="#B22222">/* -23: reflected 22 */</font>
<a name="line846">846: </a>    4, 0, 1, 7, 5, 6, 2, 3, <font color="#B22222">/* -22: reflected 21 */</font>
<a name="line847">847: </a>    6, 7, 1, 2, 5, 3, 0, 4, <font color="#B22222">/* -21: reflected 20 */</font>
<a name="line848">848: </a>    1, 2, 6, 7, 0, 4, 5, 3, <font color="#B22222">/* -20: reflected 19 */</font>
<a name="line849">849: </a>    6, 2, 3, 5, 7, 4, 0, 1, <font color="#B22222">/* -19: reflected 18 */</font>
<a name="line850">850: </a>    4, 5, 3, 0, 7, 1, 2, 6, <font color="#B22222">/* -18: reflected 17 */</font>
<a name="line851">851: </a>    1, 7, 4, 0, 2, 3, 5, 6, <font color="#B22222">/* -17: reflected 16 */</font>
<a name="line852">852: </a>    2, 3, 5, 6, 1, 7, 4, 0, <font color="#B22222">/* -16: reflected 15 */</font>
<a name="line853">853: </a>    7, 4, 0, 1, 6, 2, 3, 5, <font color="#B22222">/* -15: reflected 14 */</font>
<a name="line854">854: </a>    7, 1, 2, 6, 4, 5, 3, 0, <font color="#B22222">/* -14: reflected 13 */</font>
<a name="line855">855: </a>    0, 4, 5, 3, 1, 2, 6, 7, <font color="#B22222">/* -13: reflected 12 */</font>
<a name="line856">856: </a>    5, 4, 7, 6, 3, 2, 1, 0, <font color="#B22222">/* -12: reflected 11 */</font>
<a name="line857">857: </a>    7, 6, 5, 4, 1, 0, 3, 2, <font color="#B22222">/* -11: reflected 10 */</font>
<a name="line858">858: </a>    0, 1, 7, 4, 3, 5, 6, 2, <font color="#B22222">/* -10: reflected  9 */</font>
<a name="line859">859: </a>    4, 7, 6, 5, 0, 3, 2, 1, <font color="#B22222">/*  -9: reflected  8 */</font>
<a name="line860">860: </a>    5, 6, 2, 3, 4, 0, 1, 7, <font color="#B22222">/*  -8: reflected  7 */</font>
<a name="line861">861: </a>    2, 6, 7, 1, 3, 0, 4, 5, <font color="#B22222">/*  -7: reflected  6 */</font>
<a name="line862">862: </a>    6, 5, 4, 7, 2, 1, 0, 3, <font color="#B22222">/*  -6: reflected  5 */</font>
<a name="line863">863: </a>    5, 3, 0, 4, 6, 7, 1, 2, <font color="#B22222">/*  -5: reflected  4 */</font>
<a name="line864">864: </a>    2, 1, 0, 3, 6, 5, 4, 7, <font color="#B22222">/*  -4: reflected  3 */</font>
<a name="line865">865: </a>    1, 0, 3, 2, 7, 6, 5, 4, <font color="#B22222">/*  -3: reflected  2 */</font>
<a name="line866">866: </a>    0, 3, 2, 1, 4, 7, 6, 5, <font color="#B22222">/*  -2: reflected  1 */</font>
<a name="line867">867: </a>    3, 2, 1, 0, 5, 4, 7, 6, <font color="#B22222">/*  -1: reflected  0 */</font>
<a name="line868">868: </a>    0, 1, 2, 3, 4, 5, 6, 7, <font color="#B22222">/*   0: identity */</font>
<a name="line869">869: </a>    1, 2, 3, 0, 7, 4, 5, 6, <font color="#B22222">/*   1: 90  rotation about z */</font>
<a name="line870">870: </a>    2, 3, 0, 1, 6, 7, 4, 5, <font color="#B22222">/*   2: 180 rotation about z */</font>
<a name="line871">871: </a>    3, 0, 1, 2, 5, 6, 7, 4, <font color="#B22222">/*   3: 270 rotation about z */</font>
<a name="line872">872: </a>    4, 0, 3, 5, 7, 6, 2, 1, <font color="#B22222">/*   4: 90  rotation about x */</font>
<a name="line873">873: </a>    7, 4, 5, 6, 1, 2, 3, 0, <font color="#B22222">/*   5: 180 rotation about x */</font>
<a name="line874">874: </a>    1, 7, 6, 2, 0, 3, 5, 4, <font color="#B22222">/*   6: 270 rotation about x */</font>
<a name="line875">875: </a>    3, 2, 6, 5, 0, 4, 7, 1, <font color="#B22222">/*   7: 90  rotation about y */</font>
<a name="line876">876: </a>    5, 6, 7, 4, 3, 0, 1, 2, <font color="#B22222">/*   8: 180 rotation about y */</font>
<a name="line877">877: </a>    4, 7, 1, 0, 5, 3, 2, 6, <font color="#B22222">/*   9: 270 rotation about y */</font>
<a name="line878">878: </a>    4, 5, 6, 7, 0, 1, 2, 3, <font color="#B22222">/*  10: 180 rotation about x+y */</font>
<a name="line879">879: </a>    6, 7, 4, 5, 2, 3, 0, 1, <font color="#B22222">/*  11: 180 rotation about x-y */</font>
<a name="line880">880: </a>    3, 5, 4, 0, 2, 1, 7, 6, <font color="#B22222">/*  12: 180 rotation about y+z */</font>
<a name="line881">881: </a>    6, 2, 1, 7, 5, 4, 0, 3, <font color="#B22222">/*  13: 180 rotation about y-z */</font>
<a name="line882">882: </a>    1, 0, 4, 7, 2, 6, 5, 3, <font color="#B22222">/*  14: 180 rotation about z+x */</font>
<a name="line883">883: </a>    6, 5, 3, 2, 7, 1, 0, 4, <font color="#B22222">/*  15: 180 rotation about z-x */</font>
<a name="line884">884: </a>    0, 4, 7, 1, 3, 2, 6, 5, <font color="#B22222">/*  16: 120 rotation about x+y+z (v0v6) */</font>
<a name="line885">885: </a>    0, 3, 5, 4, 1, 7, 6, 2, <font color="#B22222">/*  17: 240 rotation about x+y+z (v0v6) */</font>
<a name="line886">886: </a>    5, 3, 2, 6, 4, 7, 1, 0, <font color="#B22222">/*  18: 120 rotation about x+y-z (v4v2) */</font>
<a name="line887">887: </a>    7, 6, 2, 1, 4, 0, 3, 5, <font color="#B22222">/*  19: 240 rotation about x+y-z (v4v2) */</font>
<a name="line888">888: </a>    2, 1, 7, 6, 3, 5, 4, 0, <font color="#B22222">/*  20: 120 rotation about x-y+z (v1v5) */</font>
<a name="line889">889: </a>    7, 1, 0, 4, 6, 5, 3, 2, <font color="#B22222">/*  21: 240 rotation about x-y+z (v1v5) */</font>
<a name="line890">890: </a>    2, 6, 5, 3, 1, 0, 4, 7, <font color="#B22222">/*  22: 120 rotation about x-y-z (v7v3) */</font>
<a name="line891">891: </a>    5, 4, 0, 3, 6, 2, 1, 7, <font color="#B22222">/*  23: 240 rotation about x-y-z (v7v3) */</font>
<a name="line892">892: </a>  };
<a name="line893">893: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tripVerts[12 * 6] = {
<a name="line894">894: </a>    4, 3, 5, 2, 1, 0, <font color="#B22222">/* -6: reflect bottom and top */</font>
<a name="line895">895: </a>    5, 4, 3, 1, 0, 2, <font color="#B22222">/* -5: reflect bottom and top */</font>
<a name="line896">896: </a>    3, 5, 4, 0, 2, 1, <font color="#B22222">/* -4: reflect bottom and top */</font>
<a name="line897">897: </a>    1, 0, 2, 5, 4, 3, <font color="#B22222">/* -3: reflect bottom and top */</font>
<a name="line898">898: </a>    0, 2, 1, 3, 5, 4, <font color="#B22222">/* -2: reflect bottom and top */</font>
<a name="line899">899: </a>    2, 1, 0, 4, 3, 5, <font color="#B22222">/* -1: reflect bottom and top */</font>
<a name="line900">900: </a>    0, 1, 2, 3, 4, 5, <font color="#B22222">/*  0: identity */</font>
<a name="line901">901: </a>    1, 2, 0, 5, 3, 4, <font color="#B22222">/*  1: 120 rotation about z */</font>
<a name="line902">902: </a>    2, 0, 1, 4, 5, 3, <font color="#B22222">/*  2: 240 rotation about z */</font>
<a name="line903">903: </a>    4, 5, 3, 2, 0, 1, <font color="#B22222">/*  3: 180 rotation about y of 0 */</font>
<a name="line904">904: </a>    3, 4, 5, 0, 1, 2, <font color="#B22222">/*  4: 180 rotation about y of 1 */</font>
<a name="line905">905: </a>    5, 3, 4, 1, 2, 0, <font color="#B22222">/*  5: 180 rotation about y of 2 */</font>
<a name="line906">906: </a>  };
<a name="line907">907: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> ttriVerts[12 * 6] = {
<a name="line908">908: </a>    4, 3, 5, 1, 0, 2, <font color="#B22222">/* -6: r b a^2 */</font>
<a name="line909">909: </a>    3, 5, 4, 0, 2, 1, <font color="#B22222">/* -5: r b a */</font>
<a name="line910">910: </a>    5, 4, 3, 2, 1, 0, <font color="#B22222">/* -4: r b */</font>
<a name="line911">911: </a>    1, 0, 2, 4, 3, 5, <font color="#B22222">/* -3: r a^2 */</font>
<a name="line912">912: </a>    0, 2, 1, 3, 5, 4, <font color="#B22222">/* -2: r a */</font>
<a name="line913">913: </a>    2, 1, 0, 5, 4, 3, <font color="#B22222">/* -1: r */</font>
<a name="line914">914: </a>    0, 1, 2, 3, 4, 5, <font color="#B22222">/*  0: identity */</font>
<a name="line915">915: </a>    1, 2, 0, 4, 5, 3, <font color="#B22222">/*  1: a */</font>
<a name="line916">916: </a>    2, 0, 1, 5, 3, 4, <font color="#B22222">/*  2: a^2 */</font>
<a name="line917">917: </a>    3, 4, 5, 0, 1, 2, <font color="#B22222">/*  3: b */</font>
<a name="line918">918: </a>    4, 5, 3, 1, 2, 0, <font color="#B22222">/*  4: b a */</font>
<a name="line919">919: </a>    5, 3, 4, 2, 0, 1, <font color="#B22222">/*  5: b a^2 */</font>
<a name="line920">920: </a>  };
<a name="line921">921: </a>  <font color="#B22222">/* a: rotate 90 about z</font>
<a name="line922">922: </a><font color="#B22222">     b: swap top and bottom segments</font>
<a name="line923">923: </a><font color="#B22222">     r: reflect */</font>
<a name="line924">924: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tquadVerts[16 * 8] = {
<a name="line925">925: </a>    6, 5, 4, 7, 2, 1, 0, 3, <font color="#B22222">/* -8: r b a^3 */</font>
<a name="line926">926: </a>    5, 4, 7, 6, 1, 0, 3, 2, <font color="#B22222">/* -7: r b a^2 */</font>
<a name="line927">927: </a>    4, 7, 6, 5, 0, 3, 2, 1, <font color="#B22222">/* -6: r b a */</font>
<a name="line928">928: </a>    7, 6, 5, 4, 3, 2, 1, 0, <font color="#B22222">/* -5: r b */</font>
<a name="line929">929: </a>    2, 1, 0, 3, 6, 5, 4, 7, <font color="#B22222">/* -4: r a^3 */</font>
<a name="line930">930: </a>    1, 0, 3, 2, 5, 4, 7, 6, <font color="#B22222">/* -3: r a^2 */</font>
<a name="line931">931: </a>    0, 3, 2, 1, 4, 7, 6, 5, <font color="#B22222">/* -2: r a */</font>
<a name="line932">932: </a>    3, 2, 1, 0, 7, 6, 5, 4, <font color="#B22222">/* -1: r */</font>
<a name="line933">933: </a>    0, 1, 2, 3, 4, 5, 6, 7, <font color="#B22222">/*  0: identity */</font>
<a name="line934">934: </a>    1, 2, 3, 0, 5, 6, 7, 4, <font color="#B22222">/*  1: a */</font>
<a name="line935">935: </a>    2, 3, 0, 1, 6, 7, 4, 5, <font color="#B22222">/*  2: a^2 */</font>
<a name="line936">936: </a>    3, 0, 1, 2, 7, 4, 5, 6, <font color="#B22222">/*  3: a^3 */</font>
<a name="line937">937: </a>    4, 5, 6, 7, 0, 1, 2, 3, <font color="#B22222">/*  4: b */</font>
<a name="line938">938: </a>    5, 6, 7, 4, 1, 2, 3, 0, <font color="#B22222">/*  5: b a */</font>
<a name="line939">939: </a>    6, 7, 4, 5, 2, 3, 0, 1, <font color="#B22222">/*  6: b a^2 */</font>
<a name="line940">940: </a>    7, 4, 5, 6, 3, 0, 1, 2, <font color="#B22222">/*  7: b a^3 */</font>
<a name="line941">941: </a>  };
<a name="line942">942: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> pyrVerts[8 * 5] = {
<a name="line943">943: </a>    2, 1, 0, 3, 4, <font color="#B22222">/* -4: Reflect bottom face */</font>
<a name="line944">944: </a>    1, 0, 3, 2, 4, <font color="#B22222">/* -3: Reflect bottom face */</font>
<a name="line945">945: </a>    0, 3, 2, 1, 4, <font color="#B22222">/* -2: Reflect bottom face */</font>
<a name="line946">946: </a>    3, 2, 1, 0, 4, <font color="#B22222">/* -1: Reflect bottom face */</font>
<a name="line947">947: </a>    0, 1, 2, 3, 4, <font color="#B22222">/*  0: identity */</font>
<a name="line948">948: </a>    1, 2, 3, 0, 4, <font color="#B22222">/*  1:  90 rotation about z */</font>
<a name="line949">949: </a>    2, 3, 0, 1, 4, <font color="#B22222">/*  2: 180 rotation about z */</font>
<a name="line950">950: </a>    3, 0, 1, 2, 4, <font color="#B22222">/*  3: 270 rotation about z */</font>
<a name="line951">951: </a>  };
<a name="line952">952: </a>  <font color="#4169E1">switch</font> (ct) {
<a name="line953">953: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT</a>:
<a name="line954">954: </a>    <font color="#4169E1">return</font> pntVerts;
<a name="line955">955: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEGMENT</a>:
<a name="line956">956: </a>    <font color="#4169E1">return</font> &amp;segVerts[(o + 1) * 2];
<a name="line957">957: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT_PRISM_TENSOR</a>:
<a name="line958">958: </a>    <font color="#4169E1">return</font> &amp;segVerts[(o + 1) * 2];
<a name="line959">959: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRIANGLE</a>:
<a name="line960">960: </a>    <font color="#4169E1">return</font> &amp;triVerts[(o + 3) * 3];
<a name="line961">961: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUADRILATERAL</a>:
<a name="line962">962: </a>    <font color="#4169E1">return</font> &amp;quadVerts[(o + 4) * 4];
<a name="line963">963: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEG_PRISM_TENSOR</a>:
<a name="line964">964: </a>    <font color="#4169E1">return</font> &amp;tsegVerts[(o + 2) * 4];
<a name="line965">965: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TETRAHEDRON</a>:
<a name="line966">966: </a>    <font color="#4169E1">return</font> &amp;tetVerts[(o + 12) * 4];
<a name="line967">967: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_HEXAHEDRON</a>:
<a name="line968">968: </a>    <font color="#4169E1">return</font> &amp;hexVerts[(o + 24) * 8];
<a name="line969">969: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM</a>:
<a name="line970">970: </a>    <font color="#4169E1">return</font> &amp;tripVerts[(o + 6) * 6];
<a name="line971">971: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM_TENSOR</a>:
<a name="line972">972: </a>    <font color="#4169E1">return</font> &amp;ttriVerts[(o + 6) * 6];
<a name="line973">973: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUAD_PRISM_TENSOR</a>:
<a name="line974">974: </a>    <font color="#4169E1">return</font> &amp;tquadVerts[(o + 8) * 8];
<a name="line975">975: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_PYRAMID</a>:
<a name="line976">976: </a>    <font color="#4169E1">return</font> &amp;pyrVerts[(o + 4) * 5];
<a name="line977">977: </a>  <font color="#4169E1">default</font>:
<a name="line978">978: </a>    <font color="#4169E1">return</font> <a href="../manualpages/Sys/PETSC_NULLPTR.html">PETSC_NULLPTR</a>;
<a name="line979">979: </a>  }
<a name="line980">980: </a>}

<a name="line982">982: </a><font color="#B22222">/* This is orientation o1 acting on orientation o2 */</font>
<a name="line983">983: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeComposeOrientation"></a>static inline <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> DMPolytopeTypeComposeOrientation(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> ct, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> o1, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> o2)</font></strong>
<a name="line984">984: </a>{
<a name="line985">985: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> segMult[2 * 2]   = {0, -1, -1, 0};
<a name="line986">986: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> triMult[6 * 6]   = {0, 2, 1, -3, -1, -2, 1, 0, 2, -2, -3, -1, 2, 1, 0, -1, -2, -3, -3, -2, -1, 0, 1, 2, -2, -1, -3, 1, 2, 0, -1, -3, -2, 2, 0, 1};
<a name="line987">987: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> quadMult[8 * 8]  = {0,  3,  2,  1,  -4, -1, -2, -3, 1,  0,  3,  2,  -3, -4, -1, -2, 2,  1,  0,  3,  -2, -3, -4, -1, 3,  2,  1,  0,  -1, -2, -3, -4,
<a name="line988">988: </a>                                            -4, -3, -2, -1, 0,  1,  2,  3,  -3, -2, -1, -4, 1,  2,  3,  0,  -2, -1, -4, -3, 2,  3,  0,  1,  -1, -4, -3, -2, 3,  0,  1,  2};
<a name="line989">989: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tsegMult[4 * 4]  = {0, 1, -2, -1, 1, 0, -1, -2, -2, -1, 0, 1, -1, -2, 1, 0};
<a name="line990">990: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tetMult[24 * 24] = {
<a name="line991">991: </a>    3,   2,   7,   0,   5,   10,  9,   8,   1,   6,   11,  4,   -12, -7,  -5,  -9,  -10, -2,  -6,  -1,  -11, -3,  -4,  -8,  4,   0,   8,   1,   3,   11,  10,  6,   2,   7,   9,   5,   -11, -9,  -4,  -8,  -12, -1,  -5,  -3,  -10, -2,  -6,  -7,
<a name="line992">992: </a>    5,   1,   6,   2,   4,   9,   11,  7,   0,   8,   10,  3,   -10, -8,  -6,  -7,  -11, -3,  -4,  -2,  -12, -1,  -5,  -9,  0,   8,   4,   3,   11,  1,   6,   2,   10,  9,   5,   7,   -9,  -4,  -11, -12, -1,  -8,  -3,  -10, -5,  -6,  -7,  -2,
<a name="line993">993: </a>    1,   6,   5,   4,   9,   2,   7,   0,   11,  10,  3,   8,   -8,  -6,  -10, -11, -3,  -7,  -2,  -12, -4,  -5,  -9,  -1,  2,   7,   3,   5,   10,  0,   8,   1,   9,   11,  4,   6,   -7,  -5,  -12, -10, -2,  -9,  -1,  -11, -6,  -4,  -8,  -3,
<a name="line994">994: </a>    6,   5,   1,   9,   2,   4,   0,   11,  7,   3,   8,   10,  -6,  -10, -8,  -3,  -7,  -11, -12, -4,  -2,  -9,  -1,  -5,  7,   3,   2,   10,  0,   5,   1,   9,   8,   4,   6,   11,  -5,  -12, -7,  -2,  -9,  -10, -11, -6,  -1,  -8,  -3,  -4,
<a name="line995">995: </a>    8,   4,   0,   11,  1,   3,   2,   10,  6,   5,   7,   9,   -4,  -11, -9,  -1,  -8,  -12, -10, -5,  -3,  -7,  -2,  -6,  9,   11,  10,  6,   8,   7,   3,   5,   4,   0,   2,   1,   -3,  -1,  -2,  -6,  -4,  -5,  -9,  -7,  -8,  -12, -10, -11,
<a name="line996">996: </a>    10,  9,   11,  7,   6,   8,   4,   3,   5,   1,   0,   2,   -2,  -3,  -1,  -5,  -6,  -4,  -8,  -9,  -7,  -11, -12, -10, 11,  10,  9,   8,   7,   6,   5,   4,   3,   2,   1,   0,   -1,  -2,  -3,  -4,  -5,  -6,  -7,  -8,  -9,  -10, -11, -12,
<a name="line997">997: </a>    -12, -11, -10, -9,  -8,  -7,  -6,  -5,  -4,  -3,  -2,  -1,  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  -11, -10, -12, -8,  -7,  -9,  -5,  -4,  -6,  -2,  -1,  -3,  1,   2,   0,   4,   5,   3,   7,   8,   6,   10,  11,  9,
<a name="line998">998: </a>    -10, -12, -11, -7,  -9,  -8,  -4,  -6,  -5,  -1,  -3,  -2,  2,   0,   1,   5,   3,   4,   8,   6,   7,   11,  9,   10,  -9,  -5,  -1,  -12, -2,  -4,  -3,  -11, -7,  -6,  -8,  -10, 3,   10,  8,   0,   7,   11,  9,   4,   2,   6,   1,   5,
<a name="line999">999: </a>    -8,  -4,  -3,  -11, -1,  -6,  -2,  -10, -9,  -5,  -7,  -12, 4,   11,  6,   1,   8,   9,   10,  5,   0,   7,   2,   3,   -7,  -6,  -2,  -10, -3,  -5,  -1,  -12, -8,  -4,  -9,  -11, 5,   9,   7,   2,   6,   10,  11,  3,   1,   8,   0,   4,
<a name="line1000">1000: </a>    -3,  -8,  -4,  -6,  -11, -1,  -9,  -2,  -10, -12, -5,  -7,  6,   4,   11,  9,   1,   8,   0,   10,  5,   3,   7,   2,   -2,  -7,  -6,  -5,  -10, -3,  -8,  -1,  -12, -11, -4,  -9,  7,   5,   9,   10,  2,   6,   1,   11,  3,   4,   8,   0,
<a name="line1001">1001: </a>    -1,  -9,  -5,  -4,  -12, -2,  -7,  -3,  -11, -10, -6,  -8,  8,   3,   10,  11,  0,   7,   2,   9,   4,   5,   6,   1,   -6,  -2,  -7,  -3,  -5,  -10, -12, -8,  -1,  -9,  -11, -4,  9,   7,   5,   6,   10,  2,   3,   1,   11,  0,   4,   8,
<a name="line1002">1002: </a>    -5,  -1,  -9,  -2,  -4,  -12, -11, -7,  -3,  -8,  -10, -6,  10,  8,   3,   7,   11,  0,   4,   2,   9,   1,   5,   6,   -4,  -3,  -8,  -1,  -6,  -11, -10, -9,  -2,  -7,  -12, -5,  11,  6,   4,   8,   9,   1,   5,   0,   10,  2,   3,   7,
<a name="line1003">1003: </a>  };
<a name="line1004">1004: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> hexMult[48 * 48] = {
<a name="line1005">1005: </a>    18,  2,   5,   22,  21,  8,   16,  0,   13,  6,   11,  3,   15,  9,   4,   23,  12,  1,   19,  10,  7,   20,  14,  17,  -24, -10, -20, -16, -12, -21, -4,  -5,  -18, -13, -15, -8,  -2,  -11, -14, -7,  -3,  -22, -6,  -17, -19, -9,  -1,  -23,
<a name="line1006">1006: </a>    8,   20,  19,  2,   5,   23,  0,   17,  11,  1,   15,  7,   13,  4,   10,  18,  3,   14,  21,  9,   12,  22,  6,   16,  -23, -13, -17, -7,  -8,  -19, -16, -12, -22, -2,  -14, -5,  -10, -15, -11, -4,  -20, -9,  -21, -3,  -6,  -18, -24, -1,
<a name="line1007">1007: </a>    2,   17,  23,  8,   0,   19,  5,   20,  1,   11,  9,   14,  12,  6,   3,   16,  10,  7,   22,  15,  13,  21,  4,   18,  -22, -14, -19, -5,  -15, -17, -10, -2,  -23, -12, -13, -7,  -16, -8,  -4,  -11, -24, -3,  -18, -9,  -1,  -21, -20, -6,
<a name="line1008">1008: </a>    21,  5,   2,   16,  18,  0,   22,  8,   4,   12,  3,   11,  14,  7,   13,  20,  6,   10,  17,  1,   9,   23,  15,  19,  -21, -8,  -18, -15, -4,  -24, -12, -14, -20, -7,  -16, -10, -11, -2,  -5,  -13, -6,  -19, -3,  -23, -22, -1,  -9,  -17,
<a name="line1009">1009: </a>    16,  8,   0,   21,  22,  2,   18,  5,   12,  4,   1,   10,  9,   15,  6,   19,  13,  11,  23,  3,   14,  17,  7,   20,  -20, -16, -24, -10, -2,  -18, -11, -7,  -21, -14, -8,  -15, -12, -4,  -13, -5,  -9,  -23, -1,  -19, -17, -3,  -6,  -22,
<a name="line1010">1010: </a>    5,   19,  20,  0,   8,   17,  2,   23,  10,  3,   7,   15,  6,   12,  11,  22,  1,   9,   16,  14,  4,   18,  13,  21,  -19, -5,  -22, -14, -16, -23, -8,  -11, -17, -4,  -7,  -13, -15, -10, -12, -2,  -21, -6,  -20, -1,  -9,  -24, -18, -3,
<a name="line1011">1011: </a>    22,  0,   8,   18,  16,  5,   21,  2,   6,   13,  10,  1,   7,   14,  12,  17,  4,   3,   20,  11,  15,  19,  9,   23,  -18, -15, -21, -8,  -11, -20, -2,  -13, -24, -5,  -10, -16, -4,  -12, -7,  -14, -1,  -17, -9,  -22, -23, -6,  -3,  -19,
<a name="line1012">1012: </a>    0,   23,  17,  5,   2,   20,  8,   19,  3,   10,  14,  9,   4,   13,  1,   21,  11,  15,  18,  7,   6,   16,  12,  22,  -17, -7,  -23, -13, -10, -22, -15, -4,  -19, -11, -5,  -14, -8,  -16, -2,  -12, -18, -1,  -24, -6,  -3,  -20, -21, -9,
<a name="line1013">1013: </a>    10,  13,  6,   1,   11,  12,  3,   4,   8,   0,   22,  18,  19,  23,  5,   15,  2,   21,  9,   16,  17,  7,   20,  14,  -16, -24, -10, -20, -23, -8,  -19, -6,  -15, -3,  -21, -18, -22, -17, -9,  -1,  -14, -12, -7,  -4,  -11, -13, -5,  -2,
<a name="line1014">1014: </a>    1,   4,   12,  10,  3,   6,   11,  13,  0,   8,   16,  21,  17,  20,  2,   14,  5,   18,  7,   22,  19,  9,   23,  15,  -15, -21, -8,  -18, -17, -10, -22, -3,  -16, -6,  -24, -20, -19, -23, -1,  -9,  -5,  -4,  -13, -12, -2,  -7,  -14, -11,
<a name="line1015">1015: </a>    14,  10,  3,   9,   7,   1,   15,  11,  17,  23,  0,   5,   16,  22,  20,  6,   19,  8,   12,  2,   21,  4,   18,  13,  -14, -19, -5,  -22, -3,  -13, -9,  -20, -7,  -21, -23, -17, -6,  -1,  -24, -18, -12, -16, -2,  -8,  -10, -4,  -11, -15,
<a name="line1016">1016: </a>    7,   3,   10,  15,  14,  11,  9,   1,   20,  19,  5,   0,   18,  21,  17,  4,   23,  2,   13,  8,   22,  6,   16,  12,  -13, -17, -7,  -23, -9,  -14, -3,  -24, -5,  -18, -22, -19, -1,  -6,  -20, -21, -2,  -10, -12, -15, -16, -11, -4,  -8,
<a name="line1017">1017: </a>    13,  14,  15,  12,  4,   9,   6,   7,   21,  22,  23,  20,  2,   0,   18,  3,   16,  17,  1,   19,  8,   11,  5,   10,  -12, -9,  -11, -6,  -21, -4,  -24, -22, -2,  -23, -3,  -1,  -20, -18, -19, -17, -16, -14, -15, -13, -5,  -8,  -10, -7,
<a name="line1018">1018: </a>    6,   9,   7,   4,   12,  14,  13,  15,  16,  18,  17,  19,  0,   2,   22,  1,   21,  23,  3,   20,  5,   10,  8,   11,  -11, -6,  -12, -9,  -20, -2,  -18, -17, -4,  -19, -1,  -3,  -21, -24, -23, -22, -8,  -7,  -10, -5,  -13, -16, -15, -14,
<a name="line1019">1019: </a>    3,   12,  4,   11,  1,   13,  10,  6,   2,   5,   21,  16,  23,  19,  0,   9,   8,   22,  15,  18,  20,  14,  17,  7,   -10, -20, -16, -24, -22, -15, -17, -1,  -8,  -9,  -18, -21, -23, -19, -3,  -6,  -13, -2,  -5,  -11, -4,  -14, -7,  -12,
<a name="line1020">1020: </a>    20,  16,  18,  23,  17,  21,  19,  22,  14,  15,  4,   6,   3,   1,   7,   0,   9,   12,  2,   13,  11,  5,   10,  8,   -9,  -11, -6,  -12, -14, -3,  -13, -10, -1,  -8,  -2,  -4,  -7,  -5,  -16, -15, -23, -20, -22, -18, -24, -19, -17, -21,
<a name="line1021">1021: </a>    11,  6,   13,  3,   10,  4,   1,   12,  5,   2,   18,  22,  20,  17,  8,   7,   0,   16,  14,  21,  23,  15,  19,  9,   -8,  -18, -15, -21, -19, -16, -23, -9,  -10, -1,  -20, -24, -17, -22, -6,  -3,  -7,  -11, -14, -2,  -12, -5,  -13, -4,
<a name="line1022">1022: </a>    9,   11,  1,   14,  15,  3,   7,   10,  23,  17,  2,   8,   21,  18,  19,  13,  20,  5,   4,   0,   16,  12,  22,  6,   -7,  -23, -13, -17, -1,  -5,  -6,  -21, -14, -20, -19, -22, -9,  -3,  -18, -24, -11, -8,  -4,  -16, -15, -2,  -12, -10,
<a name="line1023">1023: </a>    19,  21,  22,  17,  23,  16,  20,  18,  9,   7,   12,  13,  1,   3,   15,  2,   14,  4,   0,   6,   10,  8,   11,  5,   -6,  -12, -9,  -11, -7,  -1,  -5,  -15, -3,  -16, -4,  -2,  -14, -13, -8,  -10, -19, -21, -17, -24, -18, -23, -22, -20,
<a name="line1024">1024: </a>    15,  1,   11,  7,   9,   10,  14,  3,   19,  20,  8,   2,   22,  16,  23,  12,  17,  0,   6,   5,   18,  13,  21,  4,   -5,  -22, -14, -19, -6,  -7,  -1,  -18, -13, -24, -17, -23, -3,  -9,  -21, -20, -4,  -15, -11, -10, -8,  -12, -2,  -16,
<a name="line1025">1025: </a>    4,   15,  14,  6,   13,  7,   12,  9,   18,  16,  20,  23,  5,   8,   21,  11,  22,  19,  10,  17,  0,   3,   2,   1,   -4,  -1,  -2,  -3,  -24, -12, -21, -19, -11, -17, -6,  -9,  -18, -20, -22, -23, -15, -5,  -16, -7,  -14, -10, -8,  -13,
<a name="line1026">1026: </a>    17,  18,  16,  19,  20,  22,  23,  21,  7,   9,   6,   4,   10,  11,  14,  5,   15,  13,  8,   12,  1,   0,   3,   2,   -3,  -4,  -1,  -2,  -13, -9,  -14, -16, -6,  -15, -12, -11, -5,  -7,  -10, -8,  -22, -24, -23, -21, -20, -17, -19, -18,
<a name="line1027">1027: </a>    12,  7,   9,   13,  6,   15,  4,   14,  22,  21,  19,  17,  8,   5,   16,  10,  18,  20,  11,  23,  2,   1,   0,   3,   -2,  -3,  -4,  -1,  -18, -11, -20, -23, -12, -22, -9,  -6,  -24, -21, -17, -19, -10, -13, -8,  -14, -7,  -15, -16, -5,
<a name="line1028">1028: </a>    23,  22,  21,  20,  19,  18,  17,  16,  15,  14,  13,  12,  11,  10,  9,   8,   7,   6,   5,   4,   3,   2,   1,   0,   -1,  -2,  -3,  -4,  -5,  -6,  -7,  -8,  -9,  -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24,
<a name="line1029">1029: </a>    -24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9,  -8,  -7,  -6,  -5,  -4,  -3,  -2,  -1,  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,  15,  16,  17,  18,  19,  20,  21,  22,  23,
<a name="line1030">1030: </a>    -13, -8,  -10, -14, -7,  -16, -5,  -15, -23, -22, -20, -18, -9,  -6,  -17, -11, -19, -21, -12, -24, -3,  -2,  -1,  -4,  1,   2,   3,   0,   17,  10,  19,  22,  11,  21,  8,   5,   23,  20,  16,  18,  9,   12,  7,   13,  6,   14,  15,  4,
<a name="line1031">1031: </a>    -18, -19, -17, -20, -21, -23, -24, -22, -8,  -10, -7,  -5,  -11, -12, -15, -6,  -16, -14, -9,  -13, -2,  -1,  -4,  -3,  2,   3,   0,   1,   12,  8,   13,  15,  5,   14,  11,  10,  4,   6,   9,   7,   21,  23,  22,  20,  19,  16,  18,  17,
<a name="line1032">1032: </a>    -5,  -16, -15, -7,  -14, -8,  -13, -10, -19, -17, -21, -24, -6,  -9,  -22, -12, -23, -20, -11, -18, -1,  -4,  -3,  -2,  3,   0,   1,   2,   23,  11,  20,  18,  10,  16,  5,   8,   17,  19,  21,  22,  14,  4,   15,  6,   13,  9,   7,   12,
<a name="line1033">1033: </a>    -16, -2,  -12, -8,  -10, -11, -15, -4,  -20, -21, -9,  -3,  -23, -17, -24, -13, -18, -1,  -7,  -6,  -19, -14, -22, -5,  4,   21,  13,  18,  5,   6,   0,   17,  12,  23,  16,  22,  2,   8,   20,  19,  3,   14,  10,  9,   7,   11,  1,   15,
<a name="line1034">1034: </a>    -20, -22, -23, -18, -24, -17, -21, -19, -10, -8,  -13, -14, -2,  -4,  -16, -3,  -15, -5,  -1,  -7,  -11, -9,  -12, -6,  5,   11,  8,   10,  6,   0,   4,   14,  2,   15,  3,   1,   13,  12,  7,   9,   18,  20,  16,  23,  17,  22,  21,  19,
<a name="line1035">1035: </a>    -10, -12, -2,  -15, -16, -4,  -8,  -11, -24, -18, -3,  -9,  -22, -19, -20, -14, -21, -6,  -5,  -1,  -17, -13, -23, -7,  6,   22,  12,  16,  0,   4,   5,   20,  13,  19,  18,  21,  8,   2,   17,  23,  10,  7,   3,   15,  14,  1,   11,  9,
<a name="line1036">1036: </a>    -12, -7,  -14, -4,  -11, -5,  -2,  -13, -6,  -3,  -19, -23, -21, -18, -9,  -8,  -1,  -17, -15, -22, -24, -16, -20, -10, 7,   17,  14,  20,  18,  15,  22,  8,   9,   0,   19,  23,  16,  21,  5,   2,   6,   10,  13,  1,   11,  4,   12,  3,
<a name="line1037">1037: </a>    -21, -17, -19, -24, -18, -22, -20, -23, -15, -16, -5,  -7,  -4,  -2,  -8,  -1,  -10, -13, -3,  -14, -12, -6,  -11, -9,  8,   10,  5,   11,  13,  2,   12,  9,   0,   7,   1,   3,   6,   4,   15,  14,  22,  19,  21,  17,  23,  18,  16,  20,
<a name="line1038">1038: </a>    -4,  -13, -5,  -12, -2,  -14, -11, -7,  -3,  -6,  -22, -17, -24, -20, -1,  -10, -9,  -23, -16, -19, -21, -15, -18, -8,  9,   19,  15,  23,  21,  14,  16,  0,   7,   8,   17,  20,  22,  18,  2,   5,   12,  1,   4,   10,  3,   13,  6,   11,
<a name="line1039">1039: </a>    -7,  -10, -8,  -5,  -13, -15, -14, -16, -17, -19, -18, -20, -1,  -3,  -23, -2,  -22, -24, -4,  -21, -6,  -11, -9,  -12, 10,  5,   11,  8,   19,  1,   17,  16,  3,   18,  0,   2,   20,  23,  22,  21,  7,   6,   9,   4,   12,  15,  14,  13,
<a name="line1040">1040: </a>    -14, -15, -16, -13, -5,  -10, -7,  -8,  -22, -23, -24, -21, -3,  -1,  -19, -4,  -17, -18, -2,  -20, -9,  -12, -6,  -11, 11,  8,   10,  5,   20,  3,   23,  21,  1,   22,  2,   0,   19,  17,  18,  16,  15,  13,  14,  12,  4,   7,   9,   6,
<a name="line1041">1041: </a>    -8,  -4,  -11, -16, -15, -12, -10, -2,  -21, -20, -6,  -1,  -19, -22, -18, -5,  -24, -3,  -14, -9,  -23, -7,  -17, -13, 12,  16,  6,   22,  8,   13,  2,   23,  4,   17,  21,  18,  0,   5,   19,  20,  1,   9,   11,  14,  15,  10,  3,   7,
<a name="line1042">1042: </a>    -15, -11, -4,  -10, -8,  -2,  -16, -12, -18, -24, -1,  -6,  -17, -23, -21, -7,  -20, -9,  -13, -3,  -22, -5,  -19, -14, 13,  18,  4,   21,  2,   12,  8,   19,  6,   20,  22,  16,  5,   0,   23,  17,  11,  15,  1,   7,   9,   3,   10,  14,
<a name="line1043">1043: </a>    -2,  -5,  -13, -11, -4,  -7,  -12, -14, -1,  -9,  -17, -22, -18, -21, -3,  -15, -6,  -19, -8,  -23, -20, -10, -24, -16, 14,  20,  7,   17,  16,  9,   21,  2,   15,  5,   23,  19,  18,  22,  0,   8,   4,   3,   12,  11,  1,   6,   13,  10,
<a name="line1044">1044: </a>    -11, -14, -7,  -2,  -12, -13, -4,  -5,  -9,  -1,  -23, -19, -20, -24, -6,  -16, -3,  -22, -10, -17, -18, -8,  -21, -15, 15,  23,  9,   19,  22,  7,   18,  5,   14,  2,   20,  17,  21,  16,  8,   0,   13,  11,  6,   3,   10,  12,  4,   1,
<a name="line1045">1045: </a>    -1,  -24, -18, -6,  -3,  -21, -9,  -20, -4,  -11, -15, -10, -5,  -14, -2,  -22, -12, -16, -19, -8,  -7,  -17, -13, -23, 16,  6,   22,  12,  9,   21,  14,  3,   18,  10,  4,   13,  7,   15,  1,   11,  17,  0,   23,  5,   2,   19,  20,  8,
<a name="line1046">1046: </a>    -23, -1,  -9,  -19, -17, -6,  -22, -3,  -7,  -14, -11, -2,  -8,  -15, -13, -18, -5,  -4,  -21, -12, -16, -20, -10, -24, 17,  14,  20,  7,   10,  19,  1,   12,  23,  4,   9,   15,  3,   11,  6,   13,  0,   16,  8,   21,  22,  5,   2,   18,
<a name="line1047">1047: </a>    -6,  -20, -21, -1,  -9,  -18, -3,  -24, -11, -4,  -8,  -16, -7,  -13, -12, -23, -2,  -10, -17, -15, -5,  -19, -14, -22, 18,  4,   21,  13,  15,  22,  7,   10,  16,  3,   6,   12,  14,  9,   11,  1,   20,  5,   19,  0,   8,   23,  17,  2,
<a name="line1048">1048: </a>    -17, -9,  -1,  -22, -23, -3,  -19, -6,  -13, -5,  -2,  -11, -10, -16, -7,  -20, -14, -12, -24, -4,  -15, -18, -8,  -21, 19,  15,  23,  9,   1,   17,  10,  6,   20,  13,  7,   14,  11,  3,   12,  4,   8,   22,  0,   18,  16,  2,   5,   21,
<a name="line1049">1049: </a>    -22, -6,  -3,  -17, -19, -1,  -23, -9,  -5,  -13, -4,  -12, -15, -8,  -14, -21, -7,  -11, -18, -2,  -10, -24, -16, -20, 20,  7,   17,  14,  3,   23,  11,  13,  19,  6,   15,  9,   10,  1,   4,   12,  5,   18,  2,   22,  21,  0,   8,   16,
<a name="line1050">1050: </a>    -3,  -18, -24, -9,  -1,  -20, -6,  -21, -2,  -12, -10, -15, -13, -7,  -4,  -17, -11, -8,  -23, -16, -14, -22, -5,  -19, 21,  13,  18,  4,   14,  16,  9,   1,   22,  11,  12,  6,   15,  7,   3,   10,  23,  2,   17,  8,   0,   20,  19,  5,
<a name="line1051">1051: </a>    -9,  -21, -20, -3,  -6,  -24, -1,  -18, -12, -2,  -16, -8,  -14, -5,  -11, -19, -4,  -15, -22, -10, -13, -23, -7,  -17, 22,  12,  16,  6,   7,   18,  15,  11,  21,  1,   13,  4,   9,   14,  10,  3,   19,  8,   20,  2,   5,   17,  23,  0,
<a name="line1052">1052: </a>    -19, -3,  -6,  -23, -22, -9,  -17, -1,  -14, -7,  -12, -4,  -16, -10, -5,  -24, -13, -2,  -20, -11, -8,  -21, -15, -18, 23,  9,   19,  15,  11,  20,  3,   4,   17,  12,  14,  7,   1,   10,  13,  6,   2,   21,  5,   16,  18,  8,   0,   22,
<a name="line1053">1053: </a>  };
<a name="line1054">1054: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tripMult[12 * 12] = {
<a name="line1055">1055: </a>    1,  0,  2,  3,  5,  4,  -6, -4, -5, -2, -3, -1, 0,  2,  1,  4,  3,  5,  -5, -6, -4, -3, -1, -2, 2,  1,  0,  5,  4,  3,  -4, -5, -6, -1, -2, -3, 4,  3,  5,  0,  2,  1,  -3, -1, -2, -5, -6, -4,
<a name="line1056">1056: </a>    3,  5,  4,  1,  0,  2,  -2, -3, -1, -6, -4, -5, 5,  4,  3,  2,  1,  0,  -1, -2, -3, -4, -5, -6, -6, -5, -4, -3, -2, -1, 0,  1,  2,  3,  4,  5,  -4, -6, -5, -2, -1, -3, 1,  2,  0,  5,  3,  4,
<a name="line1057">1057: </a>    -5, -4, -6, -1, -3, -2, 2,  0,  1,  4,  5,  3,  -3, -2, -1, -6, -5, -4, 3,  4,  5,  0,  1,  2,  -1, -3, -2, -5, -4, -6, 4,  5,  3,  2,  0,  1,  -2, -1, -3, -4, -6, -5, 5,  3,  4,  1,  2,  0,
<a name="line1058">1058: </a>  };
<a name="line1059">1059: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> ttriMult[12 * 12] = {
<a name="line1060">1060: </a>    0,  2,  1,  3,  5,  4,  -6, -4, -5, -3, -1, -2, 1,  0,  2,  4,  3,  5,  -5, -6, -4, -2, -3, -1, 2,  1,  0,  5,  4,  3,  -4, -5, -6, -1, -2, -3, 3,  5,  4,  0,  2,  1,  -3, -1, -2, -6, -4, -5,
<a name="line1061">1061: </a>    4,  3,  5,  1,  0,  2,  -2, -3, -1, -5, -6, -4, 5,  4,  3,  2,  1,  0,  -1, -2, -3, -4, -5, -6, -6, -5, -4, -3, -2, -1, 0,  1,  2,  3,  4,  5,  -5, -4, -6, -2, -1, -3, 1,  2,  0,  4,  5,  3,
<a name="line1062">1062: </a>    -4, -6, -5, -1, -3, -2, 2,  0,  1,  5,  3,  4,  -3, -2, -1, -6, -5, -4, 3,  4,  5,  0,  1,  2,  -2, -1, -3, -5, -4, -6, 4,  5,  3,  1,  2,  0,  -1, -3, -2, -4, -6, -5, 5,  3,  4,  2,  0,  1,
<a name="line1063">1063: </a>  };
<a name="line1064">1064: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tquadMult[16 * 16] = {
<a name="line1065">1065: </a>    0,  3,  2,  1,  4,  7,  6,  5,  -8, -5, -6, -7, -4, -1, -2, -3, 1,  0,  3,  2,  5,  4,  7,  6,  -7, -8, -5, -6, -3, -4, -1, -2, 2,  1,  0,  3,  6,  5,  4,  7,  -6, -7, -8, -5, -2, -3, -4, -1, 3, 2, 1, 0,
<a name="line1066">1066: </a>    7,  6,  5,  4,  -5, -6, -7, -8, -1, -2, -3, -4, 4,  7,  6,  5,  0,  3,  2,  1,  -4, -1, -2, -3, -8, -5, -6, -7, 5,  4,  7,  6,  1,  0,  3,  2,  -3, -4, -1, -2, -7, -8, -5, -6, 6,  5,  4,  7,  2, 1, 0, 3,
<a name="line1067">1067: </a>    -2, -3, -4, -1, -6, -7, -8, -5, 7,  6,  5,  4,  3,  2,  1,  0,  -1, -2, -3, -4, -5, -6, -7, -8, -8, -7, -6, -5, -4, -3, -2, -1, 0,  1,  2,  3,  4,  5,  6,  7,  -7, -6, -5, -8, -3, -2, -1, -4, 1, 2, 3, 0,
<a name="line1068">1068: </a>    5,  6,  7,  4,  -6, -5, -8, -7, -2, -1, -4, -3, 2,  3,  0,  1,  6,  7,  4,  5,  -5, -8, -7, -6, -1, -4, -3, -2, 3,  0,  1,  2,  7,  4,  5,  6,  -4, -3, -2, -1, -8, -7, -6, -5, 4,  5,  6,  7,  0, 1, 2, 3,
<a name="line1069">1069: </a>    -3, -2, -1, -4, -7, -6, -5, -8, 5,  6,  7,  4,  1,  2,  3,  0,  -2, -1, -4, -3, -6, -5, -8, -7, 6,  7,  4,  5,  2,  3,  0,  1,  -1, -4, -3, -2, -5, -8, -7, -6, 7,  4,  5,  6,  3,  0,  1,  2,
<a name="line1070">1070: </a>  };
<a name="line1071">1071: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> pyrMult[8 * 8] = {
<a name="line1072">1072: </a>    0, 3, 2, 1, -4, -1, -2, -3, 1, 0, 3, 2, -3, -4, -1, -2, 2, 1, 0, 3, -2, -3, -4, -1, 3, 2, 1, 0, -1, -2, -3, -4, -4, -3, -2, -1, 0, 1, 2, 3, -3, -2, -1, -4, 1, 2, 3, 0, -2, -1, -4, -3, 2, 3, 0, 1, -1, -4, -3, -2, 3, 0, 1, 2,
<a name="line1073">1073: </a>  };
<a name="line1074">1074: </a>  <font color="#4169E1">switch</font> (ct) {
<a name="line1075">1075: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT</a>:
<a name="line1076">1076: </a>    <font color="#4169E1">return</font> 0;
<a name="line1077">1077: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEGMENT</a>:
<a name="line1078">1078: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT_PRISM_TENSOR</a>:
<a name="line1079">1079: </a>    <font color="#4169E1">return</font> segMult[(o1 + 1) * 2 + o2 + 1];
<a name="line1080">1080: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRIANGLE</a>:
<a name="line1081">1081: </a>    <font color="#4169E1">return</font> triMult[(o1 + 3) * 6 + o2 + 3];
<a name="line1082">1082: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUADRILATERAL</a>:
<a name="line1083">1083: </a>    <font color="#4169E1">return</font> quadMult[(o1 + 4) * 8 + o2 + 4];
<a name="line1084">1084: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEG_PRISM_TENSOR</a>:
<a name="line1085">1085: </a>    <font color="#4169E1">return</font> tsegMult[(o1 + 2) * 4 + o2 + 2];
<a name="line1086">1086: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TETRAHEDRON</a>:
<a name="line1087">1087: </a>    <font color="#4169E1">return</font> tetMult[(o1 + 12) * 24 + o2 + 12];
<a name="line1088">1088: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_HEXAHEDRON</a>:
<a name="line1089">1089: </a>    <font color="#4169E1">return</font> hexMult[(o1 + 24) * 48 + o2 + 24];
<a name="line1090">1090: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM</a>:
<a name="line1091">1091: </a>    <font color="#4169E1">return</font> tripMult[(o1 + 6) * 12 + o2 + 6];
<a name="line1092">1092: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM_TENSOR</a>:
<a name="line1093">1093: </a>    <font color="#4169E1">return</font> ttriMult[(o1 + 6) * 12 + o2 + 6];
<a name="line1094">1094: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUAD_PRISM_TENSOR</a>:
<a name="line1095">1095: </a>    <font color="#4169E1">return</font> tquadMult[(o1 + 8) * 16 + o2 + 8];
<a name="line1096">1096: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_PYRAMID</a>:
<a name="line1097">1097: </a>    <font color="#4169E1">return</font> pyrMult[(o1 + 4) * 8 + o2 + 4];
<a name="line1098">1098: </a>  <font color="#4169E1">default</font>:
<a name="line1099">1099: </a>    <font color="#4169E1">return</font> 0;
<a name="line1100">1100: </a>  }
<a name="line1101">1101: </a>}

<a name="line1103">1103: </a><font color="#B22222">/* This is orientation o1 acting on orientation o2^{-1} */</font>
<a name="line1104">1104: </a><strong><font color="#4169E1"><a name="DMPolytopeTypeComposeOrientationInv"></a>static inline <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> DMPolytopeTypeComposeOrientationInv(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a> ct, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> o1, <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> o2)</font></strong>
<a name="line1105">1105: </a>{
<a name="line1106">1106: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> triInv[6]    = {-3, -2, -1, 0, 2, 1};
<a name="line1107">1107: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> quadInv[8]   = {-4, -3, -2, -1, 0, 3, 2, 1};
<a name="line1108">1108: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tetInv[24]   = {-9, -11, -4, -12, -5, -7, -6, -8, -10, -3, -2, -1, 0, 2, 1, 3, 8, 10, 6, 11, 4, 9, 5, 7};
<a name="line1109">1109: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> hexInv[48]   = {-17, -18, -20, -19, -22, -21, -23, -24, -15, -16, -14, -13, -11, -12, -10, -9, -8, -5, -6, -7, -4, -3, -2, -1, 0, 3, 2, 1, 6, 5, 4, 9, 8, 7, 10, 11, 12, 13, 14, 15, 17, 16, 19, 18, 21, 20, 23, 22};
<a name="line1110">1110: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tripInv[12]  = {-5, -6, -4, -3, -2, -1, 0, 2, 1, 3, 4, 5};
<a name="line1111">1111: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> ttriInv[12]  = {-6, -5, -4, -3, -2, -1, 0, 2, 1, 3, 5, 4};
<a name="line1112">1112: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> tquadInv[16] = {-8, -7, -6, -5, -4, -3, -2, -1, 0, 3, 2, 1, 4, 7, 6, 5};
<a name="line1113">1113: </a>  static const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> pyrInv[8]    = {-4, -3, -2, -1, 0, 3, 2, 1};
<a name="line1114">1114: </a>  <font color="#4169E1">switch</font> (ct) {
<a name="line1115">1115: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT</a>:
<a name="line1116">1116: </a>    <font color="#4169E1">return</font> 0;
<a name="line1117">1117: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEGMENT</a>:
<a name="line1118">1118: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_POINT_PRISM_TENSOR</a>:
<a name="line1119">1119: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, o2);
<a name="line1120">1120: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRIANGLE</a>:
<a name="line1121">1121: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, triInv[o2 + 3]);
<a name="line1122">1122: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUADRILATERAL</a>:
<a name="line1123">1123: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, quadInv[o2 + 4]);
<a name="line1124">1124: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_SEG_PRISM_TENSOR</a>:
<a name="line1125">1125: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, o2);
<a name="line1126">1126: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TETRAHEDRON</a>:
<a name="line1127">1127: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, tetInv[o2 + 12]);
<a name="line1128">1128: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_HEXAHEDRON</a>:
<a name="line1129">1129: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, hexInv[o2 + 24]);
<a name="line1130">1130: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM</a>:
<a name="line1131">1131: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, tripInv[o2 + 6]);
<a name="line1132">1132: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_TRI_PRISM_TENSOR</a>:
<a name="line1133">1133: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, ttriInv[o2 + 6]);
<a name="line1134">1134: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_QUAD_PRISM_TENSOR</a>:
<a name="line1135">1135: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, tquadInv[o2 + 8]);
<a name="line1136">1136: </a>  <font color="#4169E1">case</font> <a href="../manualpages/DM/DMPolytopeType.html">DM_POLYTOPE_PYRAMID</a>:
<a name="line1137">1137: </a>    <font color="#4169E1">return</font> DMPolytopeTypeComposeOrientation(ct, o1, pyrInv[o2 + 4]);
<a name="line1138">1138: </a>  <font color="#4169E1">default</font>:
<a name="line1139">1139: </a>    <font color="#4169E1">return</font> 0;
<a name="line1140">1140: </a>  }
<a name="line1141">1141: </a>}

<a name="line1143">1143: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMPolytopeMatchOrientation.html">DMPolytopeMatchOrientation</a>(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line1144">1144: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMPolytopeMatchVertexOrientation.html">DMPolytopeMatchVertexOrientation</a>(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *, <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
<a name="line1145">1145: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMPolytopeGetOrientation.html">DMPolytopeGetOrientation</a>(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line1146">1146: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMPolytopeGetVertexOrientation.html">DMPolytopeGetVertexOrientation</a>(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a>, const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], const <a href="../manualpages/Sys/PetscInt.html">PetscInt</a>[], <a href="../manualpages/Sys/PetscInt.html">PetscInt</a> *)</font></strong>;
<a name="line1147">1147: </a><strong><font color="#4169E1">PETSC_EXTERN <a href="../manualpages/Sys/PetscErrorCode.html">PetscErrorCode</a> <a href="../manualpages/DM/DMPolytopeInCellTest.html">DMPolytopeInCellTest</a>(<a href="../manualpages/DM/DMPolytopeType.html">DMPolytopeType</a>, const <a href="../manualpages/Sys/PetscReal.html">PetscReal</a>[], <a href="../manualpages/Sys/PetscBool.html">PetscBool</a> *)</font></strong>;
</pre>
</body>

</html>