8.3
general documentation
cs_quadrature.h File Reference
#include <bft_error.h>
#include "cs_base.h"
#include "cs_defs.h"
#include "cs_flag.h"
#include "cs_math.h"
#include "cs_param_types.h"
+ Include dependency graph for cs_quadrature.h:

Go to the source code of this file.

Typedefs

typedef 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. More...
 
typedef 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. More...
 
typedef 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. More...
 
typedef 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. More...
 
typedef 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. More...
 
typedef 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. More...
 
typedef 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 results. More...
 

Enumerations

enum  cs_quadrature_type_t {
  CS_QUADRATURE_NONE , CS_QUADRATURE_BARY , CS_QUADRATURE_BARY_SUBDIV , CS_QUADRATURE_HIGHER ,
  CS_QUADRATURE_HIGHEST , CS_QUADRATURE_N_TYPES
}
 Type of quadrature to use when computing an integral quantity. This rationale is used for integrals along edges/lines, over faces/surfaces or inside cells/volumes. More...
 

Functions

void cs_quadrature_setup (void)
 Compute constant weights for all quadratures used. More...
 
const char * cs_quadrature_get_type_name (const cs_quadrature_type_t type)
 Return th name associated to a type of quadrature. More...
 
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 order 1. More...
 
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 order 3. More...
 
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 order 5. More...
 
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. More...
 
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. More...
 
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. More...
 
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 (barycentric approx.) More...
 
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. More...
 
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. More...
 
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. More...
 
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). More...
 
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). More...
 
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). More...
 
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). More...
 
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-valued function. More...
 
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 add it to results Case of a scalar-valued function. More...
 
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 to results Case of a scalar-valued function. More...
 
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 vector-valued function. More...
 
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 add it to results Case of a vector-valued function. More...
 
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 to results Case of a vector-valued function. More...
 
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 of a scalar-valued function. More...
 
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 and add it to results Case of a scalar-valued function. More...
 
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 add it to results Case of a scalar-valued function. More...
 
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 add it to results Case of a scalar-valued function. More...
 
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 of a vector-valued function. More...
 
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 and add it to results Case of a vector-valued function. More...
 
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 add it to results. Case of a vector-valued function. More...
 
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 add it to results. Case of a vector-valued function. More...
 
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. Case of a tensor-valued function. More...
 
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 and add it to results. Case of a tensor-valued function. More...
 
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 add it to results. Case of a tensor-valued function. More...
 
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 add it to results. Case of a tensor-valued function. More...
 
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. Case of a scalar-valued function. More...
 
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 weight and add it to results. Case of a scalar-valued function. More...
 
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 add it to results. Case of a scalar-valued function. More...
 
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. Case of a vector-valued function. More...
 
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 weight and add it to results. Case of a vector-valued function. More...
 
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 add it to results. Case of a vector-valued function. More...
 
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. Case of a tensor-valued function. More...
 
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 weight and add it to results. Case of a tensor-valued function. More...
 
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 add it to results Case of a tensor-valued function. More...
 
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 results. Case of a vector-valued function. More...
 
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 unique weight and add it to results. Case of a vector-valued function. More...
 
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 it to results. Case of a vector-valued function. More...
 
static cs_quadrature_edge_integral_tcs_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 integral along edges. More...
 
static cs_quadrature_tria_integral_tcs_quadrature_get_tria_integral (int dim, cs_quadrature_type_t qtype)
 Retrieve the integral function according to the quadrature type and the stride provided. More...
 
static cs_quadrature_tetra_integral_tcs_quadrature_get_tetra_integral (int dim, cs_quadrature_type_t qtype)
 Retrieve the integral function according to the quadrature type and the stride provided. More...
 
static cs_quadrature_hexa_integral_tcs_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 hexahedron. More...
 
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 should be performed. More...
 

Typedef Documentation

◆ cs_quadrature_edge_integral_t

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

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the edge
[in]v2second point of the edge
[in]lenlength of the edge
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_edge_t

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

Parameters
[in]v1first vertex
[in]v2second vertex
[in]lenlength of edge [v1, v2]
[in,out]gptsgauss points
[in,out]wweight (same weight for the two points)

◆ cs_quadrature_hexa_integral_t

typedef 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 results.

Parameters
[in]tcurcurrent physical time of the simulation
[in]vbbarycenter
[in]hxlength along x-dir
[in]hylength along y-dir
[in]hzlength along z-dir
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tet_t

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

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]v4fourth vertex
[in]volvolume of tetrahedron {v1, v2, v3, v4}
[in,out]gptsGauss points
[in,out]weightsweigths related to each Gauss point

