152bfb9bbSJeremy L Thompson /// @file 252bfb9bbSJeremy L Thompson /// Test creation and destruction of a 2D Simplex non-tensor H1 basis 352bfb9bbSJeremy L Thompson /// \test Test creation and distruction of a 2D Simplex non-tensor H1 basis 452bfb9bbSJeremy L Thompson #include <ceed.h> 552bfb9bbSJeremy L Thompson #include "t320-basis.h" 652bfb9bbSJeremy L Thompson 752bfb9bbSJeremy L Thompson int main(int argc, char **argv) { 852bfb9bbSJeremy L Thompson Ceed ceed; 952bfb9bbSJeremy L Thompson const CeedInt P = 6, Q = 4, dim = 2; 1052bfb9bbSJeremy L Thompson CeedBasis b; 11d1d35e2fSjeremylt CeedScalar q_ref[dim*Q], q_weight[Q]; 1252bfb9bbSJeremy L Thompson CeedScalar interp[P*Q], grad[dim*P*Q]; 1352bfb9bbSJeremy L Thompson 14*80a9ef05SNatalie Beams CeedInit(argv[1], &ceed); 15*80a9ef05SNatalie Beams 16*80a9ef05SNatalie Beams // Test skipped if using single precision 17*80a9ef05SNatalie Beams if (CEED_SCALAR_TYPE == CEED_SCALAR_FP32) { 18*80a9ef05SNatalie Beams return CeedError(ceed, CEED_ERROR_UNSUPPORTED, 19*80a9ef05SNatalie Beams "Test not implemented in single precision"); 20*80a9ef05SNatalie Beams } 21*80a9ef05SNatalie Beams 22d1d35e2fSjeremylt buildmats(q_ref, q_weight, interp, grad); 2352bfb9bbSJeremy L Thompson 24d1d35e2fSjeremylt CeedBasisCreateH1(ceed, CEED_TRIANGLE, 1, P, Q, interp, grad, q_ref, 25d1d35e2fSjeremylt q_weight, &b); 2652bfb9bbSJeremy L Thompson CeedBasisView(b, stdout); 2752bfb9bbSJeremy L Thompson 2852bfb9bbSJeremy L Thompson CeedBasisDestroy(&b); 2952bfb9bbSJeremy L Thompson CeedDestroy(&ceed); 3052bfb9bbSJeremy L Thompson return 0; 3152bfb9bbSJeremy L Thompson } 32