TrioCFD 1.9.9_beta
TrioCFD documentation
Loading...
Searching...
No Matches
Faces_32_64< _SIZE_ > Class Template Reference

Class Faces Faces describes a set of faces by their type (point, segment, triangle or quadrangle), their vertices and their adjacent elements. More...

#include <Faces.h>

Inheritance diagram for Faces_32_64< _SIZE_ >:
[legend]
Collaboration diagram for Faces_32_64< _SIZE_ >:
[legend]

Public Types

using int_t = _SIZE_
using IntVect_t = IntVect_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_>
using DomaineAxi1d_t = DomaineAxi1d_32_64<_SIZE_>

Public Member Functions

Type_Face type_face () const
int_t nb_faces () const
int_t nb_faces_tot () const
 Returns the total number of Faces i (real and virtual) on the current processor.
int nb_som_faces () const
 Returns the number of vertices per face.
int_t sommet (int_t, int) const
 Returns the number of the j-th vertex of the i-th face.
int_tsommet (int_t, int)
 Returns a reference to the number of the j-th vertex of the i-th face.
const IntTab_tles_sommets () const
 Returns the array of vertices of all faces.
IntTab_tles_sommets ()
Type_Face type (const Motcle &) const
 Returns a Type_Face object representing the type with the specified name.
Motcletype (const Type_Face &) const
 Returns the name associated with a face type.
void ajouter (const IntTab_t &)
 Adds faces.
void typer (const Motcle &)
 Sets the type of the faces.
void typer (const Type_Face &)
 Sets the type of the faces.
int_t dimensionner (int_t)
 (Re-)sizes the faces. The neighbors are resized accordingly.
int_t voisin (int_t, int) const
 Returns the number of the i-th neighbor of face.
int_tvoisin (int_t, int)
 Returns a reference to the number of the i-th neighbor of face.
IntTab_tvoisins ()
 Returns the array of neighbors (of the faces).
const IntTab_tvoisins () const
void completer (int_t face, int_t num_elem)
 Completes the specified face: updates its neighbors.
void associer_domaine (const Domaine_t &z)
const Domaine_tdomaine () const
void calculer_surfaces (DoubleVect_t &surf) const
 Computes the surface area of the faces.
void calculer_centres_gravite (DoubleTab_t &xv) const
 Computes the centers of gravity of each face.
void reordonner ()
 Reorders the faces.
IntVect_tcompare (const Faces_32_64 &other_fac, IntVect_t &renum)
 Compares the Faces_32_64 object passed as parameter with this Faces_32_64 object.
void initialiser_faces_joint (int_t nb_faces_joints)
 Initializes the neighbors of joint faces to -1.
void initialiser_sommets_faces_joint (int_t nb_faces_joints)
 Initializes the vertices of joint faces to -1.
Entreelit (Entree &)
 Reads the specifications of a face object from an input stream (binary format).
Sortieecrit (Sortie &) const
 Writes the faces to an output stream (binary format).
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 SortieprintOn (Sortie &) const
 Writes the object to an output stream. Virtual method to override.
