TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Pave_32_64< _SIZE_ > Class Template Reference

Classe Pave Un domaine particulierement facile a mailler! More...

#include <Pave.h>

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

Public Types

using int_t = _SIZE_
using IntVect_t = IntVect_T<_SIZE_>
using IntTab_t = IntTab_T<_SIZE_>
using DoubleVect_t = DoubleVect_T<_SIZE_>
using DoubleTab_t = DoubleTab_T<_SIZE_>
using Domaine_t = Domaine_32_64<_SIZE_>
using Frontiere_t = Frontiere_32_64<_SIZE_>
Public Types inherited from Domaine_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 ArrsOfInt_t = ArrsOfInt_T<_SIZE_>
using DoubleTabs_t = DoubleTabs_T<_SIZE_>
using OctreeRoot_t = OctreeRoot_32_64<_SIZE_>
using Sous_Domaine_t = Sous_Domaine_32_64<_SIZE_>
using Bord_t = Bord_32_64<_SIZE_>
using Bords_t = Bords_32_64<_SIZE_>
using Bord_Interne_t = Bord_Interne_32_64<_SIZE_>
using Bords_Internes_t = Bords_Internes_32_64<_SIZE_>
using Groupe_Faces_t = Groupe_Faces_32_64<_SIZE_>
using Groupes_Faces_t = Groupes_Faces_32_64<_SIZE_>
using Frontiere_t = Frontiere_32_64<_SIZE_>
using Raccord_t = OWN_PTR(Raccord_base_32_64<_SIZE_>)
using Raccords_t = Raccords_32_64<_SIZE_>
using Joint_t = Joint_32_64<_SIZE_>
using Joints_t = Joints_32_64<_SIZE_>

Protected Member Functions

int_t numero_maille (int i)
 Renvoie le numero de la i-ieme maille (suivant X).
int_t numero_maille (int i, int j)
 Renvoie le numero de la (i,j)-ieme maille (suivant (X,Y)).
int_t numero_maille (int i, int j, int k)
 Renvoie le numero de la (i,j,k)-ieme maille (suivant (X,Y,Z)).
int_t numero_sommet (int i)
 Renvoie le numero du i-ieme sommet (suivant X).
int_t numero_sommet (int i, int j)
 Renvoie le numero du (i,j)-ieme sommet (suivant (X,Y)).
int_t numero_sommet (int i, int j, int k)
 Renvoie le numero du (i,j,k)-ieme sommet (suivant (X,Y,Z)).
int_tmaille_sommet (int i, int l)
 Renvoie une reference sur le numero du l-ieme sommet de la i-ieme maille (suivant X) du pave.
int_tmaille_sommet (int i, int j, int l)
 Renvoie une reference sur le numero du l-ieme sommet de la (i,j)-ieme maille (suivant (X,Y)) du pave.
int_tmaille_sommet (int i, int j, int k, int l)
 Renvoie une reference sur le numero du l-ieme sommet de la (i,j,k)-ieme maille (suivant (X,Y,Z)) du pave.
double & coord_noeud (int i)
 Renvoie une reference sur les coordonnees du i-ieme noeud.
double & coord_noeud (int i, int j, int l)
 Renvoie une reference sur les coordonnees du (i,j)-ieme noeud.
double & coord_noeud (int i, int j, int k, int l)
 Renvoie une reference sur les coordonnees du (i,j,k)-ieme noeud.
void maille2D ()
 Effectue un maillage 1D, du pave avec les valeurs des parametres lus par ReadOn.
void maille3D ()
 Effectue un maillage 3D, du pave avec les valeurs des parametres lus par ReadOn.
void typer_ ()
 Type le pave suivant la dimension d'espace et suivant le repere de coordonnees demande (cylindrique.
void lire_longueurs (Entree &is)
 Lit les longueurs LX LY [LZ] du jeu de donnee a partir d'un flot d'entree.
void lire_noeuds (Entree &is)
 Lit le nombre de noeuds dans le jeu de donnee a partir d'un flot d'entree et construit les noeuds.
void lire_front (Entree &, Frontiere_t &)
 Lit les specifications d'une frontiere du jeu de donnee a partir d'un flot d'entree et la construit.
Protected Member Functions inherited from Domaine_32_64< _SIZE_ >
 OWN_PTR (Elem_geom_base_32_64< _SIZE_ >) elem_
 OWN_PTR (OctreeRoot_t) deriv_octree_
 LIST (OBS_PTR(Sous_Domaine_t)) les_ss_domaines_
 LIST (OBS_PTR(Domaine_32_64)) domaines_frontieres_
