|
TrioCFD 1.9.8
TrioCFD documentation
|
Classe Hexaedre Cette represente un element geometrique a 6 faces, 8 sommets et. More...
#include <Hexaedre.h>
Public Types | |
| using | int_t = _SIZE_ |
| using | IntTab_t = IntTab_T<_SIZE_> |
| using | SmallArrOfTID_t = SmallArrOfTID_T<_SIZE_> |
| using | DoubleVect_t = DoubleVect_T<_SIZE_> |
| using | DoubleTab_t = DoubleTab_T<_SIZE_> |
| using | Domaine_t = Domaine_32_64<_SIZE_> |
| Public Types inherited from Elem_geom_base_32_64< _SIZE_ > | |
| using | int_t = _SIZE_ |
| using | ArrOfInt_t = ArrOfInt_T<_SIZE_> |
| using | IntVect_t = IntVect_T<_SIZE_> |
| using | IntTab_t = IntTab_T<_SIZE_> |
| using | SmallArrOfTID_t = SmallArrOfTID_T<_SIZE_> |
| using | ArrOfDouble_t = ArrOfDouble_T<_SIZE_> |
| using | DoubleVect_t = DoubleVect_T<_SIZE_> |
| using | DoubleTab_t = DoubleTab_T<_SIZE_> |
| using | Domaine_t = Domaine_32_64<_SIZE_> |
| using | Faces_t = Faces_32_64<_SIZE_> |
Public Member Functions | |
| int | face_sommet (int i, int j) const override |
| Renvoie le numero du j-ieme sommet de la i-ieme face de l'element. | |
| int | face_sommet0 (int i) const |
| Renvoie le numero du i-ieme sommet de la face 0. | |
| int | face_sommet1 (int i) const |
| Renvoie le numero du i-ieme sommet de la face 1. | |
| int | face_sommet2 (int i) const |
| Renvoie le numero du i-ieme sommet de la face 2. | |
| int | face_sommet3 (int i) const |
| Renvoie le numero du i-ieme sommet de la face 3. | |
| int | face_sommet4 (int i) const |
| Renvoie le numero du i-ieme sommet de la face 4. | |
| int | face_sommet5 (int i) const |
| Renvoie le numero du i-ieme sommet de la face 5. | |
| int | nb_som () const override |
| Nb of vertices for the element. | |
| int | nb_faces (int=0) const override |
| Renvoie le nombre de faces du type specifie que possede l'element geometrique. | |
| int | nb_som_face (int=0) const override |
| Renvoie le nombre de sommets des faces du type specifie. | |
| bool | est_structure () const override |
| const Nom & | nom_lml () const override |
| Renvoie le nom LML d'un triangle = "VOXEL8". | |
| int | contient (const ArrOfDouble &pos, int_t elem) const override |
| Renvoie 1 si l'element "elemen" du domaine associe a l'element geometrique contient le point. | |
| int | contient (const SmallArrOfTID_t &soms, int_t elem) const override |
| Renvoie 1 si les sommets specifies par le parametre "pos" sont les sommets de l'element "element" du domaine associe a. | |
| Type_Face | type_face (int=0) const override |
| Renvoie le i-ieme type de face. | |
| void | reordonner () override |
| Reordonne les sommets de l'hexaedre. | |
| int | reordonner_elem () |
| Reordonne les sommets de l'hexaedre. | |
| void | calculer_volumes (DoubleVect_t &vols) const override |
| Calcule les volumes des elements du domaine associe. | |
| void | calculer_normales (const IntTab_t &faces_sommets, DoubleTab_t &face_normales) const override |
| Calcule les normales aux faces des elements du domaine associe. | |
| int | get_tab_faces_sommets_locaux (IntTab &faces_som_local) const override |
| voir ElemGeomBase::get_tab_faces_sommets_locaux | |
| Public Member Functions inherited from Elem_geom_base_32_64< _SIZE_ > | |
| virtual void | creer_faces_elem (Faces_t &, int_t, Type_Face) const |
| Cree les faces de l'element geometrique specifie du domaine en precisant le type de face a creer. | |
| void | creer_faces_elem (Faces_t &, int_t) const |
| Cree les faces de l'element du domaine specifie. | |
| void | associer_domaine (const Domaine_32_64< int_t > &dom) |
| virtual int | nb_type_face () const |
| Nb of face types of the elemnt (for example 2 for a prism). | |
| virtual int | num_face (int face, Type_Face &type) const |
| Renvoie le parametre face si le type de face specifie est le meme que celui de l'element geometrique. | |
| virtual void | calculer_centres_gravite (DoubleTab_t &) const |
| Compute all centers of mass of all elements in the domain. | |
| virtual void | get_tab_aretes_sommets_locaux (IntTab &aretes_som_local) const |
| idem que Elem_geom_base::get_tab_faces_sommets_locaux mais pour les aretes: aretes_som_local. | |
| Public Member Functions inherited from Objet_U | |
| ~Objet_U () override | |
| Destructeur, supprime l'objet de la liste d'objets enregistres dans "memoire". | |
| int | numero () const |
| Renvoie l'indice de l'objet dans Memoire::data. | |
| virtual int | duplique () const =0 |
| virtual Sortie & | printOn (Sortie &) const |
| Ecriture de l'objet sur un flot de sortie Methode a surcharger. | |
| virtual Entree & | readOn (Entree &) |
| Lecture d'un Objet_U sur un flot d'entree Methode a surcharger. | |
| virtual unsigned | taille_memoire () const =0 |
| virtual int | est_egal_a (const Objet_U &) const |
| Renvoie 1 si l'objet x et *this sont une seule et meme instance (meme adresse en memoire). | |
| virtual const Nom & | le_nom () const |
| Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation. | |
| virtual void | nommer (const Nom &) |
| Donne un nom a l'Objet_U Methode virtuelle a surcharger. | |
| virtual int | reprendre (Entree &) |
| Reprise d'un Objet_U sur un flot d'entree Methode a surcharger. | |
| virtual int | sauvegarder (Sortie &) const |
| Sauvegarde d'un Objet_U sur un flot de sortie Methode a surcharger. | |
| int | get_object_id () const |
| Renvoie l'identifiant unique de l'objet object_id_. | |
| virtual const Type_info * | get_info () const |
| Donne des informations sur le type de l'Objet_U. | |
| const Nom & | que_suis_je () const |
| renvoie la chaine identifiant la classe. | |
| const char * | le_type () const |
| Donne le nom du type de l'Objet_U. | |
| virtual int | change_num (const int *const) |
| Change le numero interne de l'Objet_U. | |
| virtual int | lire_motcle_non_standard (const Motcle &motlu, Entree &is) |
| Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree. | |
| virtual int | associer_ (Objet_U &) |
| Associe l'Objet_U a un autre Objet_U Methode virtuelle a surcharger. | |
| const Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
Additional Inherited Members | |
| Static Public Member Functions inherited from Objet_U | |
| static const Nom & | nom_du_cas () |
| Renvoie une reference constante vers le nom du cas. | |
| static Nom & | get_set_nom_du_cas () |
| Renvoie une reference non constante vers le nom du cas (pour pouvoir le modifier). | |
| static const Type_info * | info () |
| Donne des informations sur le type de l'Objet_U. | |
| static const Objet_U & | self_cast (const Objet_U &) |
| methode ajoutee pour caster en python | |
| static Objet_U & | self_cast (Objet_U &) |
| Static Public Member Functions inherited from Process | |
| static int | me () |
| renvoie mon rang dans le groupe de communication courant. | |
| static int | nproc () |
| renvoie le nombre de processeurs dans le groupe courant Voir Comm_Group::nproc() et PE_Groups::current_group() | |
| static bool | is_parallel () |
| static void | exit (int exit_code=-1) |
| Routine de sortie de TRUST dans une region Kokkos. | |
| static double | mp_sum (double) |
| Calcule la somme de x sur tous les processeurs du groupe courant. | |
| static float | mp_sum (float) |
| static trustIdType | mp_sum (trustIdType) |
| Calcule la somme de x sur tous les processeurs du groupe courant. | |
| static double | mp_max (double) |
| static double | mp_min (double) |
| static int | mp_max (int) |
| renvoie le plus grand int i sur l'ensemble des processeurs du groupe courant. | |
| static int | mp_min (int) |
| renvoie le plus petit int i sur l'ensemble des processeurs du groupe courant. | |
| static double | mp_sum_as_double (int v) |
| static trustIdType | mppartial_sum (trustIdType i) |
| Calul de la somme partielle de i sur les processeurs 0 a me()-1 (renvoie 0 sur le processeur 0). | |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_sum_for_each: combine multiple mp_sum calls into one collective operation Usage: mp_sum_for_each(a, b); mp_sum_for_each(a, b, c); mp_sum_for_each(a, b, c, d); mp_sum_for_each(a, b, c, d, e); All arguments must be of the same type (double or int) and are modified in place. Supports 2-5 parameters. | |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_max_for_each: combine multiple mp_max calls into one collective operation. | |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_min_for_each: combine multiple mp_min calls into one collective operation. | |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename _TYPE_> | |
| static void | mp_sum_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| template<typename _TYPE_> | |
| static void | mp_max_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| template<typename _TYPE_> | |
| static void | mp_min_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| static bool | mp_and (bool) |
| Calcule le 'et' logique de b sur tous les processeurs du groupe courant. | |
| static bool | mp_or (bool) |
| static int | check_int_overflow (trustIdType) |
| static int | je_suis_maitre () |
| renvoie 1 si on est sur le processeur maitre du groupe courant (c'est a dire me() == 0), 0 sinon. | |
| static KOKKOS_INLINE_FUNCTION void | Kokkos_exit (const char *) |
| Routine de sortie de TRUST dans une region Kokkos. | |
| static int | node_master () |
| renvoie 1 si on est sur le processeur maitre du noeud numa, 0 sinon. | |
| static void | exit (const Nom &message, int exit_code=-1) |
| static bool | is_sequential () |
| static void | barrier () |
| Synchronise tous les processeurs du groupe courant (attend que tous les processeurs soient arrives a la barriere). | |
| static void | abort () |
| Routine de sortie de Trio-U sur une erreur abort(). | |
| static Sortie & | Journal (int message_level=0) |
| Renvoie un objet statique de type Sortie qui sert de journal d'evenements. | |
| static double | ram_processeur () |
| static void | imprimer_ram_totale (int all_process=0) |
| static bool | force_single_file (const int ranks, const Nom &filename) |
| Static Public Attributes inherited from Objet_U | |
| static double | precision_geom = 1e-10 |
| static constexpr bool | HAS_POINTER = false |
| static int | dimension =0 |
| static int | format_precision_geom =11 |
| static int | axi =0 |
| static int | bidim_axi =0 |
| static int | DEACTIVATE_SIGINT_CATCH =0 |
| static Type_info | info_obj |
| static bool | disable_TU =false |
| Flag to disable or not the writing of the .TU files. | |
| static bool | stat_per_proc_perf_log =false |
| Flag to enable the writing of the statistics detailed per processor in _csv.TU file. | |
| Static Public Attributes inherited from Process | |
| static int | exception_sur_exit =0 |
| static int | multiple_files =5120 |
| Protected Member Functions inherited from Elem_geom_base_32_64< _SIZE_ > | |
| OBS_PTR (Domaine_t) mon_dom | |
| Protected Member Functions inherited from Objet_U | |
| Objet_U () | |
| Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_), et enregistre l'objet en "memoire". | |
| Objet_U (const Objet_U &) | |
| Constructeur par copie. | |
| const Objet_U & | operator= (const Objet_U &) |
| Operateur= : ne fait rien (on conserve le numero et l'identifiant). | |
| virtual void | set_param (Param &) const |
Classe Hexaedre Cette represente un element geometrique a 6 faces, 8 sommets et.
un seul type de face (Type_Face::quadrangle_3D) a 4 sommets.
Definition at line 28 of file Hexaedre.h.
| using Hexaedre_32_64< _SIZE_ >::Domaine_t = Domaine_32_64<_SIZE_> |
Definition at line 39 of file Hexaedre.h.
| using Hexaedre_32_64< _SIZE_ >::DoubleTab_t = DoubleTab_T<_SIZE_> |
Definition at line 38 of file Hexaedre.h.
| using Hexaedre_32_64< _SIZE_ >::DoubleVect_t = DoubleVect_T<_SIZE_> |
Definition at line 37 of file Hexaedre.h.
| using Hexaedre_32_64< _SIZE_ >::int_t = _SIZE_ |
Definition at line 34 of file Hexaedre.h.
| using Hexaedre_32_64< _SIZE_ >::IntTab_t = IntTab_T<_SIZE_> |
Definition at line 35 of file Hexaedre.h.
| using Hexaedre_32_64< _SIZE_ >::SmallArrOfTID_t = SmallArrOfTID_T<_SIZE_> |
Definition at line 36 of file Hexaedre.h.
|
overridevirtual |
Calcule les normales aux faces des elements du domaine associe.
| (IntTab& | face_sommets) les numeros des sommets des faces dans la liste des sommets du domaine associe |
| (DoubleTab& | face_normales) |
Reimplemented from Elem_geom_base_32_64< _SIZE_ >.
Definition at line 243 of file Hexaedre.cpp.
|
overridevirtual |
Calcule les volumes des elements du domaine associe.
| (DoubleVect& | volumes) le vecteur contenant les valeurs des des volumes des elements du domaine |
Implements Elem_geom_base_32_64< _SIZE_ >.
Reimplemented in Hexaedre_axi_32_64< _SIZE_ >, Hexaedre_axi_32_64< int >, and Hexaedre_axi_32_64< trustIdType >.
Definition at line 216 of file Hexaedre.cpp.
|
overridevirtual |
Renvoie 1 si l'element "elemen" du domaine associe a l'element geometrique contient le point.
de coordonnees specifiees par le parametre "pos".
Renvoie 0 sinon.
| (DoubleVect& | pos) coordonnees du point que l'on cherche a localiser |
| (int | element) le numero de l'element du domaine dans lequel on cherche le point. |
Implements Elem_geom_base_32_64< _SIZE_ >.
Reimplemented in Hexaedre_axi_32_64< _SIZE_ >, Hexaedre_axi_32_64< int >, and Hexaedre_axi_32_64< trustIdType >.
Definition at line 171 of file Hexaedre.cpp.
|
overridevirtual |
Renvoie 1 si les sommets specifies par le parametre "pos" sont les sommets de l'element "element" du domaine associe a.
l'element geometrique.
| (IntVect& | pos) les numeros des sommets a comparer avec ceux de l'elements "element" |
| (int | element) le numero de l'element du domaine dont on veut comparer les sommets |
Implements Elem_geom_base_32_64< _SIZE_ >.
Reimplemented in Hexaedre_axi_32_64< _SIZE_ >, Hexaedre_axi_32_64< int >, and Hexaedre_axi_32_64< trustIdType >.
Definition at line 195 of file Hexaedre.cpp.
|
inlineoverridevirtual |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 52 of file Hexaedre.h.
|
overridevirtual |
Renvoie le numero du j-ieme sommet de la i-ieme face de l'element.
| (int | i) un numero de face |
| (int | j) un numero de sommet |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 292 of file Hexaedre.cpp.
|
inline |
Renvoie le numero du i-ieme sommet de la face 0.
| (int | i) le numero du sommet a renvoyer |
Definition at line 96 of file Hexaedre.h.
|
inline |
Renvoie le numero du i-ieme sommet de la face 1.
| (int | i) le numero du sommet a renvoyer |
Definition at line 114 of file Hexaedre.h.
|
inline |
Renvoie le numero du i-ieme sommet de la face 2.
| (int | i) le numero du sommet a renvoyer |
Definition at line 132 of file Hexaedre.h.
|
inline |
Renvoie le numero du i-ieme sommet de la face 3.
| (int | i) le numero du sommet a renvoyer |
Definition at line 150 of file Hexaedre.h.
|
inline |
Renvoie le numero du i-ieme sommet de la face 4.
| (int | i) le numero du sommet a renvoyer |
Definition at line 168 of file Hexaedre.h.
|
inline |
Renvoie le numero du i-ieme sommet de la face 5.
| (int | i) le numero du sommet a renvoyer |
Definition at line 186 of file Hexaedre.h.
|
overridevirtual |
voir ElemGeomBase::get_tab_faces_sommets_locaux
Reimplemented from Elem_geom_base_32_64< _SIZE_ >.
Definition at line 276 of file Hexaedre.cpp.
|
inlineoverridevirtual |
Renvoie le nombre de faces du type specifie que possede l'element geometrique.
| (int | i) le type de face |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 70 of file Hexaedre.h.
|
inlineoverridevirtual |
Nb of vertices for the element.
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 49 of file Hexaedre.h.
|
inlineoverridevirtual |
Renvoie le nombre de sommets des faces du type specifie.
| (int | i) le type de face |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 83 of file Hexaedre.h.
|
overridevirtual |
Renvoie le nom LML d'un triangle = "VOXEL8".
Implements Elem_geom_base_32_64< _SIZE_ >.
Reimplemented in Hexaedre_axi_32_64< _SIZE_ >, Hexaedre_axi_32_64< int >, and Hexaedre_axi_32_64< trustIdType >.
Definition at line 154 of file Hexaedre.cpp.
|
overridevirtual |
Reordonne les sommets de l'hexaedre.
Reimplemented from Elem_geom_base_32_64< _SIZE_ >.
Definition at line 68 of file Hexaedre.cpp.
| int Hexaedre_32_64< _SIZE_ >::reordonner_elem | ( | ) |
Reordonne les sommets de l'hexaedre.
Definition at line 83 of file Hexaedre.cpp.
|
inlineoverridevirtual |
Renvoie le i-ieme type de face.
Un hexaedre n'a qu'un seul type de face.
| (int | i) le rang du type de face a renvoyer |
Implements Elem_geom_base_32_64< _SIZE_ >.
Reimplemented in Hexaedre_axi_32_64< _SIZE_ >, Hexaedre_axi_32_64< int >, and Hexaedre_axi_32_64< trustIdType >.
Definition at line 206 of file Hexaedre.h.