◆ cs_quadrature_tetra_integral_t

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

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_integral_t

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

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_t

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

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]areaarea of triangle {v1, v2, v3}
[in,out]gptsGauss points
[in,out]weightsweights values

Enumeration Type Documentation

◆ cs_quadrature_type_t

Type of quadrature to use when computing an integral quantity. This rationale is used for integrals along edges/lines, over faces/surfaces or inside cells/volumes.

Enumerator
CS_QUADRATURE_NONE 

This is a P0-like approximation

CS_QUADRATURE_BARY 

Use the value at the cell center (should be the barycenter to get linear exactness) and multiply by the measure of the related support (length or surface or volume according to the support)

CS_QUADRATURE_BARY_SUBDIV 

Same as the CS_QUADRATURE_BARY but the support is divided into simplices. The value at the barycenter of each sub-simplices is used.

CS_QUADRATURE_HIGHER 
  • For a triangle, this corresponds to a 4-points quadrature rule which is exact up to a polynomial of order 3
  • For a tetrahedron, this corresponds to a 4-points quadrature rule which is exact up to a polynomial of order 2
CS_QUADRATURE_HIGHEST 
  • For a triangle, this corresponds to a 7-points quadrature rule which is exact up to a polynomial of order 7
  • For a tetrahedron, this corresponds to a 5-points quadrature rule which is exact up to a polynomial of order 3. A 15-points quadrature rule is also available with HHO schemes. This latter quadrature is exact up to a polynomial of order 5.
CS_QUADRATURE_N_TYPES 

Function Documentation

◆ cs_quadrature_edge_1pt()

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

Compute quadrature points for an edge from v1 -> v2 (2 points) Exact for polynomial function up to order 1.

Parameters
[in]v1first vertex
[in]v2second vertex
[in]lenlength of edge [v1, v2]
[in,out]gptsgauss points
[in,out]wweight (same weight for the two points)

◆ cs_quadrature_edge_1pt_scal()

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[] 
)
inlinestatic

Compute the integral over an edge with the mid-point rule and add it to results Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the edge
[in]v2second point of the edge
[in]lenlength of the edge
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_edge_1pt_vect()

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[] 
)
inlinestatic

Compute the integral over an edge using a barycentric quadrature rule and add it to results Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v11st point of the triangle
[in]v22nd point of the triangle
[in]lenlength of the edge
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_edge_2pts()

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 order 3.

Parameters
[in]v1first vertex
[in]v2second vertex
[in]lenlength of edge [v1, v2]
[in,out]gptsgauss points
[in,out]wweight (same weight for the two points)

◆ cs_quadrature_edge_2pts_scal()

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[] 
)
inlinestatic

Compute the integral over an edge with a quadrature rule using 2 Gauss points and a unique weight and add it to results Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the edge
[in]v2second point of the edge
[in]lenlength of the edge
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_edge_2pts_vect()

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[] 
)
inlinestatic

Compute the integral over an edge with a quadrature rule using 2 Gauss points and a unique weight and add it to results Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v11st point of the triangle
[in]v22nd point of the triangle
[in]lenlength of the edge
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_edge_3pts()

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 order 5.

Parameters
[in]v1first vertex
[in]v2second vertex
[in]lenlength of edge [v1, v2]
[in,out]gptsgauss points
[in,out]wweights
[in]v1first vertex
[in]v2second vertex
[in]lenlength of edge [v1, v2]
[in,out]gptsgauss points
[in,out]wweights

◆ cs_quadrature_edge_3pts_scal()

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[] 
)
inlinestatic

Compute the integral over an edge with a quadrature rule using 3 Gauss points and weights and add it to results Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the edge
[in]v2second point of the edge
[in]lenlength of the edge
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_edge_3pts_vect()

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[] 
)
inlinestatic

Compute the integral over an edge with a quadrature rule using 3 Gauss points and weights and add it to results Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the edge
[in]v2second point of the edge
[in]lenlength of the edge
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_get_edge_integral()

static cs_quadrature_edge_integral_t * cs_quadrature_get_edge_integral ( int  dim,
cs_quadrature_type_t  qtype 
)
inlinestatic

Retrieve the integral function according to the quadrature type and the stride provided Case of integral along edges.

Parameters
[in]dimdimension of the function to integrate
[in]qtypequadrature type
Returns
a pointer to the integral function

◆ cs_quadrature_get_flag()

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 should be performed.

Parameters
[in]qtypecs_quadrature_type_t
[in]locIt could be CS_FLAG_CELL, CS_FLAG_FACE or CS_FLAG_EDGE plus CS_FLAG_PRIMAL or CS_FLAG_DUAL
Returns
metadata stored in a cs_eflag_t to build a cs_cell_mesh_t

◆ cs_quadrature_get_hexa_integral()

