Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Real3x3

Classe gérant une matrice de réel de dimension 3x3. Plus de détails...

#include <arcane/utils/Real3x3.h>

+ Graphe de collaboration de Arcane::Real3x3:

Fonctions membres publiques

constexpr __host__ __device__ Real3x3 ()
 Construit la matrice avec tous les coefficiants nuls.
 
constexpr __host__ __device__ Real3x3 (Real3 ax, Real3 ay, Real3 az)
 Construit la matrice avec les lignes (ax,ay,az)
 
ARCANE_DEPRECATED_116 Real3x3 (Real ax, Real ay, Real az, Real bx, Real by, Real bz, Real cx, Real cy, Real cz)
 Construit le tenseur ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).
 
 Real3x3 (const Real3x3 &f)=default
 Construit un triplet identique à f.
 
constexpr __host__ __device__ Real3x3 (const Real3x3POD &f)
 Construit un triplet identique à f.
 
constexpr __host__ __device__ Real3x3 (Real v)
 Construit l'instance avec le triplet (v,v,v).
 
Real3x3operator= (const Real3x3 &f)=default
 Opérateur de recopie.
 
constexpr __host__ __device__ Real3x3operator= (Real v)
 Affecte à l'instance le triplet (v,v,v).
 
constexpr __host__ __device__ Real3x3 copy () const
 Retourne une copie de la matrice.
 
constexpr __host__ __device__ Real3x3reset ()
 Remet à zéro les coefficients de la matrice.
 
constexpr __host__ __device__ Real3x3assign (Real3 ax, Real3 ay, Real3 az)
 Affecte à l'instance les lignes (ax,ay,az)
 
constexpr __host__ __device__ Real3x3assign (Real3x3 f)
 Copie la matrice f.
 
constexpr __host__ __device__ bool isNearlyZero () const
 Compare la matrice avec la matrice nulle.
 
std::istream & assign (std::istream &i)
 Lit la matrice sur le flot i La matrice est lue sous la forme de trois Real3.
 
std::ostream & print (std::ostream &o) const
 Ecrit le triplet sur le flot o lisible par un assign()
 
std::ostream & printXyz (std::ostream &o) const
 Ecrit le triplet sur le flot o sous la forme (x,y,z)
 
constexpr __host__ __device__ Real3x3add (Real3x3 b)
 Ajoute b au triplet.
 
constexpr __host__ __device__ Real3x3sub (Real3x3 b)
 Soustrait b au triplet.
 
constexpr __host__ __device__ Real3x3addSame (Real3 b)
 Ajoute b à chaque composante du triplet.
 
constexpr __host__ __device__ Real3x3subSame (Real3 b)
 Soustrait b à chaque composante du triplet.
 
constexpr __host__ __device__ Real3x3operator+= (Real3x3 b)
 Ajoute b au triplet.
 
constexpr __host__ __device__ Real3x3operator-= (Real3x3 b)
 Soustrait b au triplet.
 
constexpr __host__ __device__ void operator*= (Real b)
 Multiple chaque composante de la matrice par le réel b.
 
constexpr __host__ __device__ void operator/= (Real b)
 Divise chaque composante de la matrice par le réel b.
 
constexpr __host__ __device__ Real3x3 operator+ (Real3x3 b) const
 Créé un triplet qui vaut ce triplet ajouté à b.
 
constexpr __host__ __device__ Real3x3 operator- (Real3x3 b) const
 Créé un triplet qui vaut b soustrait de ce triplet.
 
constexpr __host__ __device__ Real3x3 operator- () const
 Créé un tenseur opposé au tenseur actuel.
 
constexpr __host__ __device__ bool operator== (Real3x3 b) const
 Compare composant pas composante l'instance courante à b.
 
constexpr __host__ __device__ bool operator!= (Real3x3 b) const
 Compare deux triplets. Pour la notion d'égalité, voir operator==()
 
__host__ __device__ Real3 operator[] (Integer i) const
 Accès en lecture seule à la i-ème (entre 0 et 2 inclus) ligne de l'instance.
 
__host__ __device__ Real3 operator() (Integer i) const
 Accès en lecture seule à la i-ème (entre 0 et 2 inclus) ligne de l'instance.
 
