Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du fichier MathUtils.h

Fonctions mathématiques diverses. Plus de détails...

#include "arcane/utils/Math.h"
#include "arcane/utils/ArrayView.h"
#include "arcane/utils/NumericTypes.h"
#include "arcane/utils/Real2x2.h"
#include "arcane/utils/Real3.h"
#include "arcane/utils/Real2.h"
#include "arcane/Algorithm.h"
+ Graphe des dépendances par inclusion de MathUtils.h:
+ Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

Espaces de nommage

namespace  Arcane
 -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
 
namespace  Arcane::math
 Espace de nom pour les fonctions mathématiques.
 

Fonctions

__host__ __device__ Real3 Arcane::math::vecMul (Real3 u, Real3 v)
 Produit vectoriel de u par v. dans \(R^3\).
 
__host__ __device__ Real Arcane::math::vecMul2D (Real3 u, Real3 v)
 Produit vectoriel de u par v dans \(R^2\).
 
__host__ __device__ Real Arcane::math::cross2D (Real3 u, Real3 v)
 Produit vectoriel de u par v dans \(R^2\).
 
__host__ __device__ Real Arcane::math::dot (Real2 u, Real2 v)
 Produit scalaire de u par v dans \(R^2\).
 
__host__ __device__ Real Arcane::math::scaMul (Real2 u, Real2 v)
 Produit scalaire de u par v dans \(R^2\).
 
__host__ __device__ Real Arcane::math::dot (Real3 u, Real3 v)
 Produit scalaire de u par v.
 
__host__ __device__ Real Arcane::math::scaMul (Real3 u, Real3 v)
 Produit scalaire de u par v.
 
__host__ __device__ Real Arcane::math::mixteMul (Real3 u, Real3 v, Real3 w)
 Produit mixte de u, v et w.
 
__host__ __device__ Real Arcane::math::matDet (Real3 u, Real3 v, Real3 w)
 Déterminant de la matrice u,v,w.
 
Real3x3 Arcane::math::prodTens (Real3 u, Real3 v)
 Produit tensoriel de deux vecteurs Real3.
 
__host__ __device__ Real3 Arcane::math::prodTensVec (Real3x3 t, Real3 v)
 Produit matrice vecteur entre un tenseur et un vecteur.
 
__host__ __device__ Real2 Arcane::math::prodTensVec (Real2x2 t, Real2 v)
 
__host__ __device__ Real3 Arcane::math::prodVecTens (Real3 v, Real3x3 t)
 Produit transposé(vecteur) matrice entre la transposée d'un vecteur et une matrice.
 
__host__ __device__ Real3x3 Arcane::math::matrixProduct (const Real3x3 &t, const Real3x3 &v)
 Produit matrice matrice entre deux tenseurs.
 
__host__ __device__ Real3x3 Arcane::math::transpose (const Real3x3 &t)
 Transpose la matrice.
 
__host__ __device__ Real3x3 Arcane::math::matrixTranspose (const Real3x3 &t)
 Transpose la matrice.
 
__host__ __device__ Real Arcane::math::doubleContraction (const Real3x3 &u, const Real3x3 &v)
 
__host__ __device__ Real Arcane::math::doubleContraction (const Real2x2 &u, const Real2x2 &v)
 
__host__ __device__ Real2 Arcane::math::min (Real2 a, Real2 b)
 Retourne le minimum de deux Real2.
 
__host__ __device__ Real3 Arcane::math::min (Real3 a, Real3 b)
 Retourne le minimum de deux Real3.
 
__host__ __device__ Real2x2 Arcane::math::min (const Real2x2 &a, const Real2x2 &b)
 Retourne le minimum de deux Real2x2.
 
__host__ __device__ Real3x3 Arcane::math::min (const Real3x3 &a, const Real3x3 &b)
 Retourne le minimum de deux Real3x3.
 
template<class T >
Arcane::math::min (const T &a, const T &b, const T &c)
 Retourne le minimum de trois éléments.
 
template<class T >
Arcane::math::max (const T &a, const T &b, const T &c)
 Retourne le maximum de trois éléments.
 
__host__ __device__ Real2 Arcane::math::max (Real2 a, Real2 b)
 Retourne le maximum de deux Real2.
 
__host__ __device__ Real3 Arcane::math::max (Real3 a, Real3 b)
 Retourne le maximum de deux Real3.
 
__host__ __device__ Real2x2 Arcane::math::max (const Real2x2 &a, const Real2x2 &b)
 Retourne le maximum de deux Real2x2.
 
__host__ __device__ Real3x3 Arcane::math::max (const Real3x3 &a, const Real3x3 &b)
 Retourne le maximum de deux Real3x3.
 
__host__ __device__ Real Arcane::math::min4Real (Real a, Real b, Real c, Real d)
 retourne le min de quatre Real
 
__host__ __device__ Real Arcane::math::max4Real (Real a, Real b, Real c, Real d)
 retourne le max de quatre Real
 
__host__ __device__ Real Arcane::math::min8Real (const Real a[8])
 retourne le min de huit Real
 