static cs_quadrature_hexa_integral_t * cs_quadrature_get_hexa_integral ( int  dim,
cs_quadrature_type_t  qtype 
)
inlinestatic

Retrieve the integral function according to the quadrature type and the stride provided for an hexahedron.

Parameters
[in]dimdimension of the function to integrate
[in]qtypequadrature type
Returns
a pointer to the integral function

◆ cs_quadrature_get_tetra_integral()

static cs_quadrature_tetra_integral_t * cs_quadrature_get_tetra_integral ( int  dim,
cs_quadrature_type_t  qtype 
)
inlinestatic

Retrieve the integral function according to the quadrature type and the stride provided.

Parameters
[in]dimdimension of the function to integrate
[in]qtypequadrature type
Returns
a pointer to the integral function

◆ cs_quadrature_get_tria_integral()

static cs_quadrature_tria_integral_t * cs_quadrature_get_tria_integral ( int  dim,
cs_quadrature_type_t  qtype 
)
inlinestatic

Retrieve the integral function according to the quadrature type and the stride provided.

Parameters
[in]dimdimension of the function to integrate
[in]qtypequadrature type
Returns
a pointer to the integral function

◆ cs_quadrature_get_type_name()

const char * cs_quadrature_get_type_name ( const cs_quadrature_type_t  type)

Return th name associated to a type of quadrature.

Parameters
[in]typecs_quadrature_type_t
Returns
the name associated to a given type of quadrature

◆ cs_quadrature_hex_1pt()

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

Compute quadrature points for an orthogonal hexahedron Exact for polynomial function up to order 1.

Parameters
[in]vbbarycenter
[in]hxlength along x-dir
[in]hylength along y-dir
[in]hzlength along z-dir
[in,out]gptsgauss points
[in,out]wweight

◆ cs_quadrature_hex_1pt_vect()

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[] 
)
inlinestatic

Compute the integral over a orthoganal hexahedron using a barycentric quadrature rule and add it to results. Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]vbbarycenter
[in]hxlength along x-dir
[in]hylength along y-dir
[in]hzlength along z-dir
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_hex_27pts()

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.

Parameters
[in]vbbarycenter
[in]hxlength along x-dir
[in]hylength along y-dir
[in]hzlength along z-dir
[in,out]gptsgauss points
[in,out]wweights

◆ cs_quadrature_hex_27pts_vect()

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[] 
)
inlinestatic

Compute the integral over an orthogonal hexahedron with a quadrature rule using 27 Gauss points add it to results. Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]vbbarycenter
[in]hxlength along x-dir
[in]hylength along y-dir
[in]hzlength along z-dir
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_hex_8pts()

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.

Parameters
[in]vbbarycenter
[in]hxlength along x-dir
[in]hylength along y-dir
[in]hzlength along z-dir
[in,out]gptsgauss points
[in,out]wweights

◆ cs_quadrature_hex_8pts_vect()

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[] 
)
inlinestatic

Compute the integral over an orthoganal hexahedron with a quadrature rule using 8 Gauss points and a unique weight and add it to results. Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]vbbarycenter
[in]hxlength along x-dir
[in]hylength along y-dir
[in]hzlength along z-dir
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_setup()

void cs_quadrature_setup ( void  )

Compute constant weights for all quadratures used.

◆ cs_quadrature_tet_15pts()

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

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]v4fourth vertex
[in]volvolume of tetrahedron {v1, v2, v3, v4}
[in,out]gpts15 Gauss points (size = 3*15)
[in,out]weights15 weigths related to each Gauss point

◆ cs_quadrature_tet_1pt()

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[] 
)
inlinestatic

Compute the quadrature in a tetrehedra. Exact for 1st order polynomials (order 2).

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]v4fourth vertex
[in]volvolume of tetrahedron
[in,out]gpts1 Gauss point
[in,out]weightweight related to this point (= volume)

◆ cs_quadrature_tet_1pt_scal()

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[] 
)
inlinestatic

Compute the integral over a tetrahedron using a barycentric quadrature rule and add it to results. Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tet_1pt_tens()

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[] 
)
inlinestatic

Compute the integral over a tetrahedron using a barycentric quadrature rule and add it to results. Case of a tensor-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tet_1pt_vect()

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[] 
)
inlinestatic

Compute the integral over a tetrahedron using a barycentric quadrature rule and add it to results. Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tet_4pts()

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

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]v4fourth vertex
[in]volvolume of tetrahedron {v1, v2, v3, v4}
[in,out]gpts4 Gauss points (size = 3*4)
[in,out]weightsweight (same value for all points)

◆ cs_quadrature_tet_4pts_scal()

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[] 
)
inlinestatic

