16#ifndef Champ_Generique_base_included
17#define Champ_Generique_base_included
19#include <TRUST_Deriv.h>
31enum class Entity { NODE, SEGMENT, FACE, ELEMENT };
74 virtual void get_xyz_values(
const DoubleTab& coords, DoubleTab& values, ArrOfBit& validity_flag)
const;
138 Cerr <<
"The method " << __func__ <<
" is not overloaded in " <<
que_suis_je() << finl;
143 Cerr <<
"The method " << __func__ <<
" is not overloaded in " <<
que_suis_je() << finl;
161 for (
auto& itr : syno)
162 if (itr==motlu)
return -1;
163 int n = composantes.size();
165 for (
int i=0; i<n; i++)
166 les_noms_comp[i] = composantes[i];
167 int ncomp = les_noms_comp.
search(motlu);
170 Cerr <<
"Error TRUST, the identifier : " << nom_test << finl
171 <<
"did not designate the name of the field tested nor any of its components\n";
172 Cerr <<
" the components of field named "<<nom <<
" are :"<< finl;
173 for (
int ii=0; ii<n; ii++)
174 Cerr << composantes[ii] <<
" ";
194 Cerr<<
"Error of type : "<<
mot1<<finl;
class Champ_Generique_base
virtual const Noms get_property(const Motcle &query) const
Renvoie la propriete demandee.
virtual const Domaine_dis_base & get_ref_domaine_dis_base() const
Renvoie une ref au domaine_discretisee du domaine sur lequel sera evalue l espace de stockage.
virtual bool has_champ_post(const Motcle &nom) const
virtual void mettre_a_jour(double temps)=0
virtual const Noms & fixer_noms_compo(const Noms &noms)
virtual void get_property_names(Motcles &list) const
Renvoie la liste des "query" possibles pour le champ.
virtual const IntTab & get_ref_connectivity(Entity index1, Entity index2) const
Renvoie le tableau de connectivite entre l'entite geometrique index1 et l'entite index2.
static int composante(const Nom &nom_test, const Nom &nom, const Noms &composantes, const Noms &synonyms)
int reprendre(Entree &is) override
Reprise d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual const Champ_base & get_champ(OWN_PTR(Champ_base) &espace_stockage) const =0
virtual int comprend_champ_post(const Motcle &identifiant) const
virtual void get_copy_connectivity(Entity index1, Entity index2, IntTab &) const
void fixer_identifiant_appel(const Nom &identifiant)
virtual void set_param(Param ¶m) const override=0
virtual const Noms & fixer_noms_synonyms(const Noms &noms)
virtual const Champ_Generique_base & get_champ_post(const Motcle &nom) const
virtual const Domaine_Cl_dis_base & get_ref_zcl_dis_base() const
Renvoie une ref au domaine_cl_discretisee de l equation portant le champ cible.
virtual double get_time() const
Renvoie le temps du Champ_Generique_base.
virtual int get_dimension() const
Renvoie la dimension de l'espace dans lequel le champ est defini.
virtual void get_copy_values(DoubleTab &) const
Remplit le tableau values avec les valeurs discretes du champ (cree une copie).
virtual int get_info_type_post() const =0
virtual std::vector< YAML_data > data_a_sauvegarder() const
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.
virtual int get_nb_localisations() const
virtual void get_copy_domain(Domaine &) const
Cree une copie du domaine sur lequel sera evalue l espace de stockage.
virtual const DoubleTab & get_ref_coordinates() const
Renvoie une reference au tableau des coordonnees des sommets du maillage support du champ,...
virtual void get_xyz_values(const DoubleTab &coords, DoubleTab &values, ArrOfBit &validity_flag) const
Calcule la valeur ponctuelle du champ aux coordonnees donnees dans coords et les met dans values.
virtual const DoubleTab & get_ref_values() const
Renvoie une reference au tableau de valeurs discretes s'il existe en memoire.
virtual const Nom & get_nom_post() const
virtual const Probleme_base & get_ref_pb_base() const
Renvoie le probleme qui porte le champ cible.
virtual Entity get_localisation(const int index=-1) const
Renvoie le type des entites geometriques sur auxquelles les valeurs discretes sont attachees (NODE po...
int sauvegarder(Sortie &os) const override
Sauvegarde d'un Objet_U sur un flot de sortie Methode a surcharger.
virtual void get_copy_coordinates(DoubleTab &) const
virtual const Champ_base & get_champ_without_evaluation(OWN_PTR(Champ_base)&espace_stockage) const =0
void nommer(const Nom &nom) override
Donne un nom a l'Objet_U Methode virtuelle a surcharger.
virtual const Domaine & get_ref_domain() const
Renvoie une ref au domaine sur lequel sera evalue l espace de stockage.
virtual const Motcle get_directive_pour_discr() const
Renvoie la directive (champ_elem, champ_sommets, champ_face ou pression) pour lancer la discretisatio...
virtual const Discretisation_base & get_discretisation() const
Renvoie la discretisation associee au probleme.
OBS_PTR(Probleme_base) ref_pb_
virtual void completer(const Postraitement_base &post)=0
static void assert_parallel(int)
Champ_Generique_erreur(const Nom &mot2)
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,...
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Une chaine de caractere (Nom) en majuscules.
Un tableau d'objets de la classe Motcle.
int search(const Motcle &t) const
class Nom Une chaine de caractere pour nommer les objets de TRUST
Un tableau de chaine de caracteres (VECT(Nom)).
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
Helper class to factorize the readOn method of Objet_U classes.
Classe de base pour l'ensemble des postraitements.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.