My Project
programmer's documentation
Typedefs | Enumerations | Functions
cs_quadrature.h File Reference
#include <bft_error.h>
#include "cs_base.h"
#include "cs_defs.h"
#include "cs_math.h"
#include "cs_param.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...
 

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
}
 

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_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_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_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_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_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 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...
 
cs_flag_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_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

Enumerator
CS_QUADRATURE_NONE 
CS_QUADRATURE_BARY 
CS_QUADRATURE_BARY_SUBDIV 
CS_QUADRATURE_HIGHER 
CS_QUADRATURE_HIGHEST 
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_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_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_get_flag()

cs_flag_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_flag_t to build a cs_cell_mesh_t

◆ 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_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