Protected Member Functions inherited from Domaine_base
 LIST (Nom) bords_a_imprimer_
 LIST (Nom) bords_a_imprimer_sum_
void duplique_bords_internes ()
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_Uoperator= (const Objet_U &)
 Operateur= : ne fait rien (on conserve le numero et l'identifiant).
virtual void set_param (Param &) const

Protected Attributes

DoubleVect origine_
DoubleVect longueurs_
DoubleVect facteurs_
DoubleVect pas_
IntVect symetrique_
IntVect nb_noeuds_
int Nx = -1
int Ny = -1
int Nz = -1
int Mx = -1
int My = -1
int Mz = -1
double a_tanh = 10.
int tanh_dilatation =0
double xa_tanh = 10.
int xtanh_dilatation =0
double za_tanh = 10.
int ztanh_dilatation =0
bool rep_VEF =false
bool tour_complet = false
Protected Attributes inherited from Domaine_32_64< _SIZE_ >
DoubleTab_t sommets_
DoubleTab_t sommets_n
ArrOfInt_t renum_som_perio_
IntTab_t mes_elems_
IntTab_t aretes_som_
IntTab_t elem_aretes_
ArrOfInt_t ind_faces_virt_bord_
IntTab_t elem_virt_pe_num_
ArrOfDouble cg_moments_
Bords_t mes_faces_bord_
Raccords_t mes_faces_raccord_
Bords_Internes_t mes_bords_int_
Groupes_Faces_t mes_groupes_faces_
Joints_t mes_faces_joint_
Noms bords_perio_
 List of periodic boundaries - this is filled by Interprete 'Declarer_bord_perio'.
Protected Attributes inherited from Domaine_base
Nom nom_
 Domaine name.
int moments_a_imprimer_
double epsilon_
bool deformable_ = false
Nom fichier_lu_
double volume_total_
 Volume total du domaine (somme sur tous les processeurs).
Champs_compris champs_compris_
bool mesh_update_required_ = false

Additional Inherited Members

Public Member Functions inherited from Domaine_32_64< _SIZE_ >
 Domaine_32_64 ()
EntreereadOn_has_perio (Entree &s, bool &has_perio)
 Lit les objets constituant un Domaine a partir d'un flot d'entree.
void typer (const Nom &)
 Type les elements du domaine avec le nom passe en parametre.
const OWN_PTR (Elem_geom_base_32_64< _SIZE_ >) &type_elem() const
 OWN_PTR (Elem_geom_base_32_64< _SIZE_ >) &type_elem()
void reordonner ()
double coord (int_t i, int j) const
double & coord (int_t i, int j)
const DoubleTab_tcoord_sommets () const
DoubleTab_tles_sommets ()
const DoubleTab_tles_sommets () const
void saveSommetsCoordinates ()
void resetSommetsCoordinates ()
DoubleTab getBoundingBox () const
void ajouter (const DoubleTab_t &soms)
 Ajoute des noeuds (ou sommets) au domaine (sans verifier les doublons).
void ajouter (const DoubleTab_t &soms, IntVect_t &nums)
 Ajoute des noeuds au domaine avec elimination des noeuds double au retour nums contient les nouveaux numeros des noeuds de soms.
int_t nb_som () const
 Renvoie le nombre de sommets du domaine.
int_t nb_som_tot () const
 Renvoie le nombre total de sommets du domaine i.e. le nombre de sommets reels et virtuels sur le processeur courant.
void read_vertices (Entree &s)
 only read vertices from the stream s
IntTab_tles_elems ()
const IntTab_tles_elems () const
int_t nb_elem () const
int_t nb_elem_tot () const
int nb_som_elem () const
 Renvoie le nombre de sommets des elements geometriques constituants le domaine.
int nb_faces_elem (int=0) const
 Renvoie le nombre de face de type i des elements geometriques constituants le domaine.
int_t sommet_elem (int_t i, int j) const
 Renvoie le numero (global) du j-ieme sommet du i-ieme element.
int_t nb_aretes () const
 Renvoie le nombre d'aretes reelles.
int_t nb_aretes_tot () const
 renvoie le nombre d'aretes total (reelles+virtuelles).
int_t arete_sommets (int_t i, int j) const
 renvoie le numero du jeme sommet de la ieme arete.
int_t elem_aretes (int_t i, int j) const
 renvoie le numero de la jeme arete du ieme element.
const IntTab_taretes_som () const
 renvoie le tableau de connectivite aretes/sommets.
const IntTab_telem_aretes () const
 renvoie le tableau de connectivite elements/aretes.
IntTab_tset_aretes_som ()
IntTab_tset_elem_aretes ()
int_t nb_faces_bord () const
int_t nb_faces_bord (int num_bord) const
int_t nb_faces_bord (Type_Face type) const
int_t nb_faces_joint () const
int_t nb_faces_joint (int num_joint) const
int_t nb_faces_joint (Type_Face type) const
int_t nb_faces_raccord () const
int_t nb_faces_raccord (int num_rac) const
int_t nb_faces_raccord (Type_Face type) const
int_t nb_faces_bords_int () const
int_t nb_faces_bords_int (int num_bord) const
int_t nb_faces_bords_int (Type_Face type) const
int_t nb_faces_groupes_faces () const
int_t nb_faces_groupes_faces (int num_g) const
int_t nb_faces_groupes_faces (Type_Face type) const
int_t nb_faces_frontiere () const
 Renvoie le nombre de faces frontiere du domaine (somme des nombres de bords, de raccords et de bords internes).
int_t nb_faces_frontiere (Type_Face type) const
 Renvoie le nombre de faces frontiere du domaine du type specifie.
int_t nb_faces_specifiques () const
 Renvoie le nombre de faces speciales du domaine.
int_t nb_faces_specifiques (Type_Face type) const
 Renvoie le nombre de faces specifique du domaine du type specifie.
int_t face_bords_interne_conjuguee (int_t face) const
 Renvoie -1 si face n'est pas une face de bord interne Renvoie le numero de la face dupliquee sinon.
int nb_bords () const
Bord_tbord (int i)
const Bord_tbord (int i) const
Bord_tbord (const Nom &nom)
const Bord_tbord (const Nom &nom) const
Bords_tfaces_bord ()
const Bords_tfaces_bord () const
void fixer_premieres_faces_frontiere ()
void correct_type_of_borders_after_merge ()
 Correcting type of borders if they were empty before merge (ie equal to vide_0D).
void ecrire_noms_bords (Sortie &) const
 Ecriture des noms des bords sur un flot de sortie.
Bord_Interne_tbords_interne (int i)
const Bord_Interne_tbords_interne (int i) const
Bord_Interne_tbords_interne (const Nom &nom)
const Bord_Interne_tbords_interne (const Nom &nom) const
Bords_Internes_tbords_int ()
const Bords_Internes_tbords_int () const
int nb_groupes_faces () const
Groupe_Faces_tgroupe_faces (int i)
const Groupe_Faces_tgroupe_faces (int i) const
const Groupe_Faces_tgroupe_faces (const Nom &nom) const
Groupes_Faces_tgroupes_faces ()
const Groupes_Faces_tgroupes_faces () const
const Frontiere_tfrontiere (int i) const
Frontiere_tfrontiere (int i)
int rang_frontiere (const Nom &) const
const Frontiere_tfrontiere (const Nom &) const
Frontiere_tfrontiere (const Nom &)
int nb_frontieres_internes () const
int nb_front_Cl () const
const LIST (OBS_PTR(Domaine_32_64)) &domaines_frontieres() const
Domaine_32_64domaine_frontiere (int i)
int nb_raccords () const
Raccord_traccord (int i)
const Raccord_traccord (int i) const
Raccord_traccord (const Nom &nom)
const Raccord_traccord (const Nom &nom) const
Raccords_tfaces_raccord ()
const Raccords_tfaces_raccord () const
int nb_joints () const
Joint_tjoint (int i)
const Joint_tjoint (int i) const
Joint_tjoint (const Nom &nom)
const Joint_tjoint (const Nom &nom) const
Joints_tfaces_joint ()
const Joints_tfaces_joint () const
Joint_tjoint_of_pe (int)
const Joint_tjoint_of_pe (int) const
int comprimer_joints ()
 Concatene les joints de meme nom.
void renum_joint_common_items (const IntVect_t &nums, const int_t elem_offset)
 Renumerotation des noeuds et des elements presents dans les items communs des joints.
const Nomsbords_perio () const
Nomsbords_perio ()
void init_renum_perio ()
 Initialize the renumerotation array for periodicity.
int_t get_renum_som_perio (int_t i) const
void construire_renum_som_perio (const Conds_lim &, const Domaine_dis_base &)
void set_renum_som_perio (IntTab_t &renum)
const ArrOfInt_tget_renum_som_perio () const
int nb_ss_domaines () const
const Sous_Domaine_tss_domaine (int i) const
Sous_Domaine_tss_domaine (int i)
const Sous_Domaine_tss_domaine (const Nom &nom) const
Sous_Domaine_tss_domaine (const Nom &nom)
void add (const Sous_Domaine_t &sd)
int associer_ (Objet_U &) override
 Association d'un Sous_Domaine au Domaine.
const LIST (OBS_PTR(Sous_Domaine_t)) &ss_domaines() const
void calculer_centres_gravite (DoubleTab_t &xp) const
 Calcule les centres de gravites des elements du domaine.
void calculer_centres_gravite_aretes (DoubleTab_t &xa) const
 Calcule les centres de gravites des aretes du domaine.
virtual void calculer_volumes (DoubleVect_t &volumes, DoubleVect_t &inv_volumes) const
 Calcule les volumes des elements du domaine.
void calculer_mon_centre_de_gravite (ArrOfDouble &c)
 Calcule le centre de gravite du domaine.
double volume_total () const
const ArrOfDouble & cg_moments () const
ArrOfDouble & cg_moments ()
void exporter_mon_centre_de_gravite (ArrOfDouble c)
SmallArrOfTID_tchercher_elements (const DoubleTab &pos, SmallArrOfTID_t &elem, int reel=0) const
 Recherche des elements contenant les points dont les coordonnees sont specifiees.
SmallArrOfTID_tchercher_elements (const DoubleVect &pos, SmallArrOfTID_t &elem, int reel=0) const
 Recherche des elements contenant les points dont les coordonnees sont specifiees.
int_t chercher_elements (double x, double y=0, double z=0, int reel=0) const
 Renvoie le rang de l'element contenant le point dont les coordonnees sont specifiees.
SmallArrOfTID_tindice_elements (const IntTab &som, SmallArrOfTID_t &elem, int reel=0) const
 Cherche les numeros (indices) des elements contenants les sommets specifies par le parametre "sommets".
SmallArrOfTID_tchercher_sommets (const DoubleTab &pos, SmallArrOfTID_t &som, int reel=0) const
int_t chercher_sommets (double x, double y=0, double z=0, int reel=0) const
SmallArrOfTID_tchercher_aretes (const DoubleTab &pos, SmallArrOfTID_t &arr, int reel=0) const
void rang_elems_sommet (SmallArrOfTID_t &elems, double x, double y=0, double z=0) const
const OctreeRoot_tconstruit_octree () const
const OctreeRoot_tconstruit_octree (int &) const
 construction de l'octree si pas deja fait
void invalide_octree ()
virtual void clear ()
 Reset the Domaine completely except for its name.
void renum (const IntVect_t &nums)
 Renumerotation des noeuds: Le noeud de numero k devient le noeud de numero Les_Nums[k].
void check_domaine ()
 associate the read objects to the domaine and check that the reading objects are coherent
void imprimer () const
int comprimer ()
 Concatene les bords de meme nom et ceci pour: les bords, les bords periodiques, les bords internes et les groupes de faces.
void read_former_domaine (Entree &s, bool &read_perio)
 read what was (before TRUST 1.9.2) the "domaine" part from the input stream i.e. (roughly) the element description.
void merge_wo_vertices_with (Domaine_32_64 &z)
 Merge another Domaine into this, without considering vertices which are handled separately.
void fill_from_list (std::list< Domaine_32_64 * > &lst)
 Fills the Domaine from a list of Domaine objects by aggregating them.
void build_mc_mesh (bool virt=false) const
 Build the MEDCoupling mesh corresponding to the TRUST mesh.
bool is_mc_mesh_ready () const
void set_mc_mesh_ready (bool flag) const
const ArrOfInt_tind_faces_virt_bord () const
void construire_elem_virt_pe_num ()
void construire_elem_virt_pe_num (IntTab_t &elem_virt_pe_num_cpy) const
const IntTab_telem_virt_pe_num () const
virtual void creer_tableau_elements (Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const
 creation d'un tableau parallele de valeurs aux elements.
virtual const MD_Vectormd_vector_elements () const
 renvoie le descripteur parallele des tableaux aux elements du domaine
virtual void creer_tableau_sommets (Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const
 Cree un tableau ayant une "ligne" par sommet du maillage.
virtual const MD_Vectormd_vector_sommets () const
void init_faces_virt_bord (const MD_Vector &md_vect_faces, MD_Vector &md_vect_faces_bord)
void creer_aretes ()
void creer_mes_domaines_frontieres (const Domaine_VF &domaine_vf)
void correct_type_of_borders_after_merge ()
int identifie_item_unique (IntList &item_possible, DoubleTab &coord_possible, const DoubleVect &coord_ref)
void init_faces_virt_bord (const MD_Vector &md_vect_faces, MD_Vector &md_vect_faces_front)
 Methode appelee par Domaine_VF::discretiser().
void creer_aretes ()
void creer_mes_domaines_frontieres (const Domaine_VF &domaine_vf)
void construire_renum_som_perio (const Conds_lim &les_cl, const Domaine_dis_base &domaine_dis)
Public Member Functions inherited from Domaine_base
const Nomle_nom () const override
 Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
void nommer (const Nom &nom) override
 Donne un nom a l'Objet_U Methode virtuelle a surcharger.
double epsilon () const
void creer_champ (const Motcle &motlu) override
virtual void creer_champ (const Motcle &, const Probleme_base &)
void get_noms_champs_postraitables (Noms &nom, Option opt=NONE) const override
const Champ_baseget_champ (const Motcle &) const override
bool has_champ (const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
bool has_champ (const Motcle &nom) const override
virtual void initialiser (double temps, Domaine_dis_base &, Probleme_base &)
virtual void set_dt (double &dt_)
virtual void mettre_a_jour (double temps, Domaine_dis_base &, Probleme_base &)
virtual void update_after_post (double temps)
virtual bool getUpdateTheGrid ()
virtual void setUpdateTheGrid (bool)
virtual bool getCouplingMethod () const
int mesh_update_required () const
virtual void validateTimeStep ()
void associer_bords_a_imprimer (LIST(Nom) liste)
void associer_bords_a_imprimer_sum (LIST(Nom) liste)
Entreelire_bords_a_imprimer (Entree &s)
Entreelire_bords_a_imprimer_sum (Entree &s)
const LIST (Nom) &bords_a_imprimer() const
const LIST (Nom) &bords_a_imprimer_sum() const
int moments_a_imprimer () const
int & moments_a_imprimer ()
bool axi1d () const
void fixer_epsilon (double eps)
bool deformable () const
bool & deformable ()
void set_fichier_lu (Nom &nom)
const Nomget_fichier_lu () const
virtual const DoubleVect & old_volumes_entrelaces () const
virtual const DoubleVect & old_volumes () const
virtual void apply_old_to_new_volume_scaling (DoubleTab &tab, const Domaine_dis_base &dvf) const
virtual void ajouter_correctif_volumique (const DoubleTab &, const DoubleTab &, double, DoubleTab &) const
virtual int save_additional_state (Sortie &, const Probleme_base &) const
virtual int restore_additional_state (Entree &, Probleme_base &)
virtual std::vector< YAML_datadata_a_sauvegarder (const Probleme_base &pb) const
Public Member Functions inherited from Champs_compris_interface
virtual ~Champs_compris_interface ()
virtual bool has_champ (const Motcle &nom, OBS_PTR(Champ_base)&ref_champ) const =0
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 SortieprintOn (Sortie &) const
 Ecriture de l'objet sur un flot de sortie Methode a surcharger.
virtual EntreereadOn (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 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_infoget_info () const
 Donne des informations sur le type de l'Objet_U.
const Nomque_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.
const Interpreteinterprete () const
Interpreteinterprete ()
Public Member Functions inherited from Process
virtual ~Process ()
Static Public Member Functions inherited from Domaine_32_64< _SIZE_ >
static int identifie_item_unique (IntList &item_possible, DoubleTab &coord_possible, const DoubleVect &coord_ref)
Static Public Member Functions inherited from Objet_U
static const Nomnom_du_cas ()
 Renvoie une reference constante vers le nom du cas.
static Nomget_set_nom_du_cas ()
 Renvoie une reference non constante vers le nom du cas (pour pouvoir le modifier).
static const Type_infoinfo ()
 Donne des informations sur le type de l'Objet_U.
static const Objet_Uself_cast (const Objet_U &)
 methode ajoutee pour caster en python
static Objet_Uself_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 SortieJournal (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

Detailed Description

template<typename _SIZE_>
class Pave_32_64< _SIZE_ >

Classe Pave Un domaine particulierement facile a mailler!

La structure du jeu de donnee pour specifier un Pave est: Pave nom_pave { Origine OX OY (OZ) Longueurs LX LY (LZ) Nombre_de_noeuds NX NY (NZ) Facteurs Fx Fy (Fz) (Symx) (Symy) (Symz) } { (Bord) nom X = X0 Y0 <= Y <= Y1 Z0 <= Z <= Z1 ... (Raccord) local homogene nom X = X0 Y0 <= Y <= Y1 Z0 <= Z <= Z1 ... (Internes) nom X = X0 Y0 <= Y <= Y1 Z0 <= Z <= Z1 ... (Joint) nom X = X0 Y0 <= Y <= Y1 Z0 <= Z <= Z1 PE_voisin ... }

See also
Domaine Mailler, Actuellemnt c'est le seul type d'objet reconnu par Trio-U pour mailler, un domaine

Definition at line 48 of file Pave.h.

Member Typedef Documentation

◆ Domaine_t

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

Definition at line 57 of file Pave.h.

◆ DoubleTab_t

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

Definition at line 56 of file Pave.h.

◆ DoubleVect_t

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

Definition at line 55 of file Pave.h.

◆ Frontiere_t

template<typename _SIZE_>
using Pave_32_64< _SIZE_ >::Frontiere_t = Frontiere_32_64<_SIZE_>

Definition at line 58 of file Pave.h.

◆ int_t

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

Definition at line 52 of file Pave.h.

◆ IntTab_t

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

Definition at line 54 of file Pave.h.

◆ IntVect_t

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

Definition at line 53 of file Pave.h.

Member Function Documentation

◆ coord_noeud() [1/3]

template<typename _SIZE_>
double & Pave_32_64< _SIZE_ >::coord_noeud ( int i)
inlineprotected

Renvoie une reference sur les coordonnees du i-ieme noeud.

Parameters
(inti) le rang du noeud suivant X
Returns
(double&) reference sur les coordonnees du noeud cherche

Definition at line 242 of file Pave.h.

◆ coord_noeud() [2/3]

template<typename _SIZE_>
double & Pave_32_64< _SIZE_ >::coord_noeud ( int i,
int j,
int k,
int l )
inlineprotected

Renvoie une reference sur les coordonnees du (i,j,k)-ieme noeud.

Parameters
(inti) le rang du noeud suivant X
(intj) le rang du noeud suivant Y
(intk) le rang du noeud suivant Z
Returns
(double&) reference sur les coordonnees du noeud cherche

Definition at line 269 of file Pave.h.

◆ coord_noeud() [3/3]

template<typename _SIZE_>
double & Pave_32_64< _SIZE_ >::coord_noeud ( int i,
int j,
int l )
inlineprotected

Renvoie une reference sur les coordonnees du (i,j)-ieme noeud.

Parameters
(inti) le rang du noeud suivant X
(intj) le rang du noeud suivant Y
Returns
(double&) reference sur les coordonnees du noeud cherche

Definition at line 255 of file Pave.h.

◆ lire_front()

template<typename _SIZE_>
void Pave_32_64< _SIZE_ >::lire_front ( Entree & is,
Frontiere_t & front )
protected

Lit les specifications d'une frontiere du jeu de donnee a partir d'un flot d'entree et la construit.

Format: nom_front X = X0 Y0 <= Y <= Y1 Z0 <= Z <= Z1

Parameters
(Entree&is) un flot d'entree
(Frontiere&front) la frontiere lue
Exceptions
motclef "X" attendu
motclef "=" attendu
extremiteen X invalide
motclef "X" ou "Y" attendu
motclef "<=" attendu
motclef "Y" attendu
extremiteen Y invalide
iln'y a pas de bord en teta, vous avez maille une couronne complete
motclef "X" ou "Y" ou "Z" attendu
motclef "Z" attendu
extremiteen Z invalide

Definition at line 1456 of file Pave.cpp.

◆ lire_longueurs()

template<typename _SIZE_>
void Pave_32_64< _SIZE_ >::lire_longueurs ( Entree & is)
protected

Lit les longueurs LX LY [LZ] du jeu de donnee a partir d'un flot d'entree.

Methode appelee par readOn(Entree&)

Parameters
(Entree&is) un flot d'entree
Exceptions
LaLongueur est en nombre de tour en axi, comprise entre 0 et 1

Definition at line 1315 of file Pave.cpp.

◆ lire_noeuds()

template<typename _SIZE_>
void Pave_32_64< _SIZE_ >::lire_noeuds ( Entree & is)
protected

Lit le nombre de noeuds dans le jeu de donnee a partir d'un flot d'entree et construit les noeuds.

Methode appelee par readOn(Entree&)

Parameters
(Entree&is) un flot d'entree
Exceptions
encoordonnees axi il faut lire les longueurs d'abord
dimensiond'espace non prevue

Definition at line 1342 of file Pave.cpp.

◆ maille2D()

template<typename _SIZE_>
void Pave_32_64< _SIZE_ >::maille2D ( )
protected

Effectue un maillage 1D, du pave avec les valeurs des parametres lus par ReadOn.

Effectue un maillage 2D, du pave avec les valeurs des parametres lus par ReadOn.

Maillage en x en tanh

Maillage en y en tanh

Definition at line 580 of file Pave.cpp.

◆ maille3D()

template<typename _SIZE_>
void Pave_32_64< _SIZE_ >::maille3D ( )
protected

Effectue un maillage 3D, du pave avec les valeurs des parametres lus par ReadOn.

Maillage en x en tanh

Maillage en y en tanh

Maillage en z en tanh

Definition at line 844 of file Pave.cpp.

◆ maille_sommet() [1/3]

template<typename _SIZE_>
Pave_32_64< _SIZE_ >::int_t & Pave_32_64< _SIZE_ >::maille_sommet ( int i,
int j,
int k,
int l )
inlineprotected

Renvoie une reference sur le numero du l-ieme sommet de la (i,j,k)-ieme maille (suivant (X,Y,Z)) du pave.

Parameters
(inti) le rang de la maille suivant X
(intj) le rang de la maille suivant Y
(intj) le rang de la maille suivant Z
(intl) le rang du sommet cherche
Returns
(int&) reference sur le numero du sommet cherche

Definition at line 230 of file Pave.h.

◆ maille_sommet() [2/3]

template<typename _SIZE_>
Pave_32_64< _SIZE_ >::int_t & Pave_32_64< _SIZE_ >::maille_sommet ( int i,
int j,
int l )
inlineprotected

Renvoie une reference sur le numero du l-ieme sommet de la (i,j)-ieme maille (suivant (X,Y)) du pave.

Parameters
(inti) le rang de la maille suivant X
(intj) le rang de la maille suivant Y
(intl) le rang du sommet cherche
Returns
(int&) reference sur le numero du sommet cherche

Definition at line 215 of file Pave.h.

◆ maille_sommet() [3/3]

template<typename _SIZE_>
Pave_32_64< _SIZE_ >::int_t & Pave_32_64< _SIZE_ >::maille_sommet ( int i,
int l )
inlineprotected

Renvoie une reference sur le numero du l-ieme sommet de la i-ieme maille (suivant X) du pave.

Parameters
(inti) le rang de la maille suivant X
(intl) le rang du sommet cherche
Returns
(int&) reference sur le numero du sommet cherche

Definition at line 201 of file Pave.h.

◆ numero_maille() [1/3]

template<typename _SIZE_>
Pave_32_64< _SIZE_ >::int_t Pave_32_64< _SIZE_ >::numero_maille ( int i)
inlineprotected

Renvoie le numero de la i-ieme maille (suivant X).

Parameters
(inti) le rang de la maille suivant X dont on veut le numero
Returns
(int) le numero de la maille cherchee

Definition at line 108 of file Pave.h.

◆ numero_maille() [2/3]

template<typename _SIZE_>
Pave_32_64< _SIZE_ >::int_t Pave_32_64< _SIZE_ >::numero_maille ( int i,
int j )
inlineprotected

Renvoie le numero de la (i,j)-ieme maille (suivant (X,Y)).

Parameters
(inti) le rang de la maille suivant X
(intj) le rang de la maille suivant Y
Returns
(int) le numero de la maille cherchee

Definition at line 122 of file Pave.h.

◆ numero_maille() [3/3]

template<typename _SIZE_>
Pave_32_64< _SIZE_ >::int_t Pave_32_64< _SIZE_ >::numero_maille ( int i,
int j,
int k )
inlineprotected

Renvoie le numero de la (i,j,k)-ieme maille (suivant (X,Y,Z)).

Parameters
(inti) le rang de la maille suivant X
(intj) le rang de la maille suivant Y
(intk) le rang de la maille suivant Z
Returns
(int) le numero de la maille cherchee

Definition at line 138 of file Pave.h.

◆ numero_sommet() [1/3]

template<typename _SIZE_>
Pave_32_64< _SIZE_ >::int_t Pave_32_64< _SIZE_ >::numero_sommet ( int i)
inlineprotected

Renvoie le numero du i-ieme sommet (suivant X).

Parameters
(inti) le rang du sommet suivant X dont on veut le numero
Returns
(int) le numero du sommet cherche

Definition at line 153 of file Pave.h.

◆ numero_sommet() [2/3]

template<typename _SIZE_>
Pave_32_64< _SIZE_ >::int_t Pave_32_64< _SIZE_ >::numero_sommet ( int i,
int j )
inlineprotected

Renvoie le numero du (i,j)-ieme sommet (suivant (X,Y)).

Parameters
(inti) le rang du sommet suivant X
(intj) le rang du sommet suivant Y
Returns
(int) le numero du sommet cherche

Definition at line 166 of file Pave.h.

◆ numero_sommet() [3/3]

template<typename _SIZE_>
Pave_32_64< _SIZE_ >::int_t Pave_32_64< _SIZE_ >::numero_sommet ( int i,
int j,
int k )
inlineprotected

Renvoie le numero du (i,j,k)-ieme sommet (suivant (X,Y,Z)).

Parameters
(inti) le rang du sommet suivant X
(intj) le rang du sommet suivant Y
(intk) le rang du sommet suivant Z
Returns
(int) le numero du sommet cherche

Definition at line 183 of file Pave.h.

◆ typer_()

template<typename _SIZE_>
void Pave_32_64< _SIZE_ >::typer_ ( )
protected

Type le pave suivant la dimension d'espace et suivant le repere de coordonnees demande (cylindrique.

ou cartesien) En dimension 1 : le pave est maille avec des segments En dimension 2 (axi): la pave est maille avec des rectangle (axi) En dimension 3 (axi): la pave est maille avec des hexaedres (axi)

Definition at line 1278 of file Pave.cpp.

Member Data Documentation

◆ a_tanh

template<typename _SIZE_>
double Pave_32_64< _SIZE_ >::a_tanh = 10.
protected

Definition at line 92 of file Pave.h.

◆ facteurs_

template<typename _SIZE_>
DoubleVect Pave_32_64< _SIZE_ >::facteurs_
protected

Definition at line 87 of file Pave.h.

◆ longueurs_

template<typename _SIZE_>
DoubleVect Pave_32_64< _SIZE_ >::longueurs_
protected

Definition at line 87 of file Pave.h.

◆ Mx

template<typename _SIZE_>
int Pave_32_64< _SIZE_ >::Mx = -1
protected

Definition at line 91 of file Pave.h.

◆ My

template<typename _SIZE_>
int Pave_32_64< _SIZE_ >::My = -1
protected

Definition at line 91 of file Pave.h.

◆ Mz

template<typename _SIZE_>
int Pave_32_64< _SIZE_ >::Mz = -1
protected

Definition at line 91 of file Pave.h.

◆ nb_noeuds_

template<typename _SIZE_>
IntVect Pave_32_64< _SIZE_ >::nb_noeuds_
protected

Definition at line 89 of file Pave.h.

◆ Nx

template<typename _SIZE_>
int Pave_32_64< _SIZE_ >::Nx = -1
protected

Definition at line 91 of file Pave.h.

◆ Ny

template<typename _SIZE_>
int Pave_32_64< _SIZE_ >::Ny = -1
protected

Definition at line 91 of file Pave.h.

◆ Nz

template<typename _SIZE_>
int Pave_32_64< _SIZE_ >::Nz = -1
protected

Definition at line 91 of file Pave.h.

◆ origine_

template<typename _SIZE_>
DoubleVect Pave_32_64< _SIZE_ >::origine_
protected

Definition at line 87 of file Pave.h.

◆ pas_

template<typename _SIZE_>
DoubleVect Pave_32_64< _SIZE_ >::pas_
protected

Definition at line 87 of file Pave.h.

◆ rep_VEF

template<typename _SIZE_>
bool Pave_32_64< _SIZE_ >::rep_VEF =false
protected

Definition at line 98 of file Pave.h.

◆ symetrique_

template<typename _SIZE_>
IntVect Pave_32_64< _SIZE_ >::symetrique_
protected

Definition at line 88 of file Pave.h.

◆ tanh_dilatation

template<typename _SIZE_>
int Pave_32_64< _SIZE_ >::tanh_dilatation =0
protected

Definition at line 93 of file Pave.h.

◆ tour_complet

template<typename _SIZE_>
bool Pave_32_64< _SIZE_ >::tour_complet = false
protected

Definition at line 99 of file Pave.h.

◆ xa_tanh

template<typename _SIZE_>
double Pave_32_64< _SIZE_ >::xa_tanh = 10.
protected

Definition at line 94 of file Pave.h.

◆ xtanh_dilatation

template<typename _SIZE_>
int Pave_32_64< _SIZE_ >::xtanh_dilatation =0
protected

Definition at line 95 of file Pave.h.

◆ za_tanh

template<typename _SIZE_>
double Pave_32_64< _SIZE_ >::za_tanh = 10.
protected

Definition at line 96 of file Pave.h.

◆ ztanh_dilatation

template<typename _SIZE_>
int Pave_32_64< _SIZE_ >::ztanh_dilatation =0
protected

Definition at line 97 of file Pave.h.


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