  | 
  
    My Project
    
   programmer's documentation 
   | 
 
 
 
 
Go to the documentation of this file.
   43 #if defined(DEBUG) && !defined(NDEBUG)  
  113   const int n_iter = (
k > n-
k) ? n-
k : 
k;
 
  114   for (
int j = 1; j <= n_iter; j++, n--) {
 
  117     else if (ret % j == 0)
 
  264   v[0] = xb[0] - 
xa[0];
 
  265   v[1] = xb[1] - 
xa[1];
 
  266   v[2] = xb[2] - 
xa[2];
 
  268   return sqrt(
v[0]*
v[0] + 
v[1]*
v[1] + 
v[2]*
v[2]);
 
  288   return ((xb[0] - 
xa[0])*xc[0]+(xb[1] - 
xa[1])*xc[1]+(xb[2] - 
xa[2])*xc[2]);
 
  311   return (
v[0]*
v[0] + 
v[1]*
v[1] + 
v[2]*
v[2]);
 
  354     ( n1[0] * 
t[0][0] * n2[0] + n1[1] * 
t[1][0] * n2[0] + n1[2] * 
t[2][0] * n2[0]
 
  355     + n1[0] * 
t[0][1] * n2[1] + n1[1] * 
t[1][1] * n2[1] + n1[2] * 
t[2][1] * n2[1]
 
  356     + n1[0] * 
t[0][2] * n2[2] + n1[1] * 
t[1][2] * n2[2] + n1[2] * 
t[2][2] * n2[2]);
 
  374   return sqrt(
v[0]*
v[0] + 
v[1]*
v[1] + 
v[2]*
v[2]);
 
  412   vout[0] = inv_norm * vin[0];
 
  413   vout[1] = inv_norm * vin[1];
 
  414   vout[2] = inv_norm * vin[2];
 
  433   vout[0] =  
v[0]*(1.-n[0]*n[0])- 
v[1]*    n[1]*n[0] - 
v[2]*    n[2]*n[0];
 
  434   vout[1] = -
v[0]*    n[0]*n[1] + 
v[1]*(1.-n[1]*n[1])- 
v[2]*    n[2]*n[1];
 
  435   vout[2] = -
v[0]*    n[0]*n[2] - 
v[1]*    n[1]*n[2] + 
v[2]*(1.-n[2]*n[2]);
 
  455   for (
int i = 0; i < 3; i++)
 
  456     v[i] += v_dot_n * n[i];
 
  477     ( n[0] * 
t[0][0] * n[0] + n[1] * 
t[1][0] * n[0] + n[2] * 
t[2][0] * n[0]
 
  478     + n[0] * 
t[0][1] * n[1] + n[1] * 
t[1][1] * n[1] + n[2] * 
t[2][1] * n[1]
 
  479     + n[0] * 
t[0][2] * n[2] + n[1] * 
t[1][2] * n[2] + n[2] * 
t[2][2] * n[2]);
 
  480   for (
int i = 0; i < 3; i++) {
 
  481     for (
int j = 0; j < 3; j++)
 
  482       t[i][j] += n_t_n * n[i] * n[j];
 
  501   mv[0] = m[0][0]*
v[0] + m[0][1]*
v[1] + m[0][2]*
v[2];
 
  502   mv[1] = m[1][0]*
v[0] + m[1][1]*
v[1] + m[1][2]*
v[2];
 
  503   mv[2] = m[2][0]*
v[0] + m[2][1]*
v[1] + m[2][2]*
v[2];
 
  522   mv[0] += m[0][0]*
v[0] + m[0][1]*
v[1] + m[0][2]*
v[2];
 
  523   mv[1] += m[1][0]*
v[0] + m[1][1]*
v[1] + m[1][2]*
v[2];
 
  524   mv[2] += m[2][0]*
v[0] + m[2][1]*
v[1] + m[2][2]*
v[2];
 
  543   mv[0] = m[0][0]*
v[0] + m[1][0]*
v[1] + m[2][0]*
v[2];
 
  544   mv[1] = m[0][1]*
v[0] + m[1][1]*
v[1] + m[2][1]*
v[2];
 
  545   mv[2] = m[0][2]*
v[0] + m[1][2]*
v[1] + m[2][2]*
v[2];
 
  565   mv[0] = m[0] * 
v[0] + m[3] * 
v[1] + m[5] * 
v[2];
 
  566   mv[1] = m[3] * 
v[0] + m[1] * 
v[1] + m[4] * 
v[2];
 
  567   mv[2] = m[5] * 
v[0] + m[4] * 
v[1] + m[2] * 
v[2];
 
  587   mv[0] += m[0] * 
v[0] + m[3] * 
v[1] + m[5] * 
v[2];
 
  588   mv[1] += m[3] * 
v[0] + m[1] * 
v[1] + m[4] * 
v[2];
 
  589   mv[2] += m[5] * 
v[0] + m[4] * 
v[1] + m[2] * 
v[2];
 
  608   for (
int i = 0; i < 6; i++) {
 
  609     for (
int j = 0; j < 6; j++)
 
  610       mv[i] = m[i][j] * 
v[j];
 
  630   for (
int i = 0; i < 6; i++) {
 
  631     for (
int j = 0; j < 6; j++)
 
  632       mv[i] += m[i][j] * 
v[j];
 
  649   const cs_real_t  com0 = m[1][1]*m[2][2] - m[2][1]*m[1][2];
 
  650   const cs_real_t  com1 = m[2][1]*m[0][2] - m[0][1]*m[2][2];
 
  651   const cs_real_t  com2 = m[0][1]*m[1][2] - m[1][1]*m[0][2];
 
  653   return m[0][0]*com0 + m[1][0]*com1 + m[2][0]*com2;
 
  669   const cs_real_t  com0 = m[1]*m[2] - m[4]*m[4];
 
  670   const cs_real_t  com1 = m[4]*m[5] - m[3]*m[2];
 
  671   const cs_real_t  com2 = m[3]*m[4] - m[1]*m[5];
 
  673   return m[0]*com0 + m[3]*com1 + m[5]*com2;
 
  686 #if defined(__INTEL_COMPILER) 
  687 #pragma optimization_level 0  
  695   uv[0] = 
u[1]*
v[2] - 
u[2]*
v[1];
 
  696   uv[1] = 
u[2]*
v[0] - 
u[0]*
v[2];
 
  697   uv[2] = 
u[0]*
v[1] - 
u[1]*
v[0];
 
  712 #if defined(__INTEL_COMPILER) 
  713 #pragma optimization_level 0  
  721   return (
u[1]*
v[2] - 
u[2]*
v[1]) * w[0]
 
  722     + (
u[2]*
v[0] - 
u[0]*
v[2]) * w[1]
 
  723     + (
u[0]*
v[1] - 
u[1]*
v[0]) * w[2];
 
  739   out[0][0] = in[1][1]*in[2][2] - in[2][1]*in[1][2];
 
  740   out[0][1] = in[2][1]*in[0][2] - in[0][1]*in[2][2];
 
  741   out[0][2] = in[0][1]*in[1][2] - in[1][1]*in[0][2];
 
  743   out[1][0] = in[2][0]*in[1][2] - in[1][0]*in[2][2];
 
  744   out[1][1] = in[0][0]*in[2][2] - in[2][0]*in[0][2];
 
  745   out[1][2] = in[1][0]*in[0][2] - in[0][0]*in[1][2];
 
  747   out[2][0] = in[1][0]*in[2][1] - in[2][0]*in[1][1];
 
  748   out[2][1] = in[2][0]*in[0][1] - in[0][0]*in[2][1];
 
  749   out[2][2] = in[0][0]*in[1][1] - in[1][0]*in[0][1];
 
  751   const double  det = in[0][0]*out[0][0]+in[1][0]*out[0][1]+in[2][0]*out[0][2];
 
  752   const double  invdet = 1/det;
 
  754   out[0][0] *= invdet, out[0][1] *= invdet, out[0][2] *= invdet;
 
  755   out[1][0] *= invdet, out[1][1] *= invdet, out[1][2] *= invdet;
 
  756   out[2][0] *= invdet, out[2][1] *= invdet, out[2][2] *= invdet;
 
  780   double det_inv = 1. / (
a[0][0]*a00 + 
a[1][0]*a01 + 
a[2][0]*a02);
 
  782   a[0][0] = a00 * det_inv;
 
  783   a[0][1] = a01 * det_inv;
 
  784   a[0][2] = a02 * det_inv;
 
  785   a[1][0] = a10 * det_inv;
 
  786   a[1][1] = a11 * det_inv;
 
  787   a[1][2] = a12 * det_inv;
 
  788   a[2][0] = a20 * det_inv;
 
  789   a[2][1] = a21 * det_inv;
 
  790   a[2][2] = a22 * det_inv;
 
  812   double det_inv = 1. / (
a[0][0]*a00 + 
a[1][0]*a01 + 
a[2][0]*a02);
 
  814   a[0][0] = a00 * det_inv;
 
  815   a[0][1] = a01 * det_inv;
 
  816   a[0][2] = a02 * det_inv;
 
  817   a[1][0] = a01 * det_inv;
 
  818   a[1][1] = a11 * det_inv;
 
  819   a[1][2] = a12 * det_inv;
 
  820   a[2][0] = a02 * det_inv;
 
  821   a[2][1] = a12 * det_inv;
 
  822   a[2][2] = a22 * det_inv;
 
  843   sout[0] = s[1]*s[2] - s[4]*s[4];
 
  844   sout[1] = s[0]*s[2] - s[5]*s[5];
 
  845   sout[2] = s[0]*s[1] - s[3]*s[3];
 
  846   sout[3] = s[4]*s[5] - s[3]*s[2];
 
  847   sout[4] = s[3]*s[5] - s[0]*s[4];
 
  848   sout[5] = s[3]*s[4] - s[1]*s[5];
 
  850   detinv = 1. / (s[0]*sout[0] + s[3]*sout[3] + s[5]*sout[5]);
 
  876   mout[0][0] = m1[0][0]*m2[0][0] + m1[0][1]*m2[1][0] + m1[0][2]*m2[2][0];
 
  877   mout[0][1] = m1[0][0]*m2[0][1] + m1[0][1]*m2[1][1] + m1[0][2]*m2[2][1];
 
  878   mout[0][2] = m1[0][0]*m2[0][2] + m1[0][1]*m2[1][2] + m1[0][2]*m2[2][2];
 
  880   mout[1][0] = m1[1][0]*m2[0][0] + m1[1][1]*m2[1][0] + m1[1][2]*m2[2][0];
 
  881   mout[1][1] = m1[1][0]*m2[0][1] + m1[1][1]*m2[1][1] + m1[1][2]*m2[2][1];
 
  882   mout[1][2] = m1[1][0]*m2[0][2] + m1[1][1]*m2[1][2] + m1[1][2]*m2[2][2];
 
  884   mout[2][0] = m1[2][0]*m2[0][0] + m1[2][1]*m2[1][0] + m1[2][2]*m2[2][0];
 
  885   mout[2][1] = m1[2][0]*m2[0][1] + m1[2][1]*m2[1][1] + m1[2][2]*m2[2][1];
 
  886   mout[2][2] = m1[2][0]*m2[0][2] + m1[2][1]*m2[1][2] + m1[2][2]*m2[2][2];
 
  905   mout[0][0] += m1[0][0]*m2[0][0] + m1[0][1]*m2[1][0] + m1[0][2]*m2[2][0];
 
  906   mout[0][1] += m1[0][0]*m2[0][1] + m1[0][1]*m2[1][1] + m1[0][2]*m2[2][1];
 
  907   mout[0][2] += m1[0][0]*m2[0][2] + m1[0][1]*m2[1][2] + m1[0][2]*m2[2][2];
 
  909   mout[1][0] += m1[1][0]*m2[0][0] + m1[1][1]*m2[1][0] + m1[1][2]*m2[2][0];
 
  910   mout[1][1] += m1[1][0]*m2[0][1] + m1[1][1]*m2[1][1] + m1[1][2]*m2[2][1];
 
  911   mout[1][2] += m1[1][0]*m2[0][2] + m1[1][1]*m2[1][2] + m1[1][2]*m2[2][2];
 
  913   mout[2][0] += m1[2][0]*m2[0][0] + m1[2][1]*m2[1][0] + m1[2][2]*m2[2][0];
 
  914   mout[2][1] += m1[2][0]*m2[0][1] + m1[2][1]*m2[1][1] + m1[2][2]*m2[2][1];
 
  915   mout[2][2] += m1[2][0]*m2[0][2] + m1[2][1]*m2[1][2] + m1[2][2]*m2[2][2];
 
  940   sout[0] = s1[0]*s2[0] + s1[3]*s2[3] + s1[5]*s2[5];
 
  942   sout[1] = s1[3]*s2[3] + s1[1]*s2[1] + s1[4]*s2[4];
 
  944   sout[2] = s1[5]*s2[5] + s1[4]*s2[4] + s1[2]*s2[2];
 
  946   sout[3] = s1[0]*s2[3] + s1[3]*s2[1] + s1[5]*s2[4];
 
  948   sout[4] = s1[3]*s2[5] + s1[1]*s2[4] + s1[4]*s2[2];
 
  950   sout[5] = s1[0]*s2[5] + s1[3]*s2[4] + s1[5]*s2[2];
 
  968   int iindex[6], jindex[6];
 
  970   tens2vect[0][0] = 0; tens2vect[0][1] = 3; tens2vect[0][2] = 5;
 
  971   tens2vect[1][0] = 3; tens2vect[1][1] = 1; tens2vect[1][2] = 4;
 
  972   tens2vect[2][0] = 5; tens2vect[2][1] = 4; tens2vect[2][2] = 2;
 
  974   iindex[0] = 0; iindex[1] = 1; iindex[2] = 2;
 
  975   iindex[3] = 0; iindex[4] = 1; iindex[5] = 0;
 
  977   jindex[0] = 0; jindex[1] = 1; jindex[2] = 2;
 
  978   jindex[3] = 1; jindex[4] = 2; jindex[5] = 2;
 
  984   for (
int i = 0; i < 6; i++) {
 
  987     for (
int k = 0; 
k < 3; 
k++) {
 
  988       int ik = tens2vect[
k][ii];
 
  989       int jk = tens2vect[
k][jj];
 
  991       sout[
ik][i] += s[
k][jj];
 
  993       sout[jk][i] += s[
k][ii];
 
 1021   _sout[0][0] = s1[0]*s2[0] + s1[3]*s2[3] + s1[5]*s2[5];
 
 1023   _sout[1][1] = s1[3]*s2[3] + s1[1]*s2[1] + s1[4]*s2[4];
 
 1025   _sout[2][2] = s1[5]*s2[5] + s1[4]*s2[4] + s1[2]*s2[2];
 
 1027   _sout[0][1] = s1[0]*s2[3] + s1[3]*s2[1] + s1[5]*s2[4];
 
 1029   _sout[1][0] = s2[0]*s1[3] + s2[3]*s1[1] + s2[5]*s1[4];
 
 1031   _sout[1][2] = s1[3]*s2[5] + s1[1]*s2[4] + s1[4]*s2[2];
 
 1033   _sout[2][1] = s2[3]*s1[5] + s2[1]*s1[4] + s2[4]*s1[2];
 
 1035   _sout[0][2] = s1[0]*s2[5] + s1[3]*s2[4] + s1[5]*s2[2];
 
 1037   _sout[2][0] = s2[0]*s1[5] + s2[3]*s1[4] + s2[5]*s1[2];
 
 1039   sout[0][0] = _sout[0][0]*s3[0] + _sout[0][1]*s3[3] + _sout[0][2]*s3[5];
 
 1041   sout[1][1] = _sout[1][0]*s3[3] + _sout[1][1]*s3[1] + _sout[1][2]*s3[4];
 
 1043   sout[2][2] = _sout[2][0]*s3[5] + _sout[2][1]*s3[4] + _sout[2][2]*s3[2];
 
 1045   sout[0][1] = _sout[0][0]*s3[3] + _sout[0][1]*s3[1] + _sout[0][2]*s3[4];
 
 1047   sout[1][0] = s3[0]*_sout[1][0] + s3[3]*_sout[1][1] + s3[5]*_sout[1][2];
 
 1049   sout[1][2] = _sout[1][0]*s3[5] + _sout[1][1]*s3[4] + _sout[1][2]*s3[2];
 
 1051   sout[2][1] = s3[3]*_sout[2][0] + s3[1]*_sout[2][1] + s3[4]*_sout[2][2];
 
 1053   sout[0][2] = _sout[0][0]*s3[5] + _sout[0][1]*s3[4] + _sout[0][2]*s3[2];
 
 1055   sout[2][0] = s3[0]*_sout[2][0] + s3[3]*_sout[2][1] + s3[5]*_sout[2][2];
 
 1073   qv->
meas = magnitude;
 
 1077     qv->
unitv[0] = inv * 
v[0];
 
 1078     qv->
unitv[1] = inv * 
v[1];
 
 1079     qv->
unitv[2] = inv * 
v[2];
 
  
static cs_real_t cs_math_pow4(cs_real_t x)
Compute the 4-th power of a real value.
Definition: cs_math.h:241
 
const cs_real_t cs_math_pi
 
static cs_real_t cs_math_3_norm(const cs_real_t v[3])
Compute the euclidean norm of a vector of dimension 3.
Definition: cs_math.h:372
 
const cs_real_t cs_math_1ov6
 
static void cs_math_33t_3_product(const cs_real_t m[3][3], const cs_real_t v[3], cs_real_3_t mv)
Compute the product of the transpose of a matrix of 3x3 real values by a vector of 3 real values.
Definition: cs_math.h:539
 
static void cs_math_33_3_product_add(const cs_real_t m[3][3], const cs_real_t v[3], cs_real_3_t mv)
Compute the product of a matrix of 3x3 real values by a vector of 3 real values add.
Definition: cs_math.h:518
 
size_t len
Definition: mei_scanner.c:560
 
double precision, save a
Definition: cs_fuel_incl.f90:146
 
static cs_real_t cs_math_3_square_norm(const cs_real_t v[3])
Compute the square norm of a vector of 3 real values.
Definition: cs_math.h:388
 
static void cs_math_sym_33_product(const cs_real_t s1[6], const cs_real_t s2[6], cs_real_t sout[restrict 6])
Compute the product of two symmetric matrices. Warning: this is valid if and only if s1 and s2 commut...
Definition: cs_math.h:935
 
void cs_math_sym_33_eigen(const cs_real_t m[6], cs_real_t eig_vals[3])
Compute all eigenvalues of a 3x3 symmetric matrix with symmetric storage.
Definition: cs_math.c:218
 
#define restrict
Definition: cs_defs.h:127
 
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:315
 
void cs_math_fact_lu(cs_lnum_t n_blocks, const int b_size, const cs_real_t *a, cs_real_t *a_lu)
Compute LU factorization of an array of dense matrices of identical size.
Definition: cs_math.c:482
 
static int cs_math_binom(int n, int k)
Computes the binomial coefficient of n and k.
Definition: cs_math.h:107
 
double precision, save b
Definition: cs_fuel_incl.f90:146
 
static void cs_math_3_cross_product(const cs_real_t u[3], const cs_real_t v[3], cs_real_t uv[restrict 3])
Compute the cross product of two vectors of 3 real values.
Definition: cs_math.h:691
 
#define END_C_DECLS
Definition: cs_defs.h:468
 
double precision, dimension(:,:,:), allocatable v
Definition: atimbr.f90:114
 
double cs_real_t
Floating-point value.
Definition: cs_defs.h:302
 
static cs_real_t cs_math_3_distance(const cs_real_t xa[3], const cs_real_t xb[3])
Compute the (euclidean) distance between two points xa and xb in a cartesian coordinate system of dim...
Definition: cs_math.h:259
 
static cs_real_t cs_math_sq(cs_real_t x)
Compute the square of a real value.
Definition: cs_math.h:193
 
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
 
static void cs_math_33_inv_cramer(const cs_real_t in[3][3], cs_real_t out[3][3])
Inverse a 3x3 matrix.
Definition: cs_math.h:736
 
const cs_real_t cs_math_big_r
 
static cs_real_t cs_math_3_distance_dot_product(const cs_real_t xa[3], const cs_real_t xb[3], const cs_real_t xc[3])
Compute .
Definition: cs_math.h:284
 
double cs_math_surftri(const cs_real_t xv[3], const cs_real_t xe[3], const cs_real_t xf[3])
Compute the area of the convex_hull generated by 3 points. This corresponds to the computation of the...
Definition: cs_math.c:423
 
double cs_math_get_machine_epsilon(void)
Get the value related to the machine precision.
Definition: cs_math.c:198
 
static void cs_math_3_normal_scaling(const cs_real_t n[3], cs_real_t factor, cs_real_3_t v)
Add the dot product with a normal vector to the normal direction to a vector.
Definition: cs_math.h:450
 
static cs_real_t cs_math_33_determinant(const cs_real_t m[3][3])
Compute the determinant of a 3x3 matrix.
Definition: cs_math.h:647
 
const cs_real_t cs_math_zero_threshold
 
static cs_real_t cs_math_fmin(cs_real_t x, cs_real_t y)
Compute the min value of two real values.
Definition: cs_math.h:155
 
static void cs_math_33_product_add(const cs_real_t m1[3][3], const cs_real_t m2[3][3], cs_real_33_t mout)
Compute the product of a matrix of 3x3 real values by a matrix of 3x3 real values and add.
Definition: cs_math.h:901
 
static void cs_math_reduce_sym_prod_33_to_66(const cs_real_t s[3][3], cs_real_t sout[restrict 6][6])
Compute a 6x6 matrix A, equivalent to a 3x3 matrix s, such as: A*R_6 = R*s^t + s*R.
Definition: cs_math.h:964
 
const cs_real_t cs_math_epzero
 
static void cs_math_sym_33_3_product(const cs_real_t m[6], const cs_real_t v[3], cs_real_t mv[restrict 3])
Compute the product of a symmetric matrix of 3x3 real values by a vector of 3 real values....
Definition: cs_math.h:561
 
void const cs_lnum_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const y
Definition: cs_wall_functions.h:1147
 
double unitv[3]
Definition: cs_defs.h:346
 
const cs_real_t cs_math_infinite_r
 
static cs_real_t cs_math_sym_33_determinant(const cs_real_6_t m)
Compute the determinant of a 3x3 symmetric matrix.
Definition: cs_math.h:667
 
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition: cs_defs.h:317
 
static void cs_math_66_6_product(const cs_real_t m[6][6], const cs_real_t v[6], cs_real_t mv[restrict 6])
Compute the product of a matrix of 6x6 real values by a vector of 6 real values.
Definition: cs_math.h:604
 
static void cs_nvec3(const cs_real_3_t v, cs_nvec3_t *qv)
Define a cs_nvec3_t structure from a cs_real_3_t.
Definition: cs_math.h:1068
 
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:298
 
integer, save ik
Definition: numvar.f90:75
 
static void cs_math_3_orthogonal_projection(const cs_real_t n[3], const cs_real_t v[3], cs_real_t vout[restrict 3])
Orthogonal projection of a vector with respect to a normalised vector.
Definition: cs_math.h:429
 
static void cs_math_66_6_product_add(const cs_real_t m[6][6], const cs_real_t v[6], cs_real_t mv[restrict 6])
Compute the product of a matrix of 6x6 real values by a vector of 6 real values and add it to the vec...
Definition: cs_math.h:626
 
static cs_real_t cs_math_3_square_distance(const cs_real_t xa[3], const cs_real_t xb[3])
Compute the squared distance between two points xa and xb in a cartesian coordinate system of dimensi...
Definition: cs_math.h:304
 
const cs_real_t cs_math_1ov12
 
static void cs_math_sym_33_double_product(const cs_real_t s1[6], const cs_real_t s2[6], const cs_real_t s3[6], cs_real_t sout[restrict 3][3])
Compute the product of three symmetric matrices.
Definition: cs_math.h:1013
 
const cs_real_t cs_math_1ov3
 
static cs_real_t cs_math_pow3(cs_real_t x)
Compute the cube of a real value.
Definition: cs_math.h:225
 
static void cs_math_33_inv_cramer_in_place(cs_real_t a[3][3])
Inverse a 3x3 matrix in place, using Cramer's rule.
Definition: cs_math.h:768
 
static cs_real_t cs_math_3_dot_product(const cs_real_t u[3], const cs_real_t v[3])
Compute the dot product of two vectors of 3 real values.
Definition: cs_math.h:326
 
static cs_real_t cs_math_fmax(cs_real_t x, cs_real_t y)
Compute the max value of two real values.
Definition: cs_math.h:174
 
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition: cs_defs.h:321
 
static void cs_math_3_normalise(const cs_real_t vin[3], cs_real_t vout[restrict 3])
Normalise a vector of 3 real values.
Definition: cs_math.h:405
 
void cs_math_33_eigen(const cs_real_t m[3][3], cs_real_t *eig_ratio, cs_real_t *eig_max)
Compute max/min eigenvalues ratio and max. eigenvalue of a 3x3 symmetric matrix with non-symmetric st...
Definition: cs_math.c:303
 
const cs_real_t cs_math_5ov3
 
Definition: cs_field_pointer.h:98
 
cs_math_sym_tensor_component_t
Definition: cs_math.h:61
 
static void cs_math_sym_33_3_product_add(const cs_real_t m[6], const cs_real_t v[3], cs_real_t mv[restrict 3])
Compute the product of a symmetric matrix of 3x3 real values by a vector of 3 real values and add it ...
Definition: cs_math.h:583
 
void cs_math_fw_and_bw_lu(const cs_real_t a_lu[], const int n, cs_real_t x[], const cs_real_t b[])
Block Jacobi utilities. Compute forward and backward to solve an LU P*P system.
Definition: cs_math.c:540
 
static void cs_math_33_3_product(const cs_real_t m[3][3], const cs_real_t v[3], cs_real_3_t mv)
Compute the product of a matrix of 3x3 real values by a vector of 3 real values.
Definition: cs_math.h:497
 
static cs_real_t cs_math_fabs(cs_real_t x)
Compute the absolute value of a real value.
Definition: cs_math.h:137
 
const cs_real_t cs_math_4ov3
 
double precision, dimension(:,:,:), allocatable u
Definition: atimbr.f90:113
 
static void cs_math_sym_33_inv_cramer(const cs_real_t s[6], cs_real_t sout[restrict 6])
Compute the inverse of a symmetric matrix using Cramer's rule.
Definition: cs_math.h:838
 
static void cs_math_33_inv_cramer_sym_in_place(cs_real_t a[3][3])
Inverse a 3x3 symmetric matrix (with non-symmetric storage) in place, using Cramer's rule.
Definition: cs_math.h:803
 
const cs_real_t cs_math_1ov24
 
double meas
Definition: cs_defs.h:345
 
static void cs_math_33_normal_scaling_add(const cs_real_t n[3], cs_real_t factor, cs_real_33_t t)
Add the dot product with a normal vector to the normal,normal component of a tensor: t += factor * n....
Definition: cs_math.h:472
 
Definition: cs_defs.h:343
 
const cs_real_t cs_math_2ov3
 
void cs_math_3_length_unitv(const cs_real_t xa[3], const cs_real_t xb[3], cs_real_t *len, cs_real_3_t unitv)
Compute the length (euclidien norm) between two points xa and xb in a cartesian coordinate system of ...
Definition: cs_math.c:390
 
static cs_real_t cs_math_3_triple_product(const cs_real_t u[3], const cs_real_t v[3], const cs_real_t w[3])
Compute the triple product.
Definition: cs_math.h:717
 
void cs_math_set_machine_epsilon(void)
Compute the value related to the machine precision.
Definition: cs_math.c:177
 
static cs_real_t cs_math_pow2(cs_real_t x)
Compute the square of a real value.
Definition: cs_math.h:209
 
static cs_real_t cs_math_3_33_3_dot_product(const cs_real_t n1[3], const cs_real_t t[3][3], const cs_real_t n2[3])
Compute the dot product of a tensor t with two vectors n1, and n2 n1 t n2.
Definition: cs_math.h:349
 
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_t cs_real_t xa[]
Definition: cs_matrix_building.h:65
 
static void cs_math_33_product(const cs_real_t m1[3][3], const cs_real_t m2[3][3], cs_real_33_t mout)
Compute the product of a matrix of 3x3 real values by a matrix of 3x3 real values.
Definition: cs_math.h:872
 
double cs_math_voltet(const cs_real_t xv[3], const cs_real_t xe[3], const cs_real_t xf[3], const cs_real_t xc[3])
Compute the volume of the convex_hull generated by 4 points. This is equivalent to the computation of...
Definition: cs_math.c:453
 
Definition: cs_field_pointer.h:70