__host__ __device__ Real operator() (Integer i, Integer j) const
 Accès en lecture seule à la i-ème ligne et j-ème colonne.
 
__host__ __device__ Real3operator[] (Integer i)
 Accès à la i-ème ligne (entre 0 et 2 inclus) de l'instance.
 
__host__ __device__ Real3operator() (Integer i)
 Accès à la i-ème ligne (entre 0 et 2 inclus) de l'instance.
 
__host__ __device__ Real & operator() (Integer i, Integer j)
 Accès à la i-ème ligne et j-ème colonne.
 
constexpr __host__ __device__ Real determinant () const
 Déterminant de la matrice.
 

Fonctions membres publiques statiques

constexpr __host__ static __device__ Real3x3 null ()
 Construit le tenseur nul.
 
constexpr __host__ static __device__ Real3x3 zero ()
 Construit la matrice nulle.
 
constexpr __host__ static __device__ Real3x3 identity ()
 Construit la matrice identité
 
constexpr __host__ static __device__ Real3x3 fromColumns (Real ax, Real ay, Real az, Real bx, Real by, Real bz, Real cx, Real cy, Real cz)
 Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).
 
constexpr __host__ static __device__ Real3x3 fromLines (Real ax, Real bx, Real cx, Real ay, Real by, Real cy, Real az, Real bz, Real cz)
 Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).
 

Attributs publics

Real3 x
 premier élément du triplet
 
Real3 y
 premier élément du triplet
 
Real3 z
 premier élément du triplet
 

Amis

std::ostream & operator<< (std::ostream &o, Real3x3 t)
 Ecrit le triplet t sur le flot o.
 
std::istream & operator>> (std::istream &i, Real3x3 &t)
 Lit le triplet t à partir du flot o.
 
constexpr __host__ __device__ Real3x3 operator* (Real sca, Real3x3 vec)
 Multiplication par un scalaire.
 
constexpr __host__ __device__ Real3x3 operator* (Real3x3 vec, Real sca)
 Multiplication par un scalaire.
 
constexpr __host__ __device__ Real3x3 operator/ (Real3x3 vec, Real sca)
 Division par un scalaire.
 
constexpr __host__ __device__ bool operator< (Real3x3 v1, Real3x3 v2)
 Opérateur de comparaison.
 

Description détaillée

Classe gérant une matrice de réel de dimension 3x3.

La matrice comprend trois composantes x, y et z qui sont du type Real3. Chaque composante représente une ligne de la matrice. Par conséquent, Pour une matrice m, m.y.z représente la 2ème ligne et la 3ème colonne de la matrice.

Il est aussi possible d'accéder aux éléments de la matrice à la manière d'un tableau. Par exemple m[1][2] représente la 2ème ligne et la 3ème colonne de la matrice.

Les matrices peuvent se construire par ligne en spécifiant les valeurs par ligne (fromLines()) ou en spécifiant par colonne (fromColumns()).

Par exemple:

Real3x3 matrix;
matrix.x.y = 2.0;
matrix.y.z = 3.0;
matrix.x.x = 5.0;
Classe gérant une matrice de réel de dimension 3x3.
Definition Real3x3.h:66
Real3 y
premier élément du triplet
Definition Real3x3.h:118
Real3 x
premier élément du triplet
Definition Real3x3.h:117
Real y
deuxième composante du triplet
Definition Real3.h:36
Real z
troisième composante du triplet
Definition Real3.h:37
Real x
première composante du triplet
Definition Real3.h:35

Définition à la ligne 65 du fichier Real3x3.h.

Documentation des constructeurs et destructeur

◆ Real3x3() [1/5]

constexpr __host__ __device__ Arcane::Real3x3::Real3x3 ( )
inlineconstexpr

Construit la matrice avec tous les coefficiants nuls.

Définition à la ligne 70 du fichier Real3x3.h.

◆ Real3x3() [2/5]

constexpr __host__ __device__ Arcane::Real3x3::Real3x3 ( Real3  ax,
Real3  ay,
Real3  az 
)
inlineconstexpr

Construit la matrice avec les lignes (ax,ay,az)

Définition à la ligne 77 du fichier Real3x3.h.

◆ Real3x3() [3/5]

