16#ifndef DomaineCutter_included
17#define DomaineCutter_included
19#include <DomaineCutter_Correspondance.h>
20#include <Static_Int_Lists.h>
25#include <Domaine_forward.h>
32template <
typename _SIZE_>
35 Declare_instanciable_32_64(DomaineCutter_32_64);
54 const bool permissif=
false);
71 void construire_faces_bords_ssdom(
const BigArrOfInt_t& liste_inverse_sommets,
const int partie,
Domaine32& domaine_partie)
const;
72 void construire_faces_raccords_ssdom(
const BigArrOfInt_t& liste_inverse_sommets,
const int partie,
Domaine32& domaine_partie)
const;
73 void construire_frontieres_internes_ssdom(
const BigArrOfInt_t& liste_inverse_sommets,
const int partie,
Domaine32& domaine_partie)
const;
74 void construire_groupe_faces_ssdom(
const BigArrOfInt_t& liste_inverse_sommets,
const int partie,
Domaine32& domaine_partie)
const;
84 void ajouter_joints(
Domaine32& domaine,
const ArrOfInt& voisins)
const;
85 void parcourir_epaisseurs_elements(
SmallArrOfTID_t liste_sommets_depart,
const int partie_a_ignorer,
SmallArrOfTID_t& liste_elements_trouves)
const;
100 int epaisseur_joint_ = -1;
Classe outil permettant de generer des sous-domaines pour un calcul parallele a partir d'un domaine d...
Domaine_32_64< _SIZE_ > Domaine_t
BigArrOfInt_T< _SIZE_ > BigArrOfInt_t
BigIntVect_T< _SIZE_ > BigIntVect_t
void ecrire_domaines(const Nom &basename, const DomainesFileOutputType format, const int reorder, const Static_Int_Lists_t *som_raccord=nullptr)
Generation de tous les sous-domaines du calcul et ecriture sur disque des fichiers basename_000n.
void reset()
annule toutes les references et vide les tableaux
void construire_sous_domaine(const int part, Domaine32 &sous_domaine) const
IntTab_T< _SIZE_ > IntTab_t
const Noms & bords_internes() const
void initialiser(const Domaine_t &domaine_global, const BigIntVect_t &elem_part, const int nb_parts, const int epaisseur_joint, const bool permissif=false)
Prepare les structures de donnees pour la construction des sous-domaines en fonction d'un decoupage f...
Domaine_32_64< int > Domaine32
void construire_sous_domaine(const int part, DomaineCutter_Correspondance_t &correspondance, Domaine32 &sous_domaine, const Static_Int_Lists_t *som_raccord=nullptr) const
Remplit la structure "correspondance" et le "sous_domaine" pour la partie "part".
SmallArrOfTID_T< _SIZE_ > SmallArrOfTID_t
Static_Int_Lists_32_64< _SIZE_ > Static_Int_Lists_t
Frontiere_32_64< _SIZE_ > Frontiere_t
DomaineCutter_Correspondance_32_64< _SIZE_ > DomaineCutter_Correspondance_t
TRUSTArray< _SIZE_, _SIZE_ > ArrOfInt_t
Decouper_32_64< _SIZE_ > Decouper_t
Sous_Domaine_32_64< _SIZE_ > Sous_Domaine_t
Structure outil contenant la correspondance entre les indices de sommets et d'elements du domaine glo...
classe Domaine_32_64 un Domaine est un maillage compose d'un ensemble d'elements geometriques de meme...
class Nom Une chaine de caractere pour nommer les objets de TRUST
Un tableau de chaine de caracteres (VECT(Nom)).
classe Objet_U Cette classe est la classe de base des Objets de TRUST
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
static void abort()
Routine de sortie de Trio-U sur une erreur abort().
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
Sous_Domaine represents a volumic sub-domain i.e. a sub set of elements of a Domaine.
Cette classe permet de stocker des listes d'entiers accessibles en temps constant.
Represents a an array of int/int64/double/... values.