Compute the integral over a tetrahedron with a quadrature rule using 4 Gauss points and a unique weight and add it to results. Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tet_4pts_tens()

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[] 
)
inlinestatic

Compute the integral over a tetrahedron with a quadrature rule using 4 Gauss points and a unique weight and add it to results. Case of a tensor-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tet_4pts_vect()

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[] 
)
inlinestatic

Compute the integral over a tetrahedron with a quadrature rule using 4 Gauss points and a unique weight and add it to results. Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tet_5pts()

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

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]v4fourth vertex
[in]volvolume of tetrahedron {v1, v2, v3, v4}
[in,out]gpts5 Gauss points (size = 3*5)
[in,out]weights5 weigths related to each Gauss point

◆ cs_quadrature_tet_5pts_scal()

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[] 
)
inlinestatic

Compute the integral over a tetrahedron with a quadrature rule using 5 Gauss points and 5 weights and add it to results. Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tet_5pts_tens()

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[] 
)
inlinestatic

Compute the integral over a tetrahedron with a quadrature rule using 5 Gauss points and 5 weights and add it to results Case of a tensor-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tet_5pts_vect()

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[] 
)
inlinestatic

Compute the integral over a tetrahedron with a quadrature rule using 5 Gauss points and 5 weights and add it to results. Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the tetrahedron
[in]v2second point of the tetrahedron
[in]v3third point of the tetrahedron
[in]v4fourth point of the tetrahedron
[in]volvolume of the tetrahedron
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_1pt()

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

Compute quadrature points for a triangle (1 point) Exact for polynomial function up to order 1 (barycentric approx.)

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]areaarea of triangle {v1, v2, v3}
[in,out]gptsgauss points
[in,out]wweight

◆ cs_quadrature_tria_1pt_scal()

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[] 
)
inlinestatic

Compute the integral over a triangle using a barycentric quadrature rule and add it to results Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_1pt_tens()

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[] 
)
inlinestatic

Compute the integral over a triangle using a barycentric quadrature rule and add it to results. Case of a tensor-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_1pt_vect()

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[] 
)
inlinestatic

Compute the integral over a triangle using a barycentric quadrature rule and add it to results Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v11st point of the triangle
[in]v22nd point of the triangle
[in]v33rd point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_3pts()

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.

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]areaarea of triangle {v1, v2, v3}
[in,out]gptsgauss points
[in,out]wweight (same weight for the three points)

◆ cs_quadrature_tria_3pts_scal()

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[] 
)
inlinestatic

Compute the integral over a triangle with a quadrature rule using 3 Gauss points and a unique weight and add it to results Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_3pts_tens()

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[] 
)
inlinestatic

Compute the integral over a triangle with a quadrature rule using 3 Gauss points and a unique weight and add it to results. Case of a tensor-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_3pts_vect()

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[] 
)
inlinestatic

Compute the integral over a triangle with a quadrature rule using 3 Gauss points and a unique weight and add it to results Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_4pts()

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.

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]areaarea of triangle {v1, v2, v3}
[in,out]gptsgauss points
[in,out]wweights

◆ cs_quadrature_tria_4pts_scal()

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[] 
)
inlinestatic

Compute the integral over a triangle with a quadrature rule using 4 Gauss points and 4 weights and add it to results Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_4pts_tens()

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[] 
)
inlinestatic

Compute the integral over a triangle with a quadrature rule using 4 Gauss points and 4 weights and add it to results. Case of a tensor-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_4pts_vect()

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[] 
)
inlinestatic

Compute the integral over a triangle with a quadrature rule using 4 Gauss points and 4 weights and add it to results. Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_7pts()

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.

Parameters
[in]v1first vertex
[in]v2second vertex
[in]v3third vertex
[in]areaarea of triangle {v1, v2, v3}
[in,out]gptsgauss points
[in,out]wweights

◆ cs_quadrature_tria_7pts_scal()

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[] 
)
inlinestatic

Compute the integral over a triangle with a quadrature rule using 7 Gauss points and 7 weights and add it to results Case of a scalar-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_7pts_tens()

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[] 
)
inlinestatic

Compute the integral over a triangle with a quadrature rule using 7 Gauss points and 7 weights and add it to results. Case of a tensor-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double

◆ cs_quadrature_tria_7pts_vect()

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[] 
)
inlinestatic

Compute the integral over a triangle with a quadrature rule using 7 Gauss points and 7 weights and add it to results. Case of a vector-valued function.

Parameters
[in]tcurcurrent physical time of the simulation
[in]v1first point of the triangle
[in]v2second point of the triangle
[in]v3third point of the triangle
[in]areaarea of the triangle
[in]anapointer to the analytic function
[in]inputnull or pointer to a structure cast on-the-fly
[in,out]resultsarray of double