ARCANE_DEPRECATED_116 Arcane::Real3x3::Real3x3 ( Real  ax,
Real  ay,
Real  az,
Real  bx,
Real  by,
Real  bz,
Real  cx,
Real  cy,
Real  cz 
)
inline

Construit le tenseur ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).

Obsolète:
Utiliser Real3x3(Real3 x,Real3 y,Real3 z) à la place.

Définition à la ligne 87 du fichier Real3x3.h.

◆ Real3x3() [4/5]

constexpr __host__ __device__ Arcane::Real3x3::Real3x3 ( const Real3x3POD f)
inlineexplicitconstexpr

Construit un triplet identique à f.

Définition à la ligne 95 du fichier Real3x3.h.

◆ Real3x3() [5/5]

constexpr __host__ __device__ Arcane::Real3x3::Real3x3 ( Real  v)
inlineexplicitconstexpr

Construit l'instance avec le triplet (v,v,v).

Définition à la ligne 101 du fichier Real3x3.h.

Documentation des fonctions membres

◆ add()

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::add ( Real3x3  b)
inlineconstexpr

Ajoute b au triplet.

Définition à la ligne 201 du fichier Real3x3.h.

Références x, y, et z.

◆ addSame()

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::addSame ( Real3  b)
inlineconstexpr

Ajoute b à chaque composante du triplet.

Définition à la ligne 217 du fichier Real3x3.h.

◆ assign() [1/3]

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::assign ( Real3  ax,
Real3  ay,
Real3  az 
)
inlineconstexpr

Affecte à l'instance les lignes (ax,ay,az)

Définition à la ligne 157 du fichier Real3x3.h.

Référencé par Arcane::Real3x3Proxy::assign().

◆ assign() [2/3]

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::assign ( Real3x3  f)
inlineconstexpr

Copie la matrice f.

Définition à la ligne 166 du fichier Real3x3.h.

Références x, y, et z.

◆ assign() [3/3]

std::istream & Arcane::Real3x3::assign ( std::istream &  i)

Lit la matrice sur le flot i La matrice est lue sous la forme de trois Real3.

Définition à la ligne 28 du fichier Real3x3.cc.

Références x, y, et z.

◆ copy()

constexpr __host__ __device__ Real3x3 Arcane::Real3x3::copy ( ) const
inlineconstexpr

Retourne une copie de la matrice.

Définition à la ligne 147 du fichier Real3x3.h.

◆ determinant()

constexpr __host__ __device__ Real Arcane::Real3x3::determinant ( ) const
inlineconstexpr

Déterminant de la matrice.

Définition à la ligne 344 du fichier Real3x3.h.

Références Arcane::Real3POD::x, Arcane::Real3POD::y, et Arcane::Real3POD::z.

Référencé par Arcane::math::inverseMatrix(), et Arcane::math::matrixDeterminant().

◆ fromColumns()

constexpr __host__ static __device__ Real3x3 Arcane::Real3x3::fromColumns ( Real  ax,
Real  ay,
Real  az,
Real  bx,
Real  by,
Real  bz,
Real  cx,
Real  cy,
Real  cz 
)
inlinestaticconstexpr

Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).

Définition à la ligne 133 du fichier Real3x3.h.

Référencé par Arcane::math::matrix3x3Prod(), et Arcane::math::matrix3x3Transp().

◆ fromLines()

constexpr __host__ static __device__ Real3x3 Arcane::Real3x3::fromLines ( Real  ax,
Real  bx,
Real  cx,
Real  ay,
Real  by,
Real  cy,
Real  az,
Real  bz,
Real  cz 
)
inlinestaticconstexpr

Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).

Définition à la ligne 139 du fichier Real3x3.h.

Référencé par Arcane::math::matrixProduct().

◆ identity()

constexpr __host__ static __device__ Real3x3 Arcane::Real3x3::identity ( )
inlinestaticconstexpr

Construit la matrice identité

Définition à la ligne 130 du fichier Real3x3.h.

◆ isNearlyZero()

constexpr __host__ __device__ bool Arcane::Real3x3::isNearlyZero ( ) const
inlineconstexpr

Compare la matrice avec la matrice nulle.

La matrice est nulle si et seulement si chacune de ses composantes est inférieure à un espilon donné. La valeur de l'epsilon utilisée est celle de float_info<value_type>::nearlyEpsilon():

