16#include <Champ_Generique_refChamp.h>
17#include <Champ_Inc_P0_base.h>
18#include <Champ_Inc_P1_base.h>
19#include <Champ_Fonc_P0_base.h>
20#include <Champ_Fonc_P1_base.h>
21#include <Domaine_VF.h>
22#include <Champ_Uniforme.h>
23#include <Champ_Inc_Q1_base.h>
24#include <Champ_Fonc_Q1_base.h>
25#include <Equation_base.h>
26#include <Synonyme_info.h>
28#include <Postraitement.h>
67 Cerr <<
"Error in Champ_Generique_refChamp ::lire(keyword=\"pb_champ\"\n"
68 <<
" The object " <<
nom_pb_ <<
" is not a Probleme_base" << finl;
83 else if (mot==
"nom_source")
121 list.add(
"nom_cible");
123 list.add(
"composantes");
124 list.add(
"synonyms");
132 motcles[1] =
"nom_cible";
133 motcles[2] =
"unites";
134 motcles[3] =
"composantes";
135 motcles[4] =
"synonyms";
137 int rang = motcles.
search(query);
157 if (mots.size()!=mots0.size())
159 Cerr<<
"iuuuuuu"<<mots<<
" "<<mots0<<finl;
162 for (
int i=0; i<mots.size(); i++)
164 if (mots0[i]!=mots[i])
166 Cerr <<
" iiiiiiiiii"<<mots0[i]<<
" "<<mots[i]<<finl;
187 int nb_comp = mots.size();
190 for (
int i=0; i<nb_comp; i++)
199 Cerr<<
"The identifiable properties are : "<<motcles<<finl;
227 loc = Entity::ELEMENT;
242 Nom message=
"Invalid localization used for postprocessing the field ";
243 message+=ch.
le_nom()+
". Change your data file.";
289 Cerr<<
"No zcl_dis is available for the field "<<ch.
que_suis_je()<<finl;
313 const Domaine& domaine = domaine_dis_base.
domaine();
318 case Entity::ELEMENT:
323 return domaine.les_elems();
339 case Entity::ELEMENT:
353 Nom message=
"Invalid localization used for postprocessing the field ";
354 message+=ch.
le_nom()+
". Change your data file.";
367 return ref_pb_.valeur();
382 return ref_champ_.valeur();
415 ref_pb_->get_champ(nom_cible);
444 else if (type ==
"CHAMP_P1")
452 else if (type ==
"CHAMP_P1NC")
485 directive =
"champ_sommets";
491 if ((type.
debute_par(
"Champ_Face")) || (type==
"Champ_P1NC") || (type==
"Champ_Q1NC") ||
492 (type==
"Champ_Fonc_Face") || (type==
"Champ_Fonc_P1NC") || (type==
"Champ_Fonc_Q1NC"))
494 directive =
"champ_face";
497 else if ((type==
"Champ_P1_isoP1Bulle") || (type==
"Champ_Fonc_P1_isoP1Bulle"))
499 directive =
"pression";
503 directive =
"champ_uniforme";
508 directive =
"champ_don";
513 Cerr<<
"No directive is available to create a storing field for the source field of type "<<ch.
que_suis_je()<<finl;
533 Nom nom_post_source, nom_champ_base, nom_dom_natif;
537 nom_post_source = nom_champ_base +
"_natif_" + ref_cast_non_const(
Postraitement, post).domaine()->
le_nom();
542 nom_post_source = nom_champ_base +
"_natif_" + nom_dom_natif;
classe Champ_Don_base classe de base des Champs donnes (non calcules)
: class Champ_Fonc_P1_base
: class Champ_Fonc_Q1_base
class Champ_Generique_base
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.
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.
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.
Classe de champ particuliere qui encapsule une reference a un champ volumique de TRUST de type Champ_...
void initialize(const Champ_base &champ)
On initialise la classe avec le champ en parametre.
void get_xyz_values(const DoubleTab &coords, DoubleTab &values, ArrOfBit &validity_flag) const override
appel a Champ_base::valeur_aux()
int get_dimension() const override
Renvoie le nombre de coordonnees de chaque sommet du domaine.
void mettre_a_jour(double temps) override
Voir Champ_Generique_base::mettre_a_jour Si le champ est champ_inc dans l'equation,...
virtual void set_ref_champ(const Champ_base &)
Associe le champ et determine sa localisation.
void get_copy_values(DoubleTab &) const override
Cree une copie du tableau de valeurs Voir GenericField_base::get_copy_values().
void nommer_source(const Postraitement_base &post)
void get_property_names(Motcles &list) const override
Renvoie la liste des "query" possibles pour le champ.
virtual const Champ_base & get_ref_champ_base() const
Renvoie le champ_base sous-jacent.
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.
double get_time() const override
Renvoie le temps du Champ_Generique_base.
int get_info_type_post() const override
const DoubleTab & get_ref_values() const override
Verifie que le champ est bien un champ discret et renvoie le tableau de valeurs.
OWN_PTR(Champ_base) ptr_champ_
const Champ_base & get_champ(OWN_PTR(Champ_base)&espace_stockage) const override
Voir Champ_Generique_base::get_champ.
const DoubleTab & get_ref_coordinates() const override
Renvoie une reference au tableau des coordonnees des sommets du maillage support du champ,...
const Domaine_Cl_dis_base & get_ref_zcl_dis_base() const override
Renvoie une ref au domaine_cl_discretisee de l equation portant le champ cible.
void get_copy_coordinates(DoubleTab &) const override
const Motcle get_directive_pour_discr() const override
Renvoie la directive (champ_elem, champ_sommets, champ_face ou pression) pour lancer la discretisatio...
void set_param(Param ¶m) const override
pb_champ : declenche la lecture du nom du probleme (nom_pb_) auquel appartient le champ discret et le...
const Champ_base & get_champ_without_evaluation(OWN_PTR(Champ_base)&espace_stockage) const override
OBS_PTR(Champ_base) ref_champ_
const Probleme_base & get_ref_pb_base() const override
Renvoie le probleme qui porte le champ cible.
Entity get_localisation(const int index=-1) const override
Si le champ n'est pas un champ discret : exception Champ_Generique_erreur("INVALID") Sinon,...
const Noms & fixer_noms_synonyms(const Noms &noms) override
void get_copy_connectivity(Entity index1, Entity index2, IntTab &) const override
const Noms & fixer_noms_compo(const Noms &noms) override
const IntTab & get_ref_connectivity(Entity index1, Entity index2) const override
Renvoie le tableau de connectivite entre l'entite geometrique index1 et l'entite index2.
const Noms get_property(const Motcle &query) const override
Renvoie la propriete demandee.
void set_nom_champ(const Motcle &)
void completer(const Postraitement_base &post) override
: class Champ_Inc_P0_base
virtual DoubleTab & valeurs()=0
classe Champ_base Cette classe est la base de la hierarchie des champs.
virtual const Domaine_dis_base & domaine_dis_base() const
double temps() const
Renvoie le temps du champ.
void corriger_unite_nom_compo()
cette methode va fixer les unites et le nom des compos elle n'est pas const en realite !...
const DoubleTab_t & coord_sommets() const
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
int face_sommets(int i, int j) const
renvoie le numero du ieme sommet de la face num_face.
int elem_faces(int i, int j) const
renvoie le numero de le ieme face de la maille num_elem la facon dont ces faces sont numerotees est
int face_voisins(int num_face, int i) const
renvoie l'element voisin de numface dans la direction i.
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 Domaine & domaine() const
Class defining operators and methods for all reading operation in an input flow (file,...
const Nom & le_nom() const override
Renvoie le nom du champ.
const Noms & get_synonyms() const
bool is_quadrature() const
const Noms & unites() const
Renvoie les unites des composantes du champ.
bool is_basis_function() const
const Noms & noms_compo() const
Renvoie le tableau des noms des composantes du champ.
static Objet_U & objet(const Nom &)
Voir Interprete_bloc::objet_global() BM: la classe Interprete n'est pas le meilleur endroit pour cett...
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
virtual int debute_par(const char *const n) const
Nom & majuscule()
Transforme le nom en majuscules Seules les lettres 'a'-'z' sont modifiees.
const Nom & le_nom() const override
Renvoie *this;.
Un tableau de chaine de caracteres (VECT(Nom)).
const Interprete & interprete() const
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.
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Helper class to factorize the readOn method of Objet_U classes.
void ajouter_non_std(const char *keyword, const Objet_U *value, Param::Nature nat=Param::OPTIONAL)
Register a keyword handled by Objet_U::lire_motcle_non_standard.
Classe de base pour l'ensemble des postraitements.
classe Postraitement La classe est dotee -d une liste de champs generiques champs_post_complet_ qui c...
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
void creer_champ(const Motcle &motlu) override
const Champ_base & get_champ(const Motcle &nom) const override
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
_SIZE_ dimension(int d) const