304 gpts[0][0] = 0.5*(v1[0] + v2[0]);
305 gpts[0][1] = 0.5*(v1[1] + v2[1]);
306 gpts[0][2] = 0.5*(v1[2] + v2[2]);
444 gpts[0][0] = c_1ov3 * (v1[0] + v2[0] + v3[0]);
445 gpts[0][1] = c_1ov3 * (v1[1] + v2[1] + v3[1]);
446 gpts[0][2] = c_1ov3 * (v1[2] + v2[2] + v3[2]);
540 gpts[0][0] = 0.25 * (v1[0] + v2[0] + v3[0] + v4[0]);
541 gpts[0][1] = 0.25 * (v1[1] + v2[1] + v3[1] + v4[1]);
542 gpts[0][2] = 0.25 * (v1[2] + v2[2] + v3[2] + v4[2]);
647 xg[0] = .5 * (v1[0] + v2[0]);
648 xg[1] = .5 * (v1[1] + v2[1]);
649 xg[2] = .5 * (v1[2] + v2[2]);
652 ana(tcur, 1, NULL, xg,
false, input, &feval);
655 *results += len * feval;
684 double feval[2], weights[2];
690 ana(tcur, 2, NULL, (
const cs_real_t *)gauss_pts,
false, input, feval);
693 *results += weights[0] * feval[0] + weights[1] * feval[1];
722 double feval[3], weights[3];
728 ana(tcur, 3, NULL, (
const cs_real_t *)gauss_pts,
false, input, feval);
731 *results += weights[0]*feval[0] + weights[1]*feval[1] + weights[2]*feval[2];
763 xg[0] = .5 * (v1[0] + v2[0]);
764 xg[1] = .5 * (v1[1] + v2[1]);
765 xg[2] = .5 * (v1[2] + v2[2]);
768 ana(tcur, 1, NULL, xg,
false, input, feval);
771 results[0] += len * feval[0];
772 results[1] += len * feval[1];
773 results[2] += len * feval[2];
802 double feval[6], weights[2];
808 ana(tcur, 2, NULL, (
const cs_real_t *)gauss_pts,
false, input, feval);
811 results[0] += weights[0] * feval[0] + weights[1] * feval[3];
812 results[1] += weights[0] * feval[1] + weights[1] * feval[4];
813 results[2] += weights[0] * feval[2] + weights[1] * feval[5];
842 double feval[9], weights[3];
848 ana(tcur, 3, NULL, (
const cs_real_t *)gauss_pts,
false, input, feval);
851 for (
int p = 0;
p < 3;
p++) {
852 results[0] += weights[
p] * feval[3*
p ];
853 results[1] += weights[
p] * feval[3*
p+1];
854 results[2] += weights[
p] * feval[3*
p+2];
891 xg[0] = c_1ov3 * (v1[0] + v2[0] + v3[0]);
892 xg[1] = c_1ov3 * (v1[1] + v2[1] + v3[1]);
893 xg[2] = c_1ov3 * (v1[2] + v2[2] + v3[2]);
895 ana(tcur, 1, NULL, xg,
false, input, &evaluation);
897 *results += area * evaluation;
928 double evaluation[3], weights[3];
933 ana(tcur, 3, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
936 *results += weights[0] * evaluation[0] + weights[1] * evaluation[1] +
937 weights[2] * evaluation[2];
968 double evaluation[4], weights[4];
973 ana(tcur, 4, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
975 *results += weights[0] * evaluation[0] + weights[1] * evaluation[1] +
976 weights[2] * evaluation[2] + weights[3] * evaluation[3];
1007 double evaluation[7], weights[7];
1012 ana(tcur, 7, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1014 *results += weights[0] * evaluation[0] + weights[1] * evaluation[1] +
1015 weights[2] * evaluation[2] + weights[3] * evaluation[3] +
1016 weights[4] * evaluation[4] + weights[5] * evaluation[5] +
1017 weights[6] * evaluation[6] ;
1048 double evaluation[3];
1053 xg[0] = c_1ov3 * (v1[0] + v2[0] + v3[0]);
1054 xg[1] = c_1ov3 * (v1[1] + v2[1] + v3[1]);
1055 xg[2] = c_1ov3 * (v1[2] + v2[2] + v3[2]);
1057 ana(tcur, 1, NULL, xg,
false, input, evaluation);
1059 results[0] += area * evaluation[0];
1060 results[1] += area * evaluation[1];
1061 results[2] += area * evaluation[2];
1092 double evaluation[3*3], weights[3];
1097 ana(tcur, 3, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1099 for (
int p = 0;
p < 3;
p++) {
1100 results[0] += weights[
p] * evaluation[3*
p ];
1101 results[1] += weights[
p] * evaluation[3*
p+1];
1102 results[2] += weights[
p] * evaluation[3*
p+2];
1134 double evaluation[3*4], weights[4];
1139 ana(tcur, 4, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1141 for (
int p = 0;
p < 4;
p++) {
1142 results[0] += weights[
p] * evaluation[3*
p ];
1143 results[1] += weights[
p] * evaluation[3*
p+1];
1144 results[2] += weights[
p] * evaluation[3*
p+2];
1176 double evaluation[3*7], weights[7];
1181 ana(tcur, 7, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1183 for (
int p = 0;
p < 7;
p++) {
1184 results[0] += weights[
p] * evaluation[3*
p ];
1185 results[1] += weights[
p] * evaluation[3*
p+1];
1186 results[2] += weights[
p] * evaluation[3*
p+2];
1218 double evaluation[9];
1223 xg[0] = c_1ov3 * (v1[0] + v2[0] + v3[0]);
1224 xg[1] = c_1ov3 * (v1[1] + v2[1] + v3[1]);
1225 xg[2] = c_1ov3 * (v1[2] + v2[2] + v3[2]);
1227 ana(tcur, 1, NULL, xg,
false, input, evaluation);
1229 for (
short int ij = 0; ij < 9; ij++)
1230 results[ij] += area * evaluation[ij];
1261 double evaluation[9*3], weights[3];
1266 ana(tcur, 3, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1268 for (
int p = 0;
p < 3;
p++) {
1269 const double wp = weights[
p];
1270 double *eval_p = evaluation + 9*
p;
1271 for (
short int ij = 0; ij < 9; ij++)
1272 results[ij] += wp * eval_p[ij];
1304 double evaluation[9*4], weights[4];
1309 ana(tcur, 4, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1311 for (
int p = 0;
p < 4;
p++) {
1312 const double wp = weights[
p];
1313 double *eval_p = evaluation + 9*
p;
1314 for (
short int ij = 0; ij < 9; ij++)
1315 results[ij] += wp * eval_p[ij];
1347 double evaluation[9*7], weights[7];
1352 ana(tcur, 7, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1354 for (
int p = 0;
p < 7;
p++) {
1355 const double wp = weights[
p];
1356 double *eval_p = evaluation + 9*
p;
1357 for (
short int ij = 0; ij < 9; ij++)
1358 results[ij] += wp * eval_p[ij];
1395 xg[0] = 0.25 * (v1[0] + v2[0] + v3[0] + v4[0]);
1396 xg[1] = 0.25 * (v1[1] + v2[1] + v3[1] + v4[1]);
1397 xg[2] = 0.25 * (v1[2] + v2[2] + v3[2] + v4[2]);
1399 ana(tcur, 1, NULL, xg,
false, input, &evaluation);
1401 *results += vol * evaluation;
1434 double evaluation[4], weights[4];
1439 ana(tcur, 4, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1442 *results += weights[0] * evaluation[0] + weights[1] * evaluation[1] +
1443 weights[2] * evaluation[2] + weights[3] * evaluation[3];
1476 double evaluation[5], weights[5];
1481 ana(tcur, 5, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1483 *results += weights[0] * evaluation[0] + weights[1] * evaluation[1] +
1484 weights[2] * evaluation[2] + weights[3] * evaluation[3] +
1485 weights[4] * evaluation[4];
1518 double evaluation[3];
1521 xg[0] = 0.25 * (v1[0] + v2[0] + v3[0] + v4[0]);
1522 xg[1] = 0.25 * (v1[1] + v2[1] + v3[1] + v4[1]);
1523 xg[2] = 0.25 * (v1[2] + v2[2] + v3[2] + v4[2]);
1525 ana(tcur, 1, NULL, xg,
false, input, evaluation);
1527 results[0] += vol * evaluation[0];
1528 results[1] += vol * evaluation[1];
1529 results[2] += vol * evaluation[2];
1562 double evaluation[3*4], weights[4];
1567 ana(tcur, 4, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1569 for (
int p = 0;
p < 4;
p++) {
1570 results[0] += weights[
p] * evaluation[3*
p ];
1571 results[1] += weights[
p] * evaluation[3*
p+1];
1572 results[2] += weights[
p] * evaluation[3*
p+2];
1606 double evaluation[3*5], weights[5];
1611 ana(tcur, 5, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1613 for (
int p = 0;
p < 5;
p++) {
1614 results[0] += weights[
p] * evaluation[3*
p ];
1615 results[1] += weights[
p] * evaluation[3*
p+1];
1616 results[2] += weights[
p] * evaluation[3*
p+2];
1650 double evaluation[9];
1653 xg[0] = 0.25 * (v1[0] + v2[0] + v3[0] + v4[0]);
1654 xg[1] = 0.25 * (v1[1] + v2[1] + v3[1] + v4[1]);
1655 xg[2] = 0.25 * (v1[2] + v2[2] + v3[2] + v4[2]);
1657 ana(tcur, 1, NULL, xg,
false, input, evaluation);
1659 for (
short int ij = 0; ij < 9; ij++)
1660 results[ij] += vol * evaluation[ij];
1693 double evaluation[9*4], weights[4];
1698 ana(tcur, 4, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1700 for (
int p = 0;
p < 4;
p++) {
1701 const double wp = weights[
p];
1702 double *eval_p = evaluation + 9*
p;
1703 for (
short int ij = 0; ij < 9; ij++)
1704 results[ij] += wp * eval_p[ij];
1738 double evaluation[9*5], weights[5];
1743 ana(tcur, 5, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1745 for (
int p = 0;
p < 5;
p++) {
1746 const double wp = weights[
p];
1747 double *eval_p = evaluation + 9*
p;
1748 for (
short int ij = 0; ij < 9; ij++)
1749 results[ij] += wp * eval_p[ij];
1781 double weight[1], evaluation[3];
1786 ana(tcur, 1, NULL, (
const cs_real_t *)xg,
false, input, evaluation);
1788 results[0] += weight[0] * evaluation[0];
1789 results[1] += weight[0] * evaluation[1];
1790 results[2] += weight[0] * evaluation[2];
1821 double evaluation[3 * 8], weights[8];
1826 ana(tcur, 8, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1828 for (
int p = 0;
p < 8;
p++) {
1829 results[0] += weights[
p] * evaluation[3 *
p];
1830 results[1] += weights[
p] * evaluation[3 *
p + 1];
1831 results[2] += weights[
p] * evaluation[3 *
p + 2];
1863 double evaluation[3 * 27], weights[27];
1868 ana(tcur, 27, NULL, (
const cs_real_t *)gauss_pts,
false, input, evaluation);
1870 for (
int p = 0;
p < 27;
p++) {
1871 results[0] += weights[
p] * evaluation[3 *
p];
1872 results[1] += weights[
p] * evaluation[3 *
p + 1];
1873 results[2] += weights[
p] * evaluation[3 *
p + 2];
1910 " %s: Invalid quadrature type\n", __func__);
1928 " %s: Invalid quadrature type\n", __func__);
1934 " %s: Invalid dimension value %d. Only 1 and 3 are valid.\n",
1974 " %s: Invalid quadrature type\n", __func__);
1992 " %s: Invalid quadrature type\n", __func__);
2010 " %s: Invalid quadrature type\n", __func__);
2016 " %s: Invalid dimension value %d. Only 1, 3 and 9 are valid.\n",
2056 " %s: Invalid quadrature type\n", __func__);
2074 " %s: Invalid quadrature type\n", __func__);
2092 " %s: Invalid quadrature type\n", __func__);
2098 " %s: Invalid dimension value %d. Only 1, 3 and 9 are valid.\n",
2138 __FILE__, __LINE__, 0,
" %s: Invalid quadrature type\n", __func__);
2146 " %s: Invalid dimension value %d. Only 3 is valid.\n",
void bft_error(const char *const file_name, const int line_num, const int sys_error_code, const char *const format,...)
Calls the error handler (set by bft_error_handler_set() or default).
Definition: bft_error.cpp:187
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:349
unsigned short int cs_flag_t
Definition: cs_defs.h:334
@ p
Definition: cs_field_pointer.h:63
unsigned int cs_eflag_t
Definition: cs_flag.h:190
void() cs_analytic_func_t(cs_real_t time, cs_lnum_t n_elts, const cs_lnum_t *elt_ids, const cs_real_t *coords, bool dense_output, void *input, cs_real_t *retval)
Generic function pointer for an evaluation relying on an analytic function.
Definition: cs_param_types.h:127
void cs_quadrature_tet_5pts(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_real_3_t gpts[], double weights[])
Compute the quadrature in a tetrehedra. Exact for 3rd order polynomials (order 4).
Definition: cs_quadrature.cpp:502
static void cs_quadrature_edge_1pt_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an edge with the mid-point rule and add it to results Case of a scalar-valu...
Definition: cs_quadrature.h:635
void() cs_quadrature_hexa_integral_t(double tcur, const cs_real_3_t vb, const double hx, const double hy, const double hz, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an orthogonal hexahedron based on a specified quadrature rule and add it to...
Definition: cs_quadrature.h:249
static void cs_quadrature_tet_4pts_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron with a quadrature rule using 4 Gauss points and a unique weig...
Definition: cs_quadrature.h:1551
static void cs_quadrature_tet_1pt(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_real_3_t gpts[], double weight[])
Compute the quadrature in a tetrehedra. Exact for 1st order polynomials (order 2).
Definition: cs_quadrature.h:532
static void cs_quadrature_tet_5pts_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron with a quadrature rule using 5 Gauss points and 5 weights and...
Definition: cs_quadrature.h:1465
static void cs_quadrature_edge_3pts_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an edge with a quadrature rule using 3 Gauss points and weights and add it ...
Definition: cs_quadrature.h:713
static void cs_quadrature_tet_5pts_tens(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron with a quadrature rule using 5 Gauss points and 5 weights and...
Definition: cs_quadrature.h:1727
static void cs_quadrature_tria_4pts_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle with a quadrature rule using 4 Gauss points and 4 weights and ad...
Definition: cs_quadrature.h:958
static void cs_quadrature_tria_7pts_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle with a quadrature rule using 7 Gauss points and 7 weights and ad...
Definition: cs_quadrature.h:997
void cs_quadrature_tria_7pts(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_real_3_t gpts[], double w[])
Compute quadrature points for a triangle (7 points) Exact for polynomial function up to order 5.
Definition: cs_quadrature.cpp:418
static cs_quadrature_edge_integral_t * cs_quadrature_get_edge_integral(int dim, cs_quadrature_type_t qtype)
Retrieve the integral function according to the quadrature type and the stride provided Case of integ...
Definition: cs_quadrature.h:1891
static void cs_quadrature_hex_1pt(const cs_real_3_t vb, const double hx, const double hy, const double hz, cs_real_3_t gpts[], double *w)
Compute quadrature points for an orthogonal hexahedron Exact for polynomial function up to order 1.
Definition: cs_quadrature.h:365
cs_quadrature_type_t
Type of quadrature to use when computing an integral quantity. This rationale is used for integrals a...
Definition: cs_quadrature.h:79
@ CS_QUADRATURE_HIGHEST
Definition: cs_quadrature.h:85
@ CS_QUADRATURE_NONE
Definition: cs_quadrature.h:81
@ CS_QUADRATURE_BARY_SUBDIV
Definition: cs_quadrature.h:83
@ CS_QUADRATURE_N_TYPES
Definition: cs_quadrature.h:86
@ CS_QUADRATURE_HIGHER
Definition: cs_quadrature.h:84
@ CS_QUADRATURE_BARY
Definition: cs_quadrature.h:82
void() cs_quadrature_tria_integral_t(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle based on a specified quadrature rule and add it to results.
Definition: cs_quadrature.h:196
static void cs_quadrature_tet_1pt_tens(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron using a barycentric quadrature rule and add it to results....
Definition: cs_quadrature.h:1639
static void cs_quadrature_edge_2pts_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an edge with a quadrature rule using 2 Gauss points and a unique weight and...
Definition: cs_quadrature.h:793
static void cs_quadrature_tria_4pts_tens(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle with a quadrature rule using 4 Gauss points and 4 weights and ad...
Definition: cs_quadrature.h:1294
void() cs_quadrature_tria_t(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_real_3_t gpts[], double *weights)
Generic functoin pointer to compute the quadrature points for a triangle.
Definition: cs_quadrature.h:125
static void cs_quadrature_edge_1pt(const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_real_3_t gpts[], double *w)
Compute quadrature points for an edge from v1 -> v2 (2 points) Exact for polynomial function up to or...
Definition: cs_quadrature.h:298
static void cs_quadrature_tria_4pts_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle with a quadrature rule using 4 Gauss points and 4 weights and ad...
Definition: cs_quadrature.h:1124
static void cs_quadrature_tet_1pt_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron using a barycentric quadrature rule and add it to results....
Definition: cs_quadrature.h:1507
static void cs_quadrature_tet_5pts_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron with a quadrature rule using 5 Gauss points and 5 weights and...
Definition: cs_quadrature.h:1595
void cs_quadrature_edge_3pts(const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_real_3_t gpts[], double w[])
Compute quadrature points for an edge from v1 -> v2 (3 points) Exact for polynomial function up to or...
Definition: cs_quadrature.cpp:201
void cs_quadrature_setup(void)
Compute constant weights for all quadratures used.
Definition: cs_quadrature.cpp:103
static void cs_quadrature_tria_7pts_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle with a quadrature rule using 7 Gauss points and 7 weights and ad...
Definition: cs_quadrature.h:1166
void cs_quadrature_edge_2pts(const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_real_3_t gpts[], double *w)
Compute quadrature points for an edge from v1 -> v2 (2 points) Exact for polynomial function up to or...
void cs_quadrature_hex_8pts(const cs_real_3_t vb, const double hx, const double hy, const double hz, cs_real_3_t gpts[], double *w)
Compute quadrature points for an orthogonal hexahedron Exact for polynomial function up to order 3.
Definition: cs_quadrature.cpp:237
static void cs_quadrature_edge_2pts_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an edge with a quadrature rule using 2 Gauss points and a unique weight and...
Definition: cs_quadrature.h:675
static void cs_quadrature_tet_1pt_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron using a barycentric quadrature rule and add it to results....
Definition: cs_quadrature.h:1381
static cs_quadrature_tetra_integral_t * cs_quadrature_get_tetra_integral(int dim, cs_quadrature_type_t qtype)
Retrieve the integral function according to the quadrature type and the stride provided.
Definition: cs_quadrature.h:2037
static void cs_quadrature_tria_3pts_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle with a quadrature rule using 3 Gauss points and a unique weight ...
Definition: cs_quadrature.h:1082
static void cs_quadrature_tria_1pt_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle using a barycentric quadrature rule and add it to results Case o...
Definition: cs_quadrature.h:876
static void cs_quadrature_tet_4pts_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron with a quadrature rule using 4 Gauss points and a unique weig...
Definition: cs_quadrature.h:1423
void cs_quadrature_hex_27pts(const cs_real_3_t vb, const double hx, const double hy, const double hz, cs_real_3_t gpts[], double w[])
Compute quadrature points for an orthogonal hexahedron Exact for polynomial function up to order 5.
Definition: cs_quadrature.cpp:290
static void cs_quadrature_tria_1pt(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_real_3_t gpts[], double *w)
Compute quadrature points for a triangle (1 point) Exact for polynomial function up to order 1 (baryc...
Definition: cs_quadrature.h:435
void cs_quadrature_tria_4pts(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_real_3_t gpts[], double w[])
Compute quadrature points for a triangle (4 points) Exact for polynomial function up to order 3.
Definition: cs_quadrature.cpp:381
void() cs_quadrature_tetra_integral_t(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron based on a specified quadrature rule and add it to results.
Definition: cs_quadrature.h:223
void cs_quadrature_tria_3pts(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_real_3_t gpts[], double *w)
Compute quadrature points for a triangle (3 points) Exact for polynomial function up to order 2.
void cs_quadrature_tet_15pts(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_real_3_t gpts[], double weights[])
Compute the quadrature in a tetrehedra. Exact for 5th order polynomials (order 6).
Definition: cs_quadrature.cpp:548
static void cs_quadrature_tria_1pt_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle using a barycentric quadrature rule and add it to results Case o...
Definition: cs_quadrature.h:1038
static void cs_quadrature_hex_1pt_vect(double tcur, const cs_real_3_t vb, const double hx, const double hy, const double hz, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a orthoganal hexahedron using a barycentric quadrature rule and add it to r...
Definition: cs_quadrature.h:1771
const char * cs_quadrature_get_type_name(const cs_quadrature_type_t type)
Return th name associated to a type of quadrature.
Definition: cs_quadrature.cpp:150
static void cs_quadrature_tria_3pts_scal(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle with a quadrature rule using 3 Gauss points and a unique weight ...
Definition: cs_quadrature.h:918
void() cs_quadrature_edge_t(const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_real_3_t gpts[], double *weights)
Generic function pointer to compute the quadrature points for an edge from v1 -> v2.
Definition: cs_quadrature.h:104
static void cs_quadrature_edge_1pt_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an edge using a barycentric quadrature rule and add it to results Case of a...
Definition: cs_quadrature.h:751
static void cs_quadrature_hex_27pts_vect(double tcur, const cs_real_3_t vb, const double hx, const double hy, const double hz, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an orthogonal hexahedron with a quadrature rule using 27 Gauss points add i...
Definition: cs_quadrature.h:1853
void() cs_quadrature_tet_t(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_real_3_t gpts[], double weights[])
Generic function to compute the quadrature points in a tetrehedra.
Definition: cs_quadrature.h:147
void() cs_quadrature_edge_integral_t(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an edge based on a specified quadrature rule and add it to results.
Definition: cs_quadrature.h:171
static void cs_quadrature_tria_3pts_tens(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle with a quadrature rule using 3 Gauss points and a unique weight ...
Definition: cs_quadrature.h:1251
static void cs_quadrature_tria_7pts_tens(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle with a quadrature rule using 7 Gauss points and 7 weights and ad...
Definition: cs_quadrature.h:1337
void cs_quadrature_tet_4pts(const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_real_3_t gpts[], double weights[])
Compute the quadrature in a tetrehedra. Exact for 2nd order polynomials (order 3).
Definition: cs_quadrature.cpp:460
cs_eflag_t cs_quadrature_get_flag(const cs_quadrature_type_t qtype, const cs_flag_t loc)
Get the flags adapted to the given quadrature type qtype and the location on which the quadrature sho...
Definition: cs_quadrature.cpp:611
static void cs_quadrature_edge_3pts_vect(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, double len, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an edge with a quadrature rule using 3 Gauss points and weights and add it ...
Definition: cs_quadrature.h:833
static void cs_quadrature_tria_1pt_tens(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, double area, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a triangle using a barycentric quadrature rule and add it to results....
Definition: cs_quadrature.h:1208
static cs_quadrature_hexa_integral_t * cs_quadrature_get_hexa_integral(int dim, cs_quadrature_type_t qtype)
Retrieve the integral function according to the quadrature type and the stride provided for an hexahe...
Definition: cs_quadrature.h:2120
static cs_quadrature_tria_integral_t * cs_quadrature_get_tria_integral(int dim, cs_quadrature_type_t qtype)
Retrieve the integral function according to the quadrature type and the stride provided.
Definition: cs_quadrature.h:1955
static void cs_quadrature_hex_8pts_vect(double tcur, const cs_real_3_t vb, const double hx, const double hy, const double hz, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over an orthoganal hexahedron with a quadrature rule using 8 Gauss points and a ...
Definition: cs_quadrature.h:1811
static void cs_quadrature_tet_4pts_tens(double tcur, const cs_real_3_t v1, const cs_real_3_t v2, const cs_real_3_t v3, const cs_real_3_t v4, double vol, cs_analytic_func_t *ana, void *input, double results[])
Compute the integral over a tetrahedron with a quadrature rule using 4 Gauss points and a unique weig...
Definition: cs_quadrature.h:1682