\[A=0 \Leftrightarrow |A.x|<\epsilon,|A.y|<\epsilon,|A.z|<\epsilon \]

Valeurs retournées
truesi la matrice est égale à la matrice nulle,
falsesinon.

Définition à la ligne 185 du fichier Real3x3.h.

Références Arcane::Real3::isNearlyZero().

◆ null()

constexpr __host__ static __device__ Real3x3 Arcane::Real3x3::null ( )
inlinestaticconstexpr

Construit le tenseur nul.

Définition à la ligne 124 du fichier Real3x3.h.

◆ operator!=()

constexpr __host__ __device__ bool Arcane::Real3x3::operator!= ( Real3x3  b) const
inlineconstexpr

Compare deux triplets. Pour la notion d'égalité, voir operator==()

Valeurs retournées
truesi les deux triplets sont différents,
falsesinon.

Définition à la ligne 274 du fichier Real3x3.h.

◆ operator()() [1/4]

__host__ __device__ Real3 & Arcane::Real3x3::operator() ( Integer  i)
inline

Accès à la i-ème ligne (entre 0 et 2 inclus) de l'instance.

Paramètres
inuméro de la ligne à retourner

Définition à la ligne 325 du fichier Real3x3.h.

◆ operator()() [2/4]

__host__ __device__ Real3 Arcane::Real3x3::operator() ( Integer  i) const
inline

Accès en lecture seule à la i-ème (entre 0 et 2 inclus) ligne de l'instance.

Paramètres
inuméro de la ligne à retourner

Définition à la ligne 293 du fichier Real3x3.h.

◆ operator()() [3/4]

__host__ __device__ Real & Arcane::Real3x3::operator() ( Integer  i,
Integer  j 
)
inline

Accès à la i-ème ligne et j-ème colonne.

Paramètres
inuméro de la ligne à retourner
jnuméro de la colonne à retourner

Définition à la ligne 336 du fichier Real3x3.h.

◆ operator()() [4/4]

__host__ __device__ Real Arcane::Real3x3::operator() ( Integer  i,
Integer  j 
) const
inline

Accès en lecture seule à la i-ème ligne et j-ème colonne.

Paramètres
inuméro de la ligne à retourner
jnuméro de la colonne à retourner

Définition à la ligne 304 du fichier Real3x3.h.

◆ operator*=()

constexpr __host__ __device__ void Arcane::Real3x3::operator*= ( Real  b)
inlineconstexpr

Multiple chaque composante de la matrice par le réel b.

Définition à la ligne 237 du fichier Real3x3.h.

◆ operator+()

constexpr __host__ __device__ Real3x3 Arcane::Real3x3::operator+ ( Real3x3  b) const
inlineconstexpr

Créé un triplet qui vaut ce triplet ajouté à b.

Définition à la ligne 251 du fichier Real3x3.h.

Références x, y, et z.

◆ operator+=()

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::operator+= ( Real3x3  b)
inlineconstexpr

Ajoute b au triplet.

Définition à la ligne 233 du fichier Real3x3.h.

◆ operator-() [1/2]

constexpr __host__ __device__ Real3x3 Arcane::Real3x3::operator- ( ) const
inlineconstexpr

Créé un tenseur opposé au tenseur actuel.

Définition à la ligne 255 du fichier Real3x3.h.

◆ operator-() [2/2]

constexpr __host__ __device__ Real3x3 Arcane::Real3x3::operator- ( Real3x3  b) const
inlineconstexpr

Créé un triplet qui vaut b soustrait de ce triplet.

Définition à la ligne 253 du fichier Real3x3.h.

Références x, y, et z.

◆ operator-=()

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::operator-= ( Real3x3  b)
inlineconstexpr

Soustrait b au triplet.

Définition à la ligne 235 du fichier Real3x3.h.

◆ operator/=()

constexpr __host__ __device__ void Arcane::Real3x3::operator/= ( Real  b)
inlineconstexpr

Divise chaque composante de la matrice par le réel b.

Définition à la ligne 244 du fichier Real3x3.h.

◆ operator=()

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::operator= ( Real  v)
inlineconstexpr

Affecte à l'instance le triplet (v,v,v).

Définition à la ligne 109 du fichier Real3x3.h.

