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
class Champ_base This class is the base of the fields hierarchy.
class Discretisation_base This class represents a spatial discretization scheme, which
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
Writes the boundary names to an output stream.
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
const Nom & le_nom() const override
Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
const Frontiere_dis_base & frontiere_dis(const Nom &) const
Returns the boundary of Name 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 &)
Associates a Domain with the object.
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
Writes the boundary names to an output stream.
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,...
class Frontiere_dis_base Class representing a discretized boundary.
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
Nom & suffix(const char *const)
Suffix extraction: Nom x("azerty");.
const std::string & getString() const
An array of character strings (VECT(Nom)).
Base class for TRUST objects (Objet_U).
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 int est_egal_a(const Objet_U &) const
Returns 1 if x and *this are the same instance (same memory address).
virtual const Nom & le_nom() const
Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
class Probleme_base It is a Probleme_U that is not a coupling.
const Discretisation_base & discretisation() const
Returns the discretization associated with the problem.
const Schema_Temps_base & schema_temps() const
Returns the time scheme associated with the problem.
const Domaine_dis_base & domaine_dis() const
Returns the discretized domain associated with the problem (const version).
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.
This class is at the base of the discretized sub-domain hierarchy. At the time of domain discretizati...