Real Arcane::math::max8Real (const Real a[8])
 retourne le max de huit Real
 
__host__ __device__ Real Arcane::math::minMod (Real a, Real b, Real c, Real d)
 retourne le Min mod de quatre Real
 
__host__ __device__ Real Arcane::math::minMod2 (Real a, Real b)
 retourne le Min mod de deux Reals
 
__host__ __device__ Real Arcane::math::maxMod2 (Real a, Real b)
 retourne le Max mod de deux Reals
 
Real Arcane::math::relativeError (Real a, Real b)
 Retourne l'erreur relative entre deux scalaires a et b.
 
Real Arcane::math::relativeError (const Real3x3 &T1, const Real3x3 &T2)
 Retourne l'erreur relative entre deux tenseurs T1 et T2.
 
Real Arcane::math::relativeError2 (Real a, Real b)
 Retourne l'erreur relative entre deux scalaires a et b relativement à b.
 
Real Arcane::math::relativeError1 (Real a, Real b)
 Retourne l'erreur relative entre deux scalaires a et b relativement à a.
 
bool Arcane::math::searchExtrema (ConstArrayView< Real2 > array, Real &xmin, Real &xmax, Real &ymin, Real &ymax, bool need_init)
 Recherche les valeurs extrèmes d'un tableau de couple (x,y).
 
__host__ __device__ Real Arcane::math::matrixDeterminant (Real3x3 m)
 Calcul du déterminant d'une matrice 3x3.
 
Real Arcane::math::normeR3 (Real3 v1)
 Norme d'un vecteur.
 
__host__ __device__ Real3x3 Arcane::math::matrix3x3Id ()
 Matrice identite.
 
__host__ __device__ Real3x3 Arcane::math::inverseMatrix (const Real3x3 &m, Real d)
 Calcul de l'inverse d'une matrice m en supposant connu son déterminant d.
 
__host__ __device__ Real3x3 Arcane::math::inverseMatrix (const Real3x3 &m)
 Calcul de l'inverse d'une matrice m.
 
Real3 Arcane::math::crossProduct3 (Real3 v1, Real3 v2)
 Produit vectoriel de deux vecteurs à 3 composantes.
 
__host__ __device__ Real3 Arcane::math::cross (Real3 v1, Real3 v2)
 Produit vectoriel de deux vecteurs à 3 composantes.
 
__host__ __device__ Real3 Arcane::math::normalizeReal3 (Real3 v)
 Normalisation d'un Real3.
 
Real3 Arcane::math::normalizedCrossProduct3 (Real3 v1, Real3 v2)
 Produit vectoriel normalisé.
 
Real3x3 Arcane::math::matrix3x3Transp (Real3x3 m)
 
Real3x3 Arcane::math::matrix3x3Prod (Real3x3 m1, Real3x3 m2)
 Multiplication de 2 matrices 3x3.
 
__host__ __device__ Real3 Arcane::math::multiply (const Real3x3 &m, Real3 v)
 Produit matrice 3x3 . vecteur.
 
bool Arcane::math::isNearlyId (Real3x3 m, Real epsilon=1.e-10)
 Vérifie qu'une matrice vaut bien la matrice identité.
 
Real3 Arcane::math::planarSymmetric (Real3 u, Real3 n)
 Symétrie d'un vecteur u par rapport à un plan de normale n.
 
Real3 Arcane::math::axisSymmetric (Real3 u, Real3 a)
 Symétrie d'un vecteur u par rapport à un axe de vecteur directeur a .
 
template<typename T >
void Arcane::math::add (ArrayView< T > lhs, ConstArrayView< T > copy_array)
 Ajoute le tableau copy_array dans l'instance.
 
template<typename T >
void Arcane::math::add (ArrayView< T > lhs, ArrayView< T > copy_array)
 Ajoute le tableau copy_array dans l'instance.
 
template<typename T >
void Arcane::math::sub (ArrayView< T > lhs, ConstArrayView< T > copy_array)
 Soustrait le tableau copy_array de l'instance.
 
template<typename T >
void Arcane::math::sub (ArrayView< T > lhs, ArrayView< T > copy_array)
 Soustrait le tableau copy_array de l'instance.
 
template<typename T >
void Arcane::math::mult (ArrayView< T > lhs, ConstArrayView< T > copy_array)
 Multiplie terme à terme les éléments de l'instance par les éléments du tableau copy_array.
 
template<typename T >
void Arcane::math::mult (ArrayView< T > lhs, ArrayView< T > copy_array)
 Multiplie terme à terme les éléments de l'instance par les éléments du tableau copy_array.
 
template<typename T >
void Arcane::math::mult (ArrayView< T > lhs, T o)
 Multiplie tous les éléments du tableau par le réel o.
 
template<typename T >
void Arcane::math::power (ArrayView< T > lhs, T o)
 Met à la puissance o tous les éléments du tableau.
 

Description détaillée

Fonctions mathématiques diverses.

Définition dans le fichier MathUtils.h.