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;
class Champ_Don_base base class of Given Fields (not calculated)
: 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
Returns a ref to the discretized domain on which the storage space will be evaluated.
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
void nommer(const Nom &nom) override
Assigns a name to the Objet_U. Virtual method to override.
virtual const Domaine & get_ref_domain() const
Returns a ref to the domain on which the storage space will be evaluated.
Special field class that encapsulates a reference to a volume field of TRUST of type Champ_base.
void initialize(const Champ_base &champ)
Initialize the class with the given field.
void get_xyz_values(const DoubleTab &coords, DoubleTab &values, ArrOfBit &validity_flag) const override
call to Champ_base::valeur_aux()
int get_dimension() const override
Returns the number of coordinates of each vertex of the domain.
void mettre_a_jour(double temps) override
See Champ_Generique_base::mettre_a_jour If the field is a champ_inc in the equation,...
virtual void set_ref_champ(const Champ_base &)
Associates the field and determines its localisation.
void get_copy_values(DoubleTab &) const override
Creates a copy of the value array. See GenericField_base::get_copy_values().
void nommer_source(const Postraitement_base &post)
void get_property_names(Motcles &list) const override
Returns the list of possible "queries" for the field.
virtual const Champ_base & get_ref_champ_base() const
Returns the underlying champ_base.
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
double get_time() const override
Returns the time of the Champ_Generique_base.
int get_info_type_post() const override
const DoubleTab & get_ref_values() const override
Verifies that the field is indeed a discrete field and returns the value array.
OWN_PTR(Champ_base) ptr_champ_
const Champ_base & get_champ(OWN_PTR(Champ_base)&espace_stockage) const override
See Champ_Generique_base::get_champ.
const DoubleTab & get_ref_coordinates() const override
Returns a reference to the array of coordinates of the vertices of the mesh supporting the field,...
const Domaine_Cl_dis_base & get_ref_zcl_dis_base() const override
Returns a ref to the discretized boundary conditions domain of the equation carrying the target field...
void get_copy_coordinates(DoubleTab &) const override
const Motcle get_directive_pour_discr() const override
Returns the directive (champ_elem, champ_sommets, champ_face or pression) to launch the discretizatio...
void set_param(Param ¶m) const override
pb_champ : triggers the reading of the problem name (nom_pb_) to which the discrete field belongs and...
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
Returns the problem that carries the target field.
Entity get_localisation(const int index=-1) const override
If the field is not a discrete field: exception Champ_Generique_erreur("INVALID") Otherwise,...
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
Returns the connectivity array between the geometric entity index1 and entity index2.
const Noms get_property(const Motcle &query) const override
Returns the requested property.
void set_nom_champ(const Motcle &)
void completer(const Postraitement_base &post) override
: class Champ_Inc_P0_base
virtual DoubleTab & valeurs()=0
class Champ_base This class is the base of the fields hierarchy.
virtual const Domaine_dis_base & domaine_dis_base() const
double temps() const
Returns the time of the field.
void corriger_unite_nom_compo()
This method will set the units and the name of components, it is not actually const!...
const DoubleTab_t & coord_sommets() const
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
int face_sommets(int i, int j) const
Returns the index of the i-th vertex of face num_face.
int elem_faces(int i, int j) const
Returns the index of the i-th face of element num_elem; the face numbering convention is.
int face_voisins(int num_face, int i) const
Returns the neighbouring element of num_face in direction i.
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 Domaine & domaine() const
Class defining operators and methods for all reading operation in an input flow (file,...
const Nom & le_nom() const override
Returns the name of the field.
const Noms & get_synonyms() const
bool is_quadrature() const
const Noms & unites() const
Returns the units of the field components.
bool is_basis_function() const
const Noms & noms_compo() const
Returns the array of names of the field components.
static Objet_U & objet(const Nom &)
See Interprete_bloc::objet_global(). BM: the Interprete class is not the best place for this.
A character string (Nom) in uppercase.
An array of Motcle objects.
int search(const Motcle &t) const
class Nom: a character string for naming TRUST objects.
virtual int debute_par(const char *const n) const
Nom & majuscule()
Converts the name to uppercase. Only letters 'a'-'z' are modified.
const Nom & le_nom() const override
Returns *this.
An array of character strings (VECT(Nom)).
const Interprete & interprete() const
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.
Objet_U()
Default constructor: assigns a unique identifier to the object (object_id_) and registers the object ...
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
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.
Base class for all post-processing objects.
class Postraitement. The class holds -a list of generic fields champs_post_complet_ containing
class Probleme_base It is a Probleme_U that is not a coupling.
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)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.
_SIZE_ dimension(int d) const