|
TrioCFD 1.9.9_beta
TrioCFD documentation
|
Class Polygone represents the geometric element Polygone. More...
#include <Polygone.h>
Public Types | |
| using | int_t = _SIZE_ |
| using | ArrOfInt_t = ArrOfInt_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 Poly_geom_base_32_64< _SIZE_ > | |
| using | int_t = _SIZE_ |
| using | ArrOfInt_t = ArrOfInt_T<_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 |
| Returns the index of the j-th vertex of the i-th face of the element. | |
| int | nb_som () const override |
| Returns the number of vertices of a Polygone element. | |
| int | nb_faces (int=0) const override |
| Returns the number of faces of the specified type that the geometric element has. | |
| int | nb_som_face (int=0) const override |
| Returns the maximum number of vertices of the faces of the specified type. | |
| const Nom & | nom_lml () const override |
| Returns the LML name of a polygon = "POLYEDRE_" + 2*nb_som_max (or "POLYGONE_" + nb_som_max in 3D). | |
| int | contient (const ArrOfDouble &pos, int_t elem) const override |
| Returns 1 if element "num_poly" of the domain associated with this geometric element contains the point with coordinates "pos_r". | |
| int | contient (const SmallArrOfTID_t &soms, int_t elem) const override |
| Not yet implemented — always returns 0. Returns 1 if the vertices specified by "pos" are those of element "element" in the associated domain. | |
| Type_Face | type_face (int=0) const override |
| Returns the i-th face type. | |
| void | calculer_volumes (DoubleVect_t &vols) const override |
| Computes the volumes (areas) of the elements of the associated domain. | |
| void | calculer_centres_gravite (DoubleTab_t &xp) const override |
| Compute all centers of mass of all elements in the domain. | |
| void | calculer_un_centre_gravite (const int_t elem, DoubleVect &xp) const override |
| int | get_tab_faces_sommets_locaux (IntTab &faces_som_local) const override |
| Fills faces_som_local(i,j) giving for 0 <= i < nb_faces() and 0 <= j < nb_som_face(i) the local vertex index on the element. | |
| int | get_tab_faces_sommets_locaux (IntTab &faces_som_local, int_t elem) const override |
| void | affecte_connectivite_numero_global (const ArrOfInt_t &FacesIndex, const ArrOfInt_t &PolygonIndex, IntTab_t &les_elems) |
| int | get_nb_som_elem_max () const |
| int | get_nb_face_elem_max () const |
| _SIZE_ | get_somme_nb_faces_elem () const override |
| const ArrOfInt_t & | getPolygonIndex () const |
| const ArrOfInt_t & | getElemIndex () const override |
| void | rebuild_index () |
| void | build_reduced (OWN_PTR(Elem_geom_base_32_64< int >)&type_elem, const ArrOfInt_t &elems_sous_part) const override |
| void | compute_virtual_index () override |
| template<typename _SIZE_> | |
| Polygone_32_64 () | |
| Public Member Functions inherited from Poly_geom_base_32_64< _SIZE_ > | |
| virtual | ~Poly_geom_base_32_64 () |
| const ArrOfInt_t & | getFacesIndex () const |
| ArrOfInt_t & | getsetFacesIndex () |
| int | get_nb_face_elem_max () const |
| int | get_nb_som_elem_max () const |
| bool | est_structure () const override |
| int | nb_type_face () const override |
| Nb of face types of the elemnt (for example 2 for a prism). | |
| Public Member Functions inherited from Elem_geom_base_32_64< _SIZE_ > | |
| virtual void | creer_faces_elem (Faces_t &, int_t, Type_Face) const |
| Creates the faces of the specified geometric element of the domain using the given face type. | |
| void | creer_faces_elem (Faces_t &, int_t) const |
| Create the faces of the element of the specified domain. | |
| void | associer_domaine (const Domaine_32_64< int_t > &dom) |
| virtual int | num_face (int face, Type_Face &type) const |
| Returns the face parameter if the specified face type matches that of the geometric element. | |
| virtual void | reordonner () |
| virtual void | calculer_normales (const IntTab_t &faces_sommets, DoubleTab_t &face_normales) const |
| Exits with an error. This method is not pure virtual for convenience. | |
| virtual void | get_tab_aretes_sommets_locaux (IntTab &aretes_som_local) const |
| Same as Elem_geom_base::get_tab_faces_sommets_locaux but for edges: aretes_som_local. | |
| Public Member Functions inherited from Objet_U | |
| ~Objet_U () override | |
| Destructor. Removes the object from the list of objects registered in "memory". | |
| int | numero () const |
| Returns the index of the object in Memoire::data. | |
| virtual int | duplique () const =0 |
| virtual Sortie & | printOn (Sortie &) const |
| Writes the object to an output stream. Virtual method to override. | |
| virtual Entree & | readOn (Entree &) |
| Reads an Objet_U from an input stream. Virtual method to override. | |
| virtual unsigned | taille_memoire () const =0 |
| virtual int | est_egal_a (const Objet_U &) const |
| Returns 1 if x and *this are the same instance (same memory address). | |
| virtual const Nom & | le_nom () const |
| Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation. | |
| virtual void | nommer (const Nom &) |
| Assigns a name to the Objet_U. Virtual method to override. | |
| virtual int | reprendre (Entree &) |
| Restores an Objet_U from an input stream. Virtual method to override. | |
| virtual int | sauvegarder (Sortie &) const |
| Saves an Objet_U to an output stream. Virtual method to override. | |
| int | get_object_id () const |
| Returns the unique identifier of the object (object_id_). | |
| virtual const Type_info * | get_info () const |
| Returns type information for the Objet_U. | |
| const Nom & | que_suis_je () const |
| Returns the string identifying the class. | |
| const char * | le_type () const |
| Returns the type name of the Objet_U. | |
| virtual int | change_num (const int *const) |
| Changes the internal number of the Objet_U. | |
| virtual int | lire_motcle_non_standard (const Motcle &motlu, Entree &is) |
| Reads non-simple-type parameters of an Objet_U from an input stream. | |
| virtual int | associer_ (Objet_U &) |
| Associates the Objet_U with another Objet_U. Virtual method to override. | |
| const Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
Protected Attributes | |
| ArrOfInt_t | PolygonIndex_ |
| Protected Attributes inherited from Poly_geom_base_32_64< _SIZE_ > | |
| ArrOfInt_t | FacesIndex_ |
| int | nb_som_elem_max_ = -123 |
| int | nb_face_elem_max_ = -123 |
Static Protected Attributes | |
| static int | dimension |
Friends | |
| template<class T> | |
| class | Polygone_32_64 |
Additional Inherited Members | |
| Static Public Member Functions inherited from Objet_U | |
| static const Nom & | nom_du_cas () |
| Returns a constant reference to the case name. This method is static. | |
| static Nom & | get_set_nom_du_cas () |
| Returns a non-constant reference to the case name (to allow modification). This method is static. | |
| static const Type_info * | info () |
| Returns type information for the Objet_U (static version). | |
| static const Objet_U & | self_cast (const Objet_U &) |
| Method added for casting in Python. | |
| static Objet_U & | self_cast (Objet_U &) |
| Static Public Member Functions inherited from Process | |
| static int | me () |
| Returns the rank of the local processor in the current communication group. See Comm_Group::rank() and PE_Groups::current_group(). | |
| static int | nproc () |
| Returns the number of processors in the current group. See Comm_Group::nproc() and PE_Groups::current_group(). | |
| static bool | is_parallel () |
| static void | exit (int exit_code=-1) |
| Exit routine for TRUST within a Kokkos region. | |
| static double | mp_sum (double) |
| Computes the sum of x over all processors in the current group. | |
| static float | mp_sum (float) |
| static trustIdType | mp_sum (trustIdType) |
| Computes the sum of x over all processors in the current group. | |
| static double | mp_max (double) |
| static double | mp_min (double) |
| static int | mp_max (int) |
| Returns the maximum value of x across all processors in the current group. | |
| static int | mp_min (int) |
| Returns the minimum value of x across all processors in the current group. | |
| static double | mp_sum_as_double (int v) |
| static trustIdType | mppartial_sum (trustIdType i) |
| Computes the partial sum of x over processors 0 to me()-1 (returns 0 on processor 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) |
| Computes the logical AND of b across all processors in the current group. | |
| static bool | mp_or (bool) |
| static int | check_int_overflow (trustIdType) |
| static int | je_suis_maitre () |
| Returns 1 if on the master processor of the current group (i.e. me() == 0), 0 otherwise. | |
| static KOKKOS_INLINE_FUNCTION void | Kokkos_exit (const char *) |
| Exit routine for TRUST within a Kokkos region. | |
| static int | node_master () |
| Returns 1 if on the NUMA node master processor, 0 otherwise. | |
| static void | exit (const Nom &message, int exit_code=-1) |
| static bool | is_sequential () |
| static void | barrier () |
| Synchronizes all processors in the current group (waits until all processors have reached the barrier). | |
| static void | abort () |
| Abort routine for TRUST on a fatal error. | |
| static Sortie & | Journal (int message_level=0) |
| Returns a static Sortie object used as an event journal. | |
| 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 () | |
| Default constructor: assigns a unique identifier to the object (object_id_) and registers the object in "memory" by giving it a num_obj number. | |
| Objet_U (const Objet_U &) | |
| Copy constructor. | |
| const Objet_U & | operator= (const Objet_U &) |
| Assignment operator: does nothing (the number and identifier are preserved). | |
| virtual void | set_param (Param &) const |
Class Polygone represents the geometric element Polygone.
A polyhedron is an element defined by its faces of type Type_Face::polygone_3D
Definition at line 28 of file Polygone.h.
| using Polygone_32_64< _SIZE_ >::ArrOfInt_t = ArrOfInt_T<_SIZE_> |
Definition at line 38 of file Polygone.h.
| using Polygone_32_64< _SIZE_ >::Domaine_t = Domaine_32_64<_SIZE_> |
Definition at line 43 of file Polygone.h.
| using Polygone_32_64< _SIZE_ >::DoubleTab_t = DoubleTab_T<_SIZE_> |
Definition at line 42 of file Polygone.h.
| using Polygone_32_64< _SIZE_ >::DoubleVect_t = DoubleVect_T<_SIZE_> |
Definition at line 41 of file Polygone.h.
| using Polygone_32_64< _SIZE_ >::int_t = _SIZE_ |
Definition at line 37 of file Polygone.h.
| using Polygone_32_64< _SIZE_ >::IntTab_t = IntTab_T<_SIZE_> |
Definition at line 39 of file Polygone.h.
| using Polygone_32_64< _SIZE_ >::SmallArrOfTID_t = SmallArrOfTID_T<_SIZE_> |
Definition at line 40 of file Polygone.h.
Definition at line 26 of file Polygone.cpp.
| void Polygone_32_64< _SIZE_ >::affecte_connectivite_numero_global | ( | const ArrOfInt_t & | FacesIndex, |
| const ArrOfInt_t & | PolygonIndex, | ||
| IntTab_t & | les_elems ) |
Definition at line 317 of file Polygone.cpp.
|
overridevirtual |
Implements Poly_geom_base_32_64< _SIZE_ >.
Definition at line 87 of file Polygone.cpp.
|
overridevirtual |
Compute all centers of mass of all elements in the domain.
Computes the centers of mass of all elements in the domain associated with this geometric element.
| tab_xp | Array to fill with the coordinates of the centers of mass. |
Reimplemented from Elem_geom_base_32_64< _SIZE_ >.
Definition at line 356 of file Polygone.cpp.
|
overridevirtual |
Implements Poly_geom_base_32_64< _SIZE_ >.
Definition at line 403 of file Polygone.cpp.
|
overridevirtual |
Computes the volumes (areas) of the elements of the associated domain.
| volumes | Vector to fill with the volumes of domain elements. |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 240 of file Polygone.cpp.
|
overridevirtual |
Implements Poly_geom_base_32_64< _SIZE_ >.
Definition at line 114 of file Polygone.cpp.
|
overridevirtual |
Returns 1 if element "num_poly" of the domain associated with this geometric element contains the point with coordinates "pos_r".
Returns 0 otherwise. Implemented by decomposing the polygon into triangles.
| pos_r | Coordinates of the point to locate. |
| num_poly | Index of the domain element in which to search for the point. |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 197 of file Polygone.cpp.
|
overridevirtual |
Not yet implemented — always returns 0. Returns 1 if the vertices specified by "pos" are those of element "element" in the associated domain.
| pos | Vertex indices to compare. |
| element | Index of the domain element whose vertices are to be compared. |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 228 of file Polygone.cpp.
|
inlineoverridevirtual |
Returns the index of the j-th vertex of the i-th face of the element.
| (int | i) a face index |
| (int | j) a vertex index |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 98 of file Polygone.h.
|
inline |
Definition at line 65 of file Polygone.h.
| int Polygone_32_64< _SIZE_ >::get_nb_som_elem_max | ( | ) | const |
Definition at line 127 of file Polygone.cpp.
|
overridevirtual |
Implements Poly_geom_base_32_64< _SIZE_ >.
Definition at line 121 of file Polygone.cpp.
|
overridevirtual |
Fills faces_som_local(i,j) giving for 0 <= i < nb_faces() and 0 <= j < nb_som_face(i) the local vertex index on the element.
We have 0 <= faces_sommets_locaux(i,j) < nb_som(). If faces do not all have the same number of vertices, the number of columns equals the maximum, and unused entries are set to -1. Returns 1 if all faces have the same vertex count, 0 otherwise.
| faces_som_local | Table to fill with local face-vertex indices. |
Implements Poly_geom_base_32_64< _SIZE_ >.
Definition at line 285 of file Polygone.cpp.
|
overridevirtual |
Implements Poly_geom_base_32_64< _SIZE_ >.
Definition at line 291 of file Polygone.cpp.
|
inlineoverridevirtual |
Implements Poly_geom_base_32_64< _SIZE_ >.
Definition at line 70 of file Polygone.h.
|
inline |
Definition at line 69 of file Polygone.h.
|
inlineoverridevirtual |
Returns the number of faces of the specified type that the geometric element has.
A Polygone has 1 type of face: polygon_3D
| (int | i) the face type |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 123 of file Polygone.h.
|
inlineoverridevirtual |
Returns the number of vertices of a Polygone element.
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 110 of file Polygone.h.
|
inlineoverridevirtual |
Returns the maximum number of vertices of the faces of the specified type.
| (int | i) the face type |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 144 of file Polygone.h.
|
overridevirtual |
Returns the LML name of a polygon = "POLYEDRE_" + 2*nb_som_max (or "POLYGONE_" + nb_som_max in 3D).
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 140 of file Polygone.cpp.
| void Polygone_32_64< _SIZE_ >::rebuild_index | ( | ) |
Definition at line 58 of file Polygone.cpp.
|
inlineoverridevirtual |
Returns the i-th face type.
A polyhedron has 2 face types: quadrangle and triangle
| (int | i) the rank of the face type to return |
Implements Elem_geom_base_32_64< _SIZE_ >.
Definition at line 158 of file Polygone.h.
Definition at line 35 of file Polygone.h.
|
staticprotected |
|
protected |
PolygonIndex_[ele] gives the index of the first face of element 'ele' See FaceIndex_ in base class.
Definition at line 87 of file Polygone.h.