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 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