Lines Matching refs:Q_1d
400 CeedInt dim, num_comp, num_q_comp, num_nodes, P_1d = 1, Q_1d = 1, total_num_points = 0; in CeedBasisApplyAtPointsCheckDims() local
405 CeedCall(CeedBasisGetNumQuadraturePoints1D(basis, &Q_1d)); in CeedBasisApplyAtPointsCheckDims()
478 CeedInt dim, num_comp, P_1d = 1, Q_1d = 1, total_num_points = num_points[0]; in CeedBasisApplyAtPoints_Core() local
484 CeedCall(CeedBasisGetNumQuadraturePoints1D(basis, &Q_1d)); in CeedBasisApplyAtPoints_Core()
507 CeedCall(CeedCalloc(P_1d * Q_1d, &chebyshev_interp_1d)); in CeedBasisApplyAtPoints_Core()
508 CeedCall(CeedCalloc(P_1d * Q_1d, &chebyshev_grad_1d)); in CeedBasisApplyAtPoints_Core()
509 CeedCall(CeedCalloc(Q_1d, &chebyshev_q_weight_1d)); in CeedBasisApplyAtPoints_Core()
514 CeedCall(CeedVectorCreate(ceed, num_comp * CeedIntPow(Q_1d, dim), &basis->vec_chebyshev)); in CeedBasisApplyAtPoints_Core()
515 …CeedCall(CeedBasisCreateTensorH1(ceed, dim, num_comp, P_1d, Q_1d, chebyshev_interp_1d, chebyshev_g… in CeedBasisApplyAtPoints_Core()
532 …CeedCall(CeedBasisCreateTensorH1Lagrange(ceed_ref, dim, num_comp, P_1d, Q_1d, CEED_GAUSS, &basis_r… in CeedBasisApplyAtPoints_Core()
557 CeedScalar tmp[2][num_comp * CeedIntPow(Q_1d, dim)], chebyshev_x[Q_1d]; in CeedBasisApplyAtPoints_Core()
561 CeedInt pre = num_comp * CeedIntPow(Q_1d, dim - 1), post = 1; in CeedBasisApplyAtPoints_Core()
565 …CeedCall(CeedChebyshevPolynomialsAtPoint(x_array_read[d * total_num_points + p], Q_1d, chebyshev_x… in CeedBasisApplyAtPoints_Core()
566 … CeedCall(CeedTensorContractApply(basis->contract, pre, Q_1d, post, 1, chebyshev_x, t_mode, false, in CeedBasisApplyAtPoints_Core()
568 pre /= Q_1d; in CeedBasisApplyAtPoints_Core()
576 CeedScalar tmp[2][num_comp * CeedIntPow(Q_1d, dim)], chebyshev_x[Q_1d]; in CeedBasisApplyAtPoints_Core()
582 CeedInt pre = num_comp * CeedIntPow(Q_1d, dim - 1), post = 1; in CeedBasisApplyAtPoints_Core()
586 …eedCall(CeedChebyshevDerivativeAtPoint(x_array_read[d * total_num_points + p], Q_1d, chebyshev_x)); in CeedBasisApplyAtPoints_Core()
587 …edCall(CeedChebyshevPolynomialsAtPoint(x_array_read[d * total_num_points + p], Q_1d, chebyshev_x)); in CeedBasisApplyAtPoints_Core()
588 … CeedCall(CeedTensorContractApply(basis->contract, pre, Q_1d, post, 1, chebyshev_x, t_mode, false, in CeedBasisApplyAtPoints_Core()
590 pre /= Q_1d; in CeedBasisApplyAtPoints_Core()
620 CeedScalar tmp[2][num_comp * CeedIntPow(Q_1d, dim)], chebyshev_x[Q_1d]; in CeedBasisApplyAtPoints_Core()
629 …CeedCall(CeedChebyshevPolynomialsAtPoint(x_array_read[d * total_num_points + p], Q_1d, chebyshev_x… in CeedBasisApplyAtPoints_Core()
630 …CeedCall(CeedTensorContractApply(basis->contract, pre, 1, post, Q_1d, chebyshev_x, t_mode, p > 0 &… in CeedBasisApplyAtPoints_Core()
633 post *= Q_1d; in CeedBasisApplyAtPoints_Core()
639 CeedScalar tmp[2][num_comp * CeedIntPow(Q_1d, dim)], chebyshev_x[Q_1d]; in CeedBasisApplyAtPoints_Core()
650 …eedCall(CeedChebyshevDerivativeAtPoint(x_array_read[d * total_num_points + p], Q_1d, chebyshev_x)); in CeedBasisApplyAtPoints_Core()
651 …edCall(CeedChebyshevPolynomialsAtPoint(x_array_read[d * total_num_points + p], Q_1d, chebyshev_x)); in CeedBasisApplyAtPoints_Core()
652 … CeedCall(CeedTensorContractApply(basis->contract, pre, 1, post, Q_1d, chebyshev_x, t_mode, in CeedBasisApplyAtPoints_Core()
656 post *= Q_1d; in CeedBasisApplyAtPoints_Core()
735 CeedInt P_1d, Q_1d; in CeedBasisGetCollocatedGrad() local
742 CeedCall(CeedBasisGetNumQuadraturePoints1D(basis, &Q_1d)); in CeedBasisGetCollocatedGrad()
745 CeedCall(CeedCalloc(P_1d * Q_1d, &interp_1d_pinv)); in CeedBasisGetCollocatedGrad()
747 CeedCall(CeedMatrixPseudoinverse(ceed, interp_1d, Q_1d, P_1d, interp_1d_pinv)); in CeedBasisGetCollocatedGrad()
749 …atrixMultiply(ceed, grad_1d, (const CeedScalar *)interp_1d_pinv, collo_grad_1d, Q_1d, Q_1d, P_1d)); in CeedBasisGetCollocatedGrad()
767 CeedInt P_1d, Q_1d; in CeedBasisGetChebyshevInterp1D() local
774 CeedCall(CeedBasisGetNumQuadraturePoints1D(basis, &Q_1d)); in CeedBasisGetChebyshevInterp1D()
778 …CeedCheck((P_1d > 0) && (Q_1d > 0), ceed, CEED_ERROR_INCOMPATIBLE, "CeedBasis dimensions are malfo… in CeedBasisGetChebyshevInterp1D()
779 CeedCall(CeedCalloc(Q_1d * Q_1d, &C)); in CeedBasisGetChebyshevInterp1D()
781 …for (CeedInt i = 0; i < Q_1d; i++) CeedCall(CeedChebyshevPolynomialsAtPoint(q_ref_1d[i], Q_1d, &C[… in CeedBasisGetChebyshevInterp1D()
784 CeedCall(CeedCalloc(Q_1d * Q_1d, &chebyshev_coeffs_1d_inv)); in CeedBasisGetChebyshevInterp1D()
785 CeedCall(CeedMatrixPseudoinverse(ceed, C, Q_1d, Q_1d, chebyshev_coeffs_1d_inv)); in CeedBasisGetChebyshevInterp1D()
789 …ixMatrixMultiply(ceed, chebyshev_coeffs_1d_inv, interp_1d, chebyshev_interp_1d, Q_1d, P_1d, Q_1d)); in CeedBasisGetChebyshevInterp1D()
824 if (basis->is_tensor_basis && (basis->Q_1d == basis->P_1d)) { in CeedBasisIsCollocated()
829 for (CeedInt j = 0; j < basis->Q_1d; j++) { in CeedBasisIsCollocated()
944 CeedInt dim, num_comp, P_1d, Q_1d; in CeedBasisGetFlopsEstimate() local
949 CeedCall(CeedBasisGetNumQuadraturePoints1D(basis, &Q_1d)); in CeedBasisGetFlopsEstimate()
951 P_1d = Q_1d; in CeedBasisGetFlopsEstimate()
952 Q_1d = P_1d; in CeedBasisGetFlopsEstimate()
957 tensor_flops += 2 * pre * P_1d * post * Q_1d; in CeedBasisGetFlopsEstimate()
959 post *= Q_1d; in CeedBasisGetFlopsEstimate()
971 CeedInt chebyshev_flops = (Q_1d - 2) * 3 + 1, d_chebyshev_flops = (Q_1d - 2) * 8 + 1; in CeedBasisGetFlopsEstimate()
972 CeedInt point_tensor_flops = 0, pre = CeedIntPow(Q_1d, dim - 1), post = 1; in CeedBasisGetFlopsEstimate()
975 point_tensor_flops += 2 * pre * Q_1d * post * 1; in CeedBasisGetFlopsEstimate()
977 post *= Q_1d; in CeedBasisGetFlopsEstimate()
985 …_points * num_comp * (point_tensor_flops + (t_mode == CEED_TRANSPOSE ? CeedIntPow(Q_1d, dim) : 0)); in CeedBasisGetFlopsEstimate()
987 *flops += num_points * Q_1d * in CeedBasisGetFlopsEstimate()
988 …ops + num_comp * (2 * chebyshev_flops + 2 * Q_1d * Q_1d + (t_mode == CEED_TRANSPOSE ? 2 * Q_1d + 1… in CeedBasisGetFlopsEstimate()
995 …_points * num_comp * (point_tensor_flops + (t_mode == CEED_TRANSPOSE ? CeedIntPow(Q_1d, dim) : 0)); in CeedBasisGetFlopsEstimate()
998 …dim * (2 * Q_1d * Q_1d + (t_mode == CEED_TRANSPOSE ? 2 : 3) * Q_1d) + (dim - 1) * (2 * chebyshev_f… in CeedBasisGetFlopsEstimate()
1000 …*flops += num_points * Q_1d * (chebyshev_flops + d_chebyshev_flops + num_comp * (inner_flops + (t_… in CeedBasisGetFlopsEstimate()
1038 *flops = dim * CeedIntPow(Q_1d, dim); in CeedBasisGetFlopsEstimate()
1536 int CeedBasisCreateTensorH1(Ceed ceed, CeedInt dim, CeedInt num_comp, CeedInt P_1d, CeedInt Q_1d, c… in CeedBasisCreateTensorH1() argument
1543 …CeedCall(CeedBasisCreateTensorH1(delegate, dim, num_comp, P_1d, Q_1d, interp_1d, grad_1d, q_ref_1d… in CeedBasisCreateTensorH1()
1551 …CeedCheck(Q_1d > 0, ceed, CEED_ERROR_DIMENSION, "CeedBasis must have at least 1 quadrature point"); in CeedBasisCreateTensorH1()
1562 (*basis)->Q_1d = Q_1d; in CeedBasisCreateTensorH1()
1564 (*basis)->Q = CeedIntPow(Q_1d, dim); in CeedBasisCreateTensorH1()
1566 CeedCall(CeedCalloc(Q_1d, &(*basis)->q_ref_1d)); in CeedBasisCreateTensorH1()
1567 CeedCall(CeedCalloc(Q_1d, &(*basis)->q_weight_1d)); in CeedBasisCreateTensorH1()
1568 if (q_ref_1d) memcpy((*basis)->q_ref_1d, q_ref_1d, Q_1d * sizeof(q_ref_1d[0])); in CeedBasisCreateTensorH1()
1569 if (q_weight_1d) memcpy((*basis)->q_weight_1d, q_weight_1d, Q_1d * sizeof(q_weight_1d[0])); in CeedBasisCreateTensorH1()
1570 CeedCall(CeedCalloc(Q_1d * P_1d, &(*basis)->interp_1d)); in CeedBasisCreateTensorH1()
1571 CeedCall(CeedCalloc(Q_1d * P_1d, &(*basis)->grad_1d)); in CeedBasisCreateTensorH1()
1572 if (interp_1d) memcpy((*basis)->interp_1d, interp_1d, Q_1d * P_1d * sizeof(interp_1d[0])); in CeedBasisCreateTensorH1()
1573 if (grad_1d) memcpy((*basis)->grad_1d, grad_1d, Q_1d * P_1d * sizeof(grad_1d[0])); in CeedBasisCreateTensorH1()
1574 …CeedCall(ceed->BasisCreateTensorH1(dim, P_1d, Q_1d, interp_1d, grad_1d, q_ref_1d, q_weight_1d, *ba… in CeedBasisCreateTensorH1()
1983 …tream, "%s P: %" CeedInt_FMT "\n%s Q: %" CeedInt_FMT "\n", tabs, basis->P_1d, tabs, basis->Q_1d); in CeedBasisView()
1990 CeedInt P_1d, Q_1d; in CeedBasisView() local
1994 CeedCall(CeedBasisGetNumQuadraturePoints1D(basis, &Q_1d)); in CeedBasisView()
2000 CeedCall(CeedScalarView("qref1d", "\t% 12.8f", 1, Q_1d, q_ref_1d, tabs, stream)); in CeedBasisView()
2001 CeedCall(CeedScalarView("qweight1d", "\t% 12.8f", 1, Q_1d, q_weight_1d, tabs, stream)); in CeedBasisView()
2002 CeedCall(CeedScalarView("interp1d", "\t% 12.8f", Q_1d, P_1d, interp_1d, tabs, stream)); in CeedBasisView()
2003 CeedCall(CeedScalarView("grad1d", "\t% 12.8f", Q_1d, P_1d, grad_1d, tabs, stream)); in CeedBasisView()
2286 int CeedBasisGetNumQuadraturePoints1D(CeedBasis basis, CeedInt *Q_1d) { in CeedBasisGetNumQuadraturePoints1D() argument
2288 *Q_1d = basis->Q_1d; in CeedBasisGetNumQuadraturePoints1D()
2345 CeedInt q = (qpt / CeedIntPow(basis->Q_1d, d)) % basis->Q_1d; in CeedBasisGetInterp()
2399 CeedInt q = (qpt / CeedIntPow(basis->Q_1d, d)) % basis->Q_1d; in CeedBasisGetGrad()