virtual EntreereadOn (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 Nomle_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_infoget_info () const
 Returns type information for the Objet_U.
const Nomque_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 Interpreteinterprete () const
Interpreteinterprete ()
Public Member Functions inherited from Process
virtual ~Process ()

Static Public Member Functions

static void Calculer_centres_gravite (DoubleTab_t &xv, Type_Face type_face_, const DoubleTab_t &coord, const IntTab_t &sommet)
Static Public Member Functions inherited from Objet_U
static const Nomnom_du_cas ()
 Returns a constant reference to the case name. This method is static.
static Nomget_set_nom_du_cas ()
 Returns a non-constant reference to the case name (to allow modification). This method is static.
static const Type_infoinfo ()
 Returns type information for the Objet_U (static version).
static const Objet_Uself_cast (const Objet_U &)
 Method added for casting in Python.
static Objet_Uself_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 SortieJournal (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)

Additional Inherited Members

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 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_Uoperator= (const Objet_U &)
 Assignment operator: does nothing (the number and identifier are preserved).
virtual void set_param (Param &) const

Detailed Description

template<typename _SIZE_>
class Faces_32_64< _SIZE_ >

Class Faces Faces describes a set of faces by their type (point, segment, triangle or quadrangle), their vertices and their adjacent elements.

See also
IntTab Frontiere

Definition at line 49 of file Faces.h.

Member Typedef Documentation

◆ Domaine_t

template<typename _SIZE_>
using Faces_32_64< _SIZE_ >::Domaine_t = Domaine_32_64<_SIZE_>

Definition at line 61 of file Faces.h.

◆ DomaineAxi1d_t

template<typename _SIZE_>
using Faces_32_64< _SIZE_ >::DomaineAxi1d_t = DomaineAxi1d_32_64<_SIZE_>

Definition at line 62 of file Faces.h.

◆ DoubleTab_t

template<typename _SIZE_>
using Faces_32_64< _SIZE_ >::DoubleTab_t = DoubleTab_T<_SIZE_>

Definition at line 60 of file Faces.h.

◆ DoubleVect_t

template<typename _SIZE_>
using Faces_32_64< _SIZE_ >::DoubleVect_t = DoubleVect_T<_SIZE_>

Definition at line 59 of file Faces.h.

◆ int_t

template<typename _SIZE_>
using Faces_32_64< _SIZE_ >::int_t = _SIZE_

Definition at line 55 of file Faces.h.

◆ IntTab_t

template<typename _SIZE_>
using Faces_32_64< _SIZE_ >::IntTab_t = IntTab_T<_SIZE_>

Definition at line 57 of file Faces.h.

◆ IntVect_t

template<typename _SIZE_>
using Faces_32_64< _SIZE_ >::IntVect_t = IntVect_T<_SIZE_>

Definition at line 56 of file Faces.h.

◆ SmallArrOfTID_t

template<typename _SIZE_>
using Faces_32_64< _SIZE_ >::SmallArrOfTID_t = SmallArrOfTID_T<_SIZE_>

Definition at line 58 of file Faces.h.

Member Function Documentation

◆ ajouter()

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::ajouter ( const IntTab_t & tab_sommet)

Adds faces.

Adding faces is equivalent to adding vertices.

Parameters
(IntTab&sommet) the array of vertices to add
Exceptions
thespecified vertices do not have the correct dimension (1D,2D,3D)

Definition at line 317 of file Faces.cpp.

◆ associer_domaine()

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::associer_domaine ( const Domaine_t & z)
inline

Definition at line 94 of file Faces.h.

◆ Calculer_centres_gravite()

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::Calculer_centres_gravite ( DoubleTab_t & xv,
Type_Face type_face_,
const DoubleTab_t & coord,
const IntTab_t & sommet )
static

Definition at line 778 of file Faces.cpp.

◆ calculer_centres_gravite()

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::calculer_centres_gravite ( DoubleTab_t & xv) const

Computes the centers of gravity of each face.

Parameters
(DoubleTab&xv) array containing the coordinates of the centers of gravity of each face. xv(i,j) contains the j-th coordinate of the center of gravity of the i-th face. The array xv is resized and assigned the parallel descriptor of the vertex array before being filled.

Definition at line 768 of file Faces.cpp.

◆ calculer_surfaces()

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::calculer_surfaces ( DoubleVect_t & surfaces) const

Computes the surface area of the faces.

Parameters
(DoubleVect&surfaces) the vector containing the surface area of each face.
Exceptions
unrecognizedface type
surfacearea computation not implemented for this face type
erroneoussurface computation (surface <= 0)
facetype not consistent with the space dimension

Definition at line 487 of file Faces.cpp.

◆ compare()

template<typename _SIZE_>
Faces_32_64< _SIZE_ >::IntVect_t & Faces_32_64< _SIZE_ >::compare ( const Faces_32_64< _SIZE_ > & faces,
IntVect_t & renum )

Compares the Faces_32_64 object passed as parameter with this Faces_32_64 object.

Parameters
(Faces_32_64&faces) the faces to compare against
(IntVect&renum) the renumbering vector - renum has size 1 and contains -1 if the number of faces differs; otherwise has as many elements as faces and renum(i) = the index of face i from the parameter faces in the current object
Returns
(IntVect&)

Definition at line 1094 of file Faces.cpp.

◆ completer()

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::completer ( int_t face,
int_t num_elem )

Completes the specified face: updates its neighbors.

Parameters
(intface) the index of the face to complete
(intnum_elem) the index of the neighboring element of the face
Exceptions
facealready complete

Definition at line 458 of file Faces.cpp.

◆ dimensionner()

template<typename _SIZE_>
Faces_32_64< _SIZE_ >::int_t Faces_32_64< _SIZE_ >::dimensionner ( int_t i)

(Re-)sizes the faces. The neighbors are resized accordingly.

Implicitly added vertices are initialized to -1.

Parameters
(inti) the new number of faces
Returns
(int) the new number of faces

Definition at line 336 of file Faces.cpp.

◆ domaine()

template<typename _SIZE_>
const Domaine_t & Faces_32_64< _SIZE_ >::domaine ( ) const
inline

Definition at line 95 of file Faces.h.

◆ ecrit()

template<typename _SIZE_>
Sortie & Faces_32_64< _SIZE_ >::ecrit ( Sortie & s) const

Writes the faces to an output stream (binary format).

The following are written:

  • the face type
  • the vertices
  • the neighbors Only the type Type_Face::vide_0D is written if the number of faces is zero.
Parameters
sAn output stream.
Returns
The modified output stream.

Definition at line 61 of file Faces.cpp.

◆ initialiser_faces_joint()

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::initialiser_faces_joint ( int_t nb_faces_joint)

Initializes the neighbors of joint faces to -1.

Parameters
(intnb_faces_joint) the number of faces representing Joints

Definition at line 357 of file Faces.cpp.

◆ initialiser_sommets_faces_joint()

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::initialiser_sommets_faces_joint ( int_t nb_faces_joint)

Initializes the vertices of joint faces to -1.

Parameters
(intnb_faces_joint) the number of faces representing Joints

Definition at line 369 of file Faces.cpp.

◆ les_sommets() [1/2]

template<typename _SIZE_>
IntTab_t & Faces_32_64< _SIZE_ >::les_sommets ( )
inline

Definition at line 75 of file Faces.h.

◆ les_sommets() [2/2]

template<typename _SIZE_>
const IntTab_t & Faces_32_64< _SIZE_ >::les_sommets ( ) const
inline

Returns the array of vertices of all faces.

Definition at line 74 of file Faces.h.

◆ lit()

template<typename _SIZE_>
Entree & Faces_32_64< _SIZE_ >::lit ( Entree & s)

Reads the specifications of a face object from an input stream (binary format).

The following are read:

  • the face type
  • the vertices
  • the neighbors Vertices are reordered after reading. Does nothing if the type read is "vide_0D".
Parameters
sAn input stream.
Returns
The modified input stream.

Definition at line 119 of file Faces.cpp.

◆ nb_faces()

template<typename _SIZE_>
int_t Faces_32_64< _SIZE_ >::nb_faces ( ) const
inline

Definition at line 66 of file Faces.h.

◆ nb_faces_tot()

template<typename _SIZE_>
int_t Faces_32_64< _SIZE_ >::nb_faces_tot ( ) const
inline

Returns the total number of Faces i (real and virtual) on the current processor.

Definition at line 68 of file Faces.h.

◆ nb_som_faces()

template<typename _SIZE_>
int Faces_32_64< _SIZE_ >::nb_som_faces ( ) const
inline

Returns the number of vertices per face.

Definition at line 149 of file Faces.h.

◆ reordonner()

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::reordonner ( )

Reorders the faces.

(only quadrangles are reordered)

Exceptions
unrecognizedface type

Definition at line 881 of file Faces.cpp.

◆ sommet() [1/2]

template<typename _SIZE_>
Faces_32_64< _SIZE_ >::int_t & Faces_32_64< _SIZE_ >::sommet ( int_t i,
int j )
inline

Returns a reference to the number of the j-th vertex of the i-th face.

Parameters
(inti) index of the face of the vertex to return
(intj) index of the vertex to return
Returns
(int&) reference to the number of the j-th vertex of the i-th face

Definition at line 142 of file Faces.h.

◆ sommet() [2/2]

template<typename _SIZE_>
Faces_32_64< _SIZE_ >::int_t Faces_32_64< _SIZE_ >::sommet ( int_t i,
int j ) const
inline

Returns the number of the j-th vertex of the i-th face.

Parameters
(inti) index of the face of the vertex to return
(intj) index of the vertex to return
Returns
(int) the number of the j-th vertex of the i-th face

Definition at line 130 of file Faces.h.

◆ type() [1/2]

template<typename _SIZE_>
Type_Face Faces_32_64< _SIZE_ >::type ( const Motcle & mot) const

Returns a Type_Face object representing the type with the specified name.

Recognized type names are: "vide_0D" "point_1D" "point_1D_axi" "segment_2D" "triangle_3D" "quadrangle_3D" "segment_2D_axi" "quadrangle_3D_axi" "quadrilatere_2D_axi"

Parameters
(Motcle&mot) the keyword representing a face type
Returns
(Type_Face) the face type corresponding to the parameter
Exceptions
unrecognizedface type

Definition at line 199 of file Faces.cpp.

◆ type() [2/2]

template<typename _SIZE_>
Motcle & Faces_32_64< _SIZE_ >::type ( const Type_Face & typ) const

Returns the name associated with a face type.

(inverse of Type_Face Faces_32_64<SIZE>::type(const Motcle& ) const)

Parameters
(Type_Face&typ) a face type
Returns
(Motcle&) the name corresponding to the specified type
Exceptions
unrecognizedface type

Definition at line 265 of file Faces.cpp.

◆ type_face()

template<typename _SIZE_>
Type_Face Faces_32_64< _SIZE_ >::type_face ( ) const
inline

Definition at line 65 of file Faces.h.

◆ typer() [1/2]

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::typer ( const Motcle & typ)

Sets the type of the faces.

Parameters
(Motcle&typ) the type to assign to the faces

Definition at line 382 of file Faces.cpp.

◆ typer() [2/2]

template<typename _SIZE_>
void Faces_32_64< _SIZE_ >::typer ( const Type_Face & typ)

Sets the type of the faces.

Parameters
(Type_Face&typ) the type to assign to the faces
Exceptions
unknownface type

Definition at line 393 of file Faces.cpp.

◆ voisin() [1/2]

template<typename _SIZE_>
Faces_32_64< _SIZE_ >::int_t & Faces_32_64< _SIZE_ >::voisin ( int_t face,
int i )
inline

Returns a reference to the number of the i-th neighbor of face.

Parameters
(intface) the number of the face whose neighbor we seek
(inti) the index of the neighbor to return
Returns
(int&) reference to the number of the i-th neighbor of face

Definition at line 177 of file Faces.h.

◆ voisin() [2/2]

template<typename _SIZE_>
Faces_32_64< _SIZE_ >::int_t Faces_32_64< _SIZE_ >::voisin ( int_t face,
int i ) const
inline

Returns the number of the i-th neighbor of face.

Parameters
(intface) the number of the face whose neighbor we seek
(inti) the index of the neighbor to return
Returns
(int) the i-th neighbor number of face

Definition at line 165 of file Faces.h.

◆ voisins() [1/2]

template<typename _SIZE_>
IntTab_t & Faces_32_64< _SIZE_ >::voisins ( )
inline

Returns the array of neighbors (of the faces).

Definition at line 89 of file Faces.h.

◆ voisins() [2/2]

template<typename _SIZE_>
const IntTab_t & Faces_32_64< _SIZE_ >::voisins ( ) const
inline

Definition at line 90 of file Faces.h.


The documentation for this class was generated from the following files:
  • /home/docs/trust-code/src/Kernel/Geometrie/Domaine_forward.h
  • /home/docs/trust-code/src/Kernel/Geometrie/Faces.h
  • /home/docs/trust-code/src/Kernel/Geometrie/Faces.cpp