1*0930e4e7SJeremy L Thompson /// @file
2*0930e4e7SJeremy L Thompson /// Test creation and view of an element restriction at points
3*0930e4e7SJeremy L Thompson /// \test Test creation and view of an element restriction at points
4*0930e4e7SJeremy L Thompson #include <ceed.h>
5*0930e4e7SJeremy L Thompson
main(int argc,char ** argv)6*0930e4e7SJeremy L Thompson int main(int argc, char **argv) {
7*0930e4e7SJeremy L Thompson Ceed ceed;
8*0930e4e7SJeremy L Thompson CeedInt num_elem = 3, num_points = num_elem * 2;
9*0930e4e7SJeremy L Thompson CeedInt ind[(num_elem + 1) + num_points];
10*0930e4e7SJeremy L Thompson CeedElemRestriction elem_restriction;
11*0930e4e7SJeremy L Thompson
12*0930e4e7SJeremy L Thompson CeedInit(argv[1], &ceed);
13*0930e4e7SJeremy L Thompson
14*0930e4e7SJeremy L Thompson {
15*0930e4e7SJeremy L Thompson CeedInt offset = num_elem + 1;
16*0930e4e7SJeremy L Thompson CeedInt point_index = num_elem;
17*0930e4e7SJeremy L Thompson
18*0930e4e7SJeremy L Thompson for (CeedInt i = 0; i < num_elem; i++) {
19*0930e4e7SJeremy L Thompson CeedInt num_points_in_elem = (i + 1) % num_elem + 1;
20*0930e4e7SJeremy L Thompson
21*0930e4e7SJeremy L Thompson ind[i] = offset;
22*0930e4e7SJeremy L Thompson for (CeedInt j = 0; j < num_points_in_elem; j++) {
23*0930e4e7SJeremy L Thompson ind[offset + j] = point_index;
24*0930e4e7SJeremy L Thompson point_index = (point_index + 1) % num_points;
25*0930e4e7SJeremy L Thompson }
26*0930e4e7SJeremy L Thompson offset += num_points_in_elem;
27*0930e4e7SJeremy L Thompson }
28*0930e4e7SJeremy L Thompson ind[num_elem] = offset;
29*0930e4e7SJeremy L Thompson }
30*0930e4e7SJeremy L Thompson CeedElemRestrictionCreateAtPoints(ceed, num_elem, num_points, 1, num_points, CEED_MEM_HOST, CEED_USE_POINTER, ind, &elem_restriction);
31*0930e4e7SJeremy L Thompson
32*0930e4e7SJeremy L Thompson CeedElemRestrictionView(elem_restriction, stdout);
33*0930e4e7SJeremy L Thompson
34*0930e4e7SJeremy L Thompson CeedElemRestrictionDestroy(&elem_restriction);
35*0930e4e7SJeremy L Thompson CeedDestroy(&ceed);
36*0930e4e7SJeremy L Thompson return 0;
37*0930e4e7SJeremy L Thompson }
38