16#include <Interprete_geometrique_base.h>
17#include <Sous_Domaine.h>
25template <
typename _SIZE_>
28template <
typename _SIZE_>
31template <
typename _SIZE_>
38template <
typename _SIZE_>
41 Cerr <<
"Association of the domain on which the interpreter applies " <<
que_suis_je() << finl;
46 Cerr << nom_dom <<
" is of type " <<
objet(nom_dom).que_suis_je() << finl;
47 Cerr <<
"we know to treat only one domain with the interpreter " <<
que_suis_je() << finl;
53template <
typename _SIZE_>
56 Cerr <<
"Association of the domain object on which the interpreter applies " <<
que_suis_je() << finl;
60template <
typename _SIZE_>
63 Cerr <<
"Execution of the interpreter " <<
que_suis_je() << finl;
70 for (
int j=0; j<domains_.size(); j++)
79 dom.type_elem()->associer_domaine(dom);
90template <
typename _SIZE_>
101 || (
que_suis_je()==
"Tetraedriser_homogene_compact")
111 for (
int_t nb_p=0; nb_p<nb_poly; nb_p++)
113 if (elem==sous_domaine[nb_p])
115 Cerr <<
" The element " << elem <<
" which will be modified, is included to the subarea \"" << sous_domaine.
le_nom() <<
"\". So the element";
116 if (nb_elem>1) Cerr <<
"s";
117 Cerr <<
" generated [";
118 for(
int_t num_elem=num_premier_elem; num_elem<num_premier_elem+nb_elem; num_elem++)
121 if (num_elem!=num_premier_elem) Cerr <<
" ";
124 Cerr <<
"] will be added to this subarea." << finl;
131 Cerr <<
"You have defined the subarea \"" << sous_domaine.
le_nom() <<
"\" before using the interpreter \"" <<
que_suis_je() <<
"\"." << finl;
132 Cerr <<
"To correctly mark the good elements, set the subarea after to have used the interpreter." << finl;
void associer_domaine(const Domaine_t &)
Associates a domain to all boundaries in the list.
void associer_domaine(const Domaine_t &)
Associates a domain to all Bord_Interne objects in the list.
const Sous_Domaine_t & ss_domaine(int i) const
void set_mc_mesh_ready(bool flag) const
int nb_ss_domaines() const
Raccords_t & faces_raccord()
void fixer_premieres_faces_frontiere()
Bords_Internes_t & bords_int()
Groupes_Faces_t & groupes_faces()
An input stream whose source is a character string.
Class defining operators and methods for all reading operation in an input flow (file,...
void associer_domaine(const Domaine_t &)
Associates a domain to all Groupe_Faces objects in the list.
Class Interprete_geometrique_base.
void mettre_a_jour_sous_domaine(Domaine_t &domaine, int_t &elem, int_t num_premier_elem, int_t nb_elem) const
Adds the new elements into the sub-domains.
virtual Entree & interpreter_(Entree &is)=0
void associer_domaine(Nom &nom_dom)
Entree & interpreter(Entree &is) override
Domaine_t & domaine(int i=0)
Domaine_32_64< _SIZE_ > Domaine_t
Base class for "interpreter" objects.
static Objet_U & objet(const Nom &)
See Interprete_bloc::objet_global(). BM: the Interprete class is not the best place for this.
void associer_domaine(const Domaine_t &)
Associates a domain with all joints in the list.
class Nom: a character string for naming TRUST objects.
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
static void imprimer_ram_totale(int all_process=0)
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
void associer_domaine(const Domaine_t &)
Associates a domain with all connectors in the list.
Base class for output streams.
Sous_Domaine represents a volumic sub-domain i.e. a sub set of elements of a Domaine.
void add_elem(const int_t poly)
Adds a polyhedron to the subdomain.
const Nom & le_nom() const override
Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
int_t nb_elem_tot() const