◆ operator==()

constexpr __host__ __device__ bool Arcane::Real3x3::operator== ( Real3x3  b) const
inlineconstexpr

Compare composant pas composante l'instance courante à b.

Valeurs retournées
truesi this.x==b.x et this.y==b.y et this.z==b.z.
falsesinon.

Définition à la ligne 263 du fichier Real3x3.h.

Références x, y, et z.

◆ operator[]() [1/2]

__host__ __device__ Real3 & Arcane::Real3x3::operator[] ( Integer  i)
inline

Accès à la i-ème ligne (entre 0 et 2 inclus) de l'instance.

Paramètres
inuméro de la ligne à retourner

Définition à la ligne 315 du fichier Real3x3.h.

◆ operator[]() [2/2]

__host__ __device__ Real3 Arcane::Real3x3::operator[] ( Integer  i) const
inline

Accès en lecture seule à la i-ème (entre 0 et 2 inclus) ligne de l'instance.

Paramètres
inuméro de la ligne à retourner

Définition à la ligne 283 du fichier Real3x3.h.

◆ print()

std::ostream & Arcane::Real3x3::print ( std::ostream &  o) const

Ecrit le triplet sur le flot o lisible par un assign()

Définition à la ligne 38 du fichier Real3x3.cc.

Références x, y, et z.

Référencé par Arcane::Real3x3Proxy::print().

◆ printXyz()

std::ostream & Arcane::Real3x3::printXyz ( std::ostream &  o) const

Ecrit le triplet sur le flot o sous la forme (x,y,z)

Définition à la ligne 48 du fichier Real3x3.cc.

Références x, y, et z.

Référencé par Arcane::Real3x3Proxy::printXyz().

◆ reset()

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::reset ( )
inlineconstexpr

Remet à zéro les coefficients de la matrice.

Définition à la ligne 150 du fichier Real3x3.h.

◆ sub()

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::sub ( Real3x3  b)
inlineconstexpr

Soustrait b au triplet.

Définition à la ligne 209 du fichier Real3x3.h.

Références x, y, et z.

◆ subSame()

constexpr __host__ __device__ Real3x3 & Arcane::Real3x3::subSame ( Real3  b)
inlineconstexpr

Soustrait b à chaque composante du triplet.

Définition à la ligne 225 du fichier Real3x3.h.

◆ zero()

constexpr __host__ static __device__ Real3x3 Arcane::Real3x3::zero ( )
inlinestaticconstexpr

Construit la matrice nulle.

Définition à la ligne 127 du fichier Real3x3.h.

Référencé par Arcane::DataTypeTraitsT< Real3x3 >::defaultValue().

Documentation des fonctions amies et associées

◆ operator* [1/2]

constexpr __host__ __device__ Real3x3 operator* ( Real  sca,
Real3x3  vec 
)
friend

Multiplication par un scalaire.

Définition à la ligne 362 du fichier Real3x3.h.

◆ operator* [2/2]

constexpr __host__ __device__ Real3x3 operator* ( Real3x3  vec,
Real  sca 
)
friend

Multiplication par un scalaire.

Définition à la ligne 368 du fichier Real3x3.h.

◆ operator/

constexpr __host__ __device__ Real3x3 operator/ ( Real3x3  vec,
Real  sca 
)
friend

Division par un scalaire.

Définition à la ligne 374 du fichier Real3x3.h.

◆ operator<

constexpr __host__ __device__ bool operator< ( Real3x3  v1,
Real3x3  v2 
)
friend

Opérateur de comparaison.

Cet opérateur permet de trier les Real3 pour les utiliser par exemple dans les std::set

Définition à la ligne 385 du fichier Real3x3.h.

◆ operator<<

std::ostream & operator<< ( std::ostream &  o,
Real3x3  t 
)
friend

Ecrit le triplet t sur le flot o.

Définition à la ligne 350 du fichier Real3x3.h.

◆ operator>>

std::istream & operator>> ( std::istream &  i,
Real3x3 t 
)
friend

Lit le triplet t à partir du flot o.

Définition à la ligne 356 du fichier Real3x3.h.

Documentation des données membres

◆ x

◆ y

◆ z


La documentation de cette classe a été générée à partir des fichiers suivants :