15#ifndef Partitionneur_base_included
16#define Partitionneur_base_included
18#include <TRUSTTabs_forward.h>
20#include <Static_Int_Lists.h>
22#include <Objet_U_With_Params.h>
24#include <Domaine_forward.h>
50template <
typename _SIZE_>
Classe Bord Cette classe represente un bord d'un domaine, c'est un type de frontiere.
classe Domaine_32_64 un Domaine est un maillage compose d'un ensemble d'elements geometriques de meme...
Class defining operators and methods for all reading operation in an input flow (file,...
Une chaine de caractere (Nom) en majuscules.
Inherits from Objet_U, adds the very common method set_param for the Objet_U hierarchy.
Helper class to factorize the readOn method of Objet_U classes.
Classe de base des partitionneurs de domaine (pour decouper un maillage avant un calcul parallele).
TRUSTArray< int, _SIZE_ > BigArrOfInt_
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
static int_t corriger_bords_avec_graphe(const Static_Int_Lists_t &graph_elements_perio, const Static_Int_Lists_t &som_elem, const Domaine_t &domaine, BigIntVect_ &elem_part)
corrige la partition elem_part pour qu'un element i se trouve sur la meme partition elem_part[i] que ...
static void corriger_bords_avec_liste(const Domaine_t &dom, const int_t my_offset, BigIntVect_ &elem_part)
Calcul des graphes de connectivite elements periodiques et appel a corriger_periodique_avec_graphe.
static void corriger_elem0_sur_proc0(BigIntVect_ &elem_part)
corrige la partition pour que l'element 0 du domaine initial se trouve sur le premier sous-domaine de...
ArrOfInt_T< _SIZE_ > ArrOfInt_t
static int_t corriger_sommets_bord(const Domaine_t &domaine, const ArrOfInt_t &renum_som_perio, const Static_Int_Lists_t &som_elem, BigIntVect_ &elem_part)
Modifie elem_part pour assurer les proprietes suivantes : 1) Les elements possedant un sommet de bord...
virtual void associer_domaine(const Domaine_t &domaine)=0
IntVect_T< _SIZE_ > IntVect_t
TRUSTVect< int, _SIZE_ > BigIntVect_
Domaine_32_64< _SIZE_ > Domaine_t
Bord_32_64< _SIZE_ > Bord_t
static int_t corriger_multiperiodique(const Domaine_t &domaine, const ArrOfInt_t &renum_som_perio, const Static_Int_Lists_t &som_elem, BigIntVect_ &elem_part)
applique des corrections a elem_part pour que le multi-periodique soit correct :
IntTab_T< _SIZE_ > IntTab_t
virtual void construire_partition(BigIntVect_ &elem_part, int &nb_parts_tot) const =0
Static_Int_Lists_32_64< _SIZE_ > Static_Int_Lists_t
static int_t calculer_graphe_connexions_periodiques(const Domaine_t &domaine, const Static_Int_Lists_t &som_elem, const int_t my_offset, Static_Int_Lists_t &graph)
Calcul d'un graphe de connectivite entre les elements lies par des faces periodiques.
Cette classe permet de stocker des listes d'entiers accessibles en temps constant.
Represents a an array of int/int64/double/... values.