| /libCEED/tests/ |
| H A D | t305-basis.c | 13 CeedInt p = 4, q = 4; in main() local 14 CeedScalar M[p * p], K[p * p], X[p * p], lambda[p]; in main() 21 CeedBasisCreateTensorH1Lagrange(ceed, 1, 1, p, q, CEED_GAUSS, &basis); in main() 25 for (int i = 0; i < p; i++) { in main() 26 for (int j = 0; j < p; j++) { in main() 29 sum_m += interpolation[p * k + i] * quadrature_weights[k] * interpolation[p * k + j]; in main() 30 sum_k += gradient[p * k + i] * quadrature_weights[k] * gradient[p * k + j]; in main() 32 M[p * i + j] = sum_m; in main() 33 K[p * i + j] = sum_k; in main() 37 CeedSimultaneousDiagonalization(ceed, K, M, X, lambda, p); in main() [all …]
|
| H A D | t304-basis.c | 13 CeedInt p = 4; in main() local 21 CeedBasisCreateTensorH1Lagrange(ceed, 1, 1, p, p, CEED_GAUSS, &basis); in main() 24 for (int i = 0; i < p; i++) { in main() 25 for (int j = 0; j < p; j++) { in main() 27 …for (int k = 0; k < p; k++) sum += interpolation[p * k + i] * quadrature_weights[k] * interpolatio… in main() 28 M[p * i + j] = sum; in main() 29 Q[p * i + j] = sum; in main() 33 CeedSymmetricSchurDecomposition(ceed, Q, lambda, p); in main() 36 for (int i = 0; i < p; i++) { in main() 37 for (int j = 0; j < p; j++) { in main() [all …]
|
| H A D | t302-basis.c | 11 CeedInt p = 4; in main() local 12 CeedScalar collocated_gradient_1d[(p + 2) * (p + 2)], x_2[p + 2]; in main() 20 CeedBasisCreateTensorH1Lagrange(ceed, 1, 1, p, p, CEED_GAUSS_LOBATTO, &basis); in main() 24 for (CeedInt i = 0; i < p; i++) { in main() 25 for (CeedInt j = 0; j < p; j++) { in main() 26 if (fabs(collocated_gradient_1d[j + p * i] - gradient_1d[j + p * i]) > 100 * CEED_EPSILON) { in main() 28 …ror in collocated gradient %f != %f\n", collocated_gradient_1d[j + p * i], gradient_1d[j + p * i]); in main() 36 CeedBasisCreateTensorH1Lagrange(ceed, 1, 1, p, p, CEED_GAUSS, &basis); in main() 40 for (CeedInt i = 0; i < p; i++) x_2[i] = q_ref[i] * q_ref[i]; in main() 43 for (CeedInt i = 0; i < p; i++) { in main() [all …]
|
| H A D | t302-basis-f.f90 | 7 integer b,p variable 8 parameter(p=4) 21 call ceedbasiscreatetensorh1lagrange(ceed,1,1,p,p,ceed_gauss_lobatto,b,& 25 do i=0,p-1 26 do j=1,p 27 if (abs(collograd1d(j+p*i)-grad1d(j+p*i+gradoffset))>1.0D-13) then 29 write(*,*) 'Error in collocated gradient ',collograd1d(j+p*i),' != ',& 30 & grad1d(j+p*i+gradoffset) 38 call ceedbasiscreatetensorh1lagrange(ceed,1,1,p,p,ceed_gauss,b,err) 42 do i=1,p [all …]
|
| H A D | t541-operator.c | 19 CeedInt num_elem = 1, p = 4, q = 5, dim = 2; in main() local 20 …CeedInt num_dofs = p * p, num_qpts = num_elem * q * q, q_data_size = dim * (dim + 1) /… in main() 49 CeedInt strides_u[3] = {1, p * p, p * p}; in main() 50 …CeedElemRestrictionCreateStrided(ceed, num_elem, p * p, 1, num_dofs, strides_u, &elem_restriction_… in main() 57 CeedBasisCreateTensorH1Lagrange(ceed, dim, 1, p, q, CEED_GAUSS, &basis_u); in main() 101 u_array[p - 1] = 1.0; in main() 104 u_array[p * p - p] = 1.0; in main() 107 u_array[p * p - 1] = 1.0; in main() 118 S[1 * 4 + i] = -v_array[p - 1]; in main() 119 S[2 * 4 + i] = -v_array[p * p - p]; in main() [all …]
|
| H A D | t582-operator.c | 20 CeedInt num_elem = 12, dim = 2, p = 6, q = 4; in main() local 24 CeedInt ind_x[num_elem * p]; in main() 25 CeedInt8 curl_orients_u[3 * num_elem * p]; in main() 27 CeedScalar interp[p * q], grad[dim * p * q]; in main() 51 ind_x[i * 2 * p + 0] = 2 + offset; in main() 52 ind_x[i * 2 * p + 1] = 9 + offset; in main() 53 ind_x[i * 2 * p + 2] = 16 + offset; in main() 54 ind_x[i * 2 * p + 3] = 1 + offset; in main() 55 ind_x[i * 2 * p + 4] = 8 + offset; in main() 56 ind_x[i * 2 * p + 5] = 0 + offset; in main() [all …]
|
| H A D | t591-operator.c | 13 CeedInt num_elem_1d = 3, num_elem = num_elem_1d * num_elem_1d, dim = 2, p = 3, q = 5; in main() local 14 …CeedInt num_nodes = (num_elem_1d * (p - 1) + 1) * (num_elem_1d * (p - 1) + 1), num_points_per_elem… in main() 54 CeedInt p = 2, num_nodes = (num_elem_1d * (p - 1) + 1) * (num_elem_1d * (p - 1) + 1); in main() local 55 CeedInt ind_x[num_elem * p * p]; in main() 60 for (CeedInt d = 0; d < dim; d++) n_d[d] = num_elem_1d * (p - 1) + 1; in main() 69 CeedInt num_nodes_in_elem = p * p, *elem_nodes = ind_x + e * num_nodes_in_elem; in main() 75 g_node += (elem_xy[d] * (p - 1) + r_node % p) * g_node_stride; in main() 77 r_node /= p; in main() 79 elem_nodes[n] = p * g_node; in main() 82 …CeedElemRestrictionCreate(ceed, num_elem, p * p, dim, 1, dim * num_nodes, CEED_MEM_HOST, CEED_COPY… in main() [all …]
|
| H A D | t581-operator.c | 20 CeedInt num_elem = 12, dim = 2, p = 6, q = 4; in main() local 24 CeedInt ind_x[num_elem * p]; in main() 25 bool orients_u[num_elem * p]; in main() 27 CeedScalar interp[p * q], grad[dim * p * q]; in main() 51 ind_x[i * 2 * p + 0] = 2 + offset; in main() 52 ind_x[i * 2 * p + 1] = 9 + offset; in main() 53 ind_x[i * 2 * p + 2] = 16 + offset; in main() 54 ind_x[i * 2 * p + 3] = 1 + offset; in main() 55 ind_x[i * 2 * p + 4] = 8 + offset; in main() 56 ind_x[i * 2 * p + 5] = 0 + offset; in main() [all …]
|
| H A D | t583-operator.c | 19 CeedInt p = 3, q = 4, dim = 2; in main() local 23 CeedInt ind_x[num_elem * p * p]; in main() 24 bool orients_u[num_elem * p * p]; in main() 25 CeedInt8 curl_orients_u[3 * num_elem * p * p]; in main() 52 offset = col * (p - 1) + row * (n_x * 2 + 1) * (p - 1); in main() 53 for (CeedInt j = 0; j < p; j++) { in main() 54 for (CeedInt k = 0; k < p; k++) { in main() 55 ind_x[p * (p * i + k) + j] = offset + k * (n_x * 2 + 1) + j; in main() 56 orients_u[p * (p * i + k) + j] = false; in main() 57 curl_orients_u[3 * (p * (p * i + k) + j) + 0] = 0; in main() [all …]
|
| H A D | t510-operator.c | 20 CeedInt num_elem = 12, dim = 2, p = 6, q = 4; in main() local 24 CeedInt ind_x[num_elem * p]; in main() 26 CeedScalar interp[p * q], grad[dim * p * q]; in main() 50 ind_x[i * 2 * p + 0] = 2 + offset; in main() 51 ind_x[i * 2 * p + 1] = 9 + offset; in main() 52 ind_x[i * 2 * p + 2] = 16 + offset; in main() 53 ind_x[i * 2 * p + 3] = 1 + offset; in main() 54 ind_x[i * 2 * p + 4] = 8 + offset; in main() 55 ind_x[i * 2 * p + 5] = 0 + offset; in main() 57 ind_x[i * 2 * p + 6] = 14 + offset; in main() [all …]
|
| H A D | t511-operator.c | 19 CeedInt num_elem = 12, dim = 2, p = 6, q = 4; in main() local 23 CeedInt ind_x[num_elem * p]; in main() 25 CeedScalar interp[p * q], grad[dim * p * q]; in main() 49 ind_x[i * 2 * p + 0] = 2 + offset; in main() 50 ind_x[i * 2 * p + 1] = 9 + offset; in main() 51 ind_x[i * 2 * p + 2] = 16 + offset; in main() 52 ind_x[i * 2 * p + 3] = 1 + offset; in main() 53 ind_x[i * 2 * p + 4] = 8 + offset; in main() 54 ind_x[i * 2 * p + 5] = 0 + offset; in main() 56 ind_x[i * 2 * p + 6] = 14 + offset; in main() [all …]
|
| H A D | t511-operator-f.f90 | 22 integer nelem,p,q,d 25 parameter(p=6) 33 integer indx(nelem*p) 39 real*8 interp(p*q) 40 real*8 grad(d*p*q) 64 indx(i*2*p+1)=2+offset 65 indx(i*2*p+2)=9+offset 66 indx(i*2*p+3)=16+offset 67 indx(i*2*p+4)=1+offset 68 indx(i*2*p+5)=8+offset [all …]
|
| H A D | t510-operator-f.f90 | 22 integer nelem,p,q,d 25 parameter(p=6) 33 integer indx(nelem*p) 39 real*8 interp(p*q) 40 real*8 grad(d*p*q) 63 indx(i*2*p+1)=2+offset 64 indx(i*2*p+2)=9+offset 65 indx(i*2*p+3)=16+offset 66 indx(i*2*p+4)=1+offset 67 indx(i*2*p+5)=8+offset [all …]
|
| H A D | t592-operator.c | 13 CeedInt num_elem_1d = 3, num_elem = num_elem_1d * num_elem_1d, dim = 2, p = 3, q = 5; in main() local 14 …CeedInt num_nodes = (num_elem_1d * (p - 1) + 1) * (num_elem_1d * (p - 1) + 1), num_points_per_elem… in main() 54 CeedInt p = 2, num_nodes = (num_elem_1d * (p - 1) + 1) * (num_elem_1d * (p - 1) + 1); in main() local 55 CeedInt ind_x[num_elem * p * p]; in main() 60 for (CeedInt d = 0; d < dim; d++) n_d[d] = num_elem_1d * (p - 1) + 1; in main() 69 CeedInt num_nodes_in_elem = p * p, *elem_nodes = ind_x + e * num_nodes_in_elem; in main() 75 g_node += (elem_xy[d] * (p - 1) + r_node % p) * g_node_stride; in main() 77 r_node /= p; in main() 79 elem_nodes[n] = p * g_node; in main() 82 …CeedElemRestrictionCreate(ceed, num_elem, p * p, dim, 1, dim * num_nodes, CEED_MEM_HOST, CEED_COPY… in main() [all …]
|
| H A D | t325-basis.c | 13 const CeedInt p = 6, q = 4, dim = 2, num_comp = 3; in main() local 16 CeedScalar interp[p * q], grad[dim * p * q]; in main() 17 CeedScalar column_sum[p]; in main() 22 …CeedBasisCreateH1(ceed, CEED_TOPOLOGY_TRIANGLE, num_comp, p, q, interp, grad, q_ref, q_weight, &ba… in main() 36 CeedVectorCreate(ceed, p * num_comp, &v); in main() 42 for (int i = 0; i < p; i++) { in main() 45 column_sum[i] += grad[i + j * p]; in main() 52 for (int i = 0; i < p; i++) { in main() 54 if (fabs(j * column_sum[i] - v_array[i + j * p]) > 100. * CEED_EPSILON) { in main() 56 printf("[%" CeedInt_FMT "] %f != %f\n", i, v_array[i + j * p], j * column_sum[i]); in main()
|
| H A D | t342-basis.c | 12 const CeedInt p = 8, q = 4, dim = 2; in main() local 15 CeedScalar interp[dim * p * q], curl[p * q]; in main() 16 CeedScalar row_sum[dim * q], column_sum[p]; in main() 21 …CeedBasisCreateHcurl(ceed, CEED_TOPOLOGY_TRIANGLE, 1, p, q, interp, curl, q_ref, q_weight, &basis); in main() 28 for (CeedInt i = 0; i < p * q; i++) { in main() 35 for (int j = 0; j < p; j++) { in main() 36 row_sum[i] += curl[j + i * p]; in main() 39 for (int i = 0; i < p; i++) { in main() 42 column_sum[i] += curl[i + j * p]; in main() 46 CeedVectorCreate(ceed, p, &u); in main() [all …]
|
| H A D | t341-basis.c | 12 const CeedInt p = 8, q = 4, dim = 2; in main() local 15 CeedScalar interp[dim * p * q], curl[p * q]; in main() 16 CeedScalar row_sum[dim * q], column_sum[p]; in main() 21 …CeedBasisCreateHcurl(ceed, CEED_TOPOLOGY_TRIANGLE, 1, p, q, interp, curl, q_ref, q_weight, &basis); in main() 28 for (CeedInt i = 0; i < dim * p * q; i++) { in main() 35 for (int j = 0; j < p; j++) { in main() 36 row_sum[i] += interp[j + i * p]; in main() 39 for (int i = 0; i < p; i++) { in main() 42 column_sum[i] += interp[i + j * p]; in main() 46 CeedVectorCreate(ceed, p, &u); in main() [all …]
|
| H A D | t538-operator.c | 16 CeedInt num_elem = 6, p = 3, q = 4, dim = 2; in main() local 19 CeedInt ind_x[num_elem * p * p]; in main() 29 for (CeedInt i = 0; i < n_x * (p - 1) + 1; i++) { in main() 30 for (CeedInt j = 0; j < n_y * (p - 1) + 1; j++) { in main() 31 x_array[i + j * (n_x * (p - 1) + 1) + 0 * num_dofs] = (CeedScalar)i / ((p - 1) * n_x); in main() 32 x_array[i + j * (n_x * (p - 1) + 1) + 1 * num_dofs] = (CeedScalar)j / ((p - 1) * n_y); in main() 47 offset = col * (p - 1) + row * (n_x * 2 + 1) * (p - 1); in main() 48 for (CeedInt j = 0; j < p; j++) { in main() 49 for (CeedInt k = 0; k < p; k++) ind_x[p * (p * i + k) + j] = offset + k * (n_x * 2 + 1) + j; in main() 52 …CeedElemRestrictionCreate(ceed, num_elem, p * p, dim, num_dofs, dim * num_dofs, CEED_MEM_HOST, CEE… in main() [all …]
|
| H A D | t566-operator.c | 18 CeedInt p = 3, q = 3, dim = 2, num_comp = 2; in main() local 21 …CeedInt num_dofs = (n_x * (p - 1) + 1) * (n_y * (p - 1) + 1), num_qpts = num_elem * q … in main() 22 CeedInt ind_x[num_elem * p * p]; in main() 33 for (CeedInt i = 0; i < n_x * (p - 1) + 1; i++) { in main() 34 for (CeedInt j = 0; j < n_y * (p - 1) + 1; j++) { in main() 35 x_array[i + j * (n_x * 2 + 1) + 0 * num_dofs] = (CeedScalar)i / (n_x * (p - 1)); in main() 36 x_array[i + j * (n_x * 2 + 1) + 1 * num_dofs] = (CeedScalar)j / (n_y * (p - 1)); in main() 51 offset = col * (p - 1) + row * (n_x * (p - 1) + 1) * (p - 1); in main() 52 for (CeedInt j = 0; j < p; j++) { in main() 53 for (CeedInt k = 0; k < p; k++) ind_x[p * (p * i + k) + j] = offset + k * p + j; in main() [all …]
|
| H A D | t568-operator.c | 18 CeedInt p = 3, q = 3, dim = 2, num_comp = 2; in main() local 21 …CeedInt num_dofs = (n_x * (p - 1) + 1) * (n_y * (p - 1) + 1), num_qpts = num_elem * q … in main() 22 CeedInt ind_x[num_elem * p * p]; in main() 33 for (CeedInt i = 0; i < n_x * (p - 1) + 1; i++) { in main() 34 for (CeedInt j = 0; j < n_y * (p - 1) + 1; j++) { in main() 35 x_array[i + j * (n_x * 2 + 1) + 0 * num_dofs] = (CeedScalar)i / (n_x * (p - 1)); in main() 36 x_array[i + j * (n_x * 2 + 1) + 1 * num_dofs] = (CeedScalar)j / (n_y * (p - 1)); in main() 51 offset = col * (p - 1) + row * (n_x * (p - 1) + 1) * (p - 1); in main() 52 for (CeedInt j = 0; j < p; j++) { in main() 53 for (CeedInt k = 0; k < p; k++) ind_x[p * (p * i + k) + j] = offset + k * p + j; in main() [all …]
|
| H A D | t567-operator.c | 18 CeedInt p = 3, q = 3, dim = 2, num_comp = 2; in main() local 21 …CeedInt num_dofs = (n_x * (p - 1) + 1) * (n_y * (p - 1) + 1), num_qpts = num_elem * q … in main() 22 CeedInt ind_x[num_elem * p * p]; in main() 33 for (CeedInt i = 0; i < n_x * (p - 1) + 1; i++) { in main() 34 for (CeedInt j = 0; j < n_y * (p - 1) + 1; j++) { in main() 35 x_array[i + j * (n_x * 2 + 1) + 0 * num_dofs] = (CeedScalar)i / (n_x * (p - 1)); in main() 36 x_array[i + j * (n_x * 2 + 1) + 1 * num_dofs] = (CeedScalar)j / (n_y * (p - 1)); in main() 50 offset = col * (p - 1) + row * (n_x * (p - 1) + 1) * (p - 1); in main() 51 for (CeedInt j = 0; j < p; j++) { in main() 52 for (CeedInt k = 0; k < p; k++) ind_x[p * (p * i + k) + j] = offset + k * p + j; in main() [all …]
|
| H A D | t324-basis.c | 13 const CeedInt p = 6, q = 4, dim = 2; in main() local 16 CeedScalar interp[p * q], grad[dim * p * q]; in main() 17 CeedScalar column_sum[p]; in main() 23 CeedVectorCreate(ceed, p, &v); in main() 27 CeedBasisCreateH1(ceed, CEED_TOPOLOGY_TRIANGLE, 1, p, q, interp, grad, q_ref, q_weight, &basis); in main() 32 for (int i = 0; i < p; i++) { in main() 35 column_sum[i] += grad[i + j * p]; in main() 42 for (int i = 0; i < p; i++) { in main()
|
| H A D | t363-basis.c | 13 const CeedInt p = 6, q = 4, dim = 2; in main() local 16 CeedScalar interp[p * q], grad[dim * p * q]; in main() 17 CeedScalar column_sum[p]; in main() 23 CeedVectorCreate(ceed, p, &v); in main() 27 CeedBasisCreateH1(ceed, CEED_TOPOLOGY_TRIANGLE, 1, p, q, interp, grad, q_ref, q_weight, &basis); in main() 33 for (int i = 0; i < p; i++) { in main() 36 column_sum[i] += grad[i + j * p]; in main() 43 for (int i = 0; i < p; i++) { in main()
|
| H A D | t322-basis-f.f90 | 20 integer p,q,d variable 21 parameter(p=6) 27 real*8 interp(p*q) 28 real*8 grad(d*p*q) 29 real*8 xr(d*p) 30 real*8 iinput(p) 50 call ceedbasiscreateh1(ceed,ceed_triangle,1,p,q,interp,grad,qref,qweight,& 53 do i=1,p 54 x1=xr(0*p+i) 55 x2=xr(1*p+i) [all …]
|
| H A D | t595-operator.c | 13 CeedInt num_elem_1d = 3, num_elem = num_elem_1d * num_elem_1d, dim = 2, p = 3, q = 5; in main() local 14 …CeedInt num_nodes = (num_elem_1d * (p - 1) + 1) * (num_elem_1d * (p - 1) + 1), num_points_per_elem… in main() 57 CeedInt ind_u[num_elem * p * p]; in main() 62 for (CeedInt d = 0; d < dim; d++) n_d[d] = num_elem_1d * (p - 1) + 1; in main() 71 CeedInt num_nodes_in_elem = p * p, *elem_nodes = ind_u + e * num_nodes_in_elem; in main() 77 g_node += (elem_xy[d] * (p - 1) + r_node % p) * g_node_stride; in main() 79 r_node /= p; in main() 84 …CeedElemRestrictionCreate(ceed, num_elem, p * p, 1, 1, num_nodes, CEED_MEM_HOST, CEED_COPY_VALUES,… in main() 86 CeedBasisCreateTensorH1Lagrange(ceed, dim, 1, p, q, CEED_GAUSS, &basis_u); in main()
|