16#include <Build_Map_to_Structured.h>
17#include <Discretisation_base.h>
18#include <Frontiere_dis_base.h>
19#include <Domaine_dis_base.h>
20#include <Probleme_base.h>
21#include <Sous_Domaine.h>
89 Cerr <<
"We did not find the boundary name " << nom <<
" on the domain " <<
domaine().
le_nom() << finl;
90 Cerr <<
"Check the given boundary name or the domain." << finl;
100 Cerr <<
"We did not find the boundary name " << nom <<
" on the domain " <<
domaine().
le_nom() << finl;
101 Cerr <<
"Check the given boundary name or the domain." << finl;
117 Cerr <<
"Domaine_dis_base::creer_elements_fictifs should be overloaded by "<<
que_suis_je() <<finl;
124 Cerr <<
que_suis_je() <<
"does not implement the method face_sommets()"
132 Cerr <<
que_suis_je() <<
"does not implement the method face_sommets()"
140 Cerr <<
que_suis_je() <<
"does not implement the method face_aretes()"
148 Cerr <<
que_suis_je() <<
"does not implement the method face_aretes()"
156 Cerr <<
que_suis_je() <<
"does not implement the method face_voisins()"
164 Cerr <<
que_suis_je() <<
"does not implement the method face_voisins()"
181 ze_typ.
suffix(
"NO_FACE_");
182 bool face_ok = (ze_typ == typ);
184 const Domaine& dom = le_dom_.valeur();
202 Cerr <<
"In Domaine_dis_base::discretiser(), impossible to find a Domain corresponding to sous_domaine " << i << finl;
212 if (motlu ==
"VOLUME_MAILLE" && !volume_maille_)
217 else if (motlu ==
"MESH_NUMBERING" && !mesh_numbering_)
226 if (un_nom ==
"VOLUME_MAILLE")
228 else if (un_nom ==
"MESH_NUMBERING")
231 throw std::runtime_error(std::string(
"Field ") + un_nom.
getString() + std::string(
" not found !"));
236 if (un_nom ==
"VOLUME_MAILLE")
241 else if (un_nom ==
"MESH_NUMBERING")
251 if (un_nom ==
"VOLUME_MAILLE" || un_nom ==
"MESH_NUMBERING")
260 noms_compris.add(
"VOLUME_MAILLE");
261 noms_compris.add(
"MESH_NUMBERING");
262 if (opt==DESCRIPTION)
265 nom.add(noms_compris);
static int BUILD_MAP_TO_STRUCTURED
classe Champ_base Cette classe est la base de la hierarchie des champs.
classe Discretisation_base Cette classe represente un schema de discretisation en espace,...
void mesh_numbering(const Schema_Temps_base &sch, const Domaine_dis_base &z, OWN_PTR(Champ_Fonc_base)&ch) const
void volume_maille(const Schema_Temps_base &sch, const Domaine_dis_base &z, OWN_PTR(Champ_Fonc_base)&ch) const
const Reorder_Mesh & get_reorder() const
const Sous_Domaine_t & ss_domaine(int i) const
int nb_ss_domaines() const
void ecrire_noms_bords(Sortie &) const
Ecriture des noms des bords sur un flot de sortie.
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
const Nom & le_nom() const override
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
const Frontiere_dis_base & frontiere_dis(const Nom &) const
Renvoie la frontiere de Nom nom.
virtual void build_map_mc_Cmesh(const bool with_faces)
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
Champs_compris champs_compris_
virtual IntTab & face_voisins()
int nombre_de_sous_domaines_dis() const
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
virtual void discretiser_no_face()=0
int rang_frontiere(const Nom &)
const Champ_Fonc_base & mesh_numbering() const
virtual IntTab & face_sommets()
void completer(const Discretisation_base &disc)
const Sous_domaine_dis_base & sous_domaine_dis(int i) const
void creer_champ(const Motcle &motlu) override
virtual void discretiser()
const Domaine & domaine() const
const Champ_base & get_champ(const Motcle &) const override
void associer_domaine(const Domaine &)
Associe un Domaine a l'objet.
TRUST_Vector< OWN_PTR(Sous_domaine_dis_base)> les_sous_domaines_dis_
virtual IntTab & face_aretes()
void discretiser_root(const Nom &typ)
const Champ_Fonc_base & volume_maille() const
void ecrire_noms_bords(Sortie &) const
Ecriture des noms des bords sur un flot de sortie.
virtual void typer_discretiser_ss_domaine(int i)=0
virtual void creer_elements_fictifs(const Domaine_Cl_dis_base &)
Class defining operators and methods for all reading operation in an input flow (file,...
classe Frontiere_dis_base Classe representant une frontiere discretisee.
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
Nom & suffix(const char *const)
Extraction de suffixe : Nom x("azerty");.
const std::string & getString() const
Un tableau de chaine de caracteres (VECT(Nom)).
classe Objet_U Cette classe est la classe de base des Objets de TRUST
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
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 const Nom & le_nom() const
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
const Discretisation_base & discretisation() const
Renvoie la discretisation associee au probleme.
const Schema_Temps_base & schema_temps() const
Renvoie le schema en temps associe au probleme.
const Domaine_dis_base & domaine_dis() const
Renvoie le domaine discretise associe au probleme.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
Cette classe est a la base de la hierarchie des sous-domaines discretises. Au moment de la discretisa...