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
Returns the requested property.
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.
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
Returns the list of possible "queries" for the field.
virtual const IntTab & get_ref_connectivity(Entity index1, Entity index2) const
Returns the connectivity array between the geometric entity index1 and entity index2.
static int composante(const Nom &nom_test, const Nom &nom, const Noms &composantes, const Noms &synonyms)
int reprendre(Entree &is) override
Restores an Objet_U from an input stream. Virtual method to override.
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
Returns a ref to the discretized boundary conditions domain of the equation carrying the target field...
virtual double get_time() const
Returns the time of the Champ_Generique_base.
virtual int get_dimension() const
Returns the dimension of the space in which the field is defined.
virtual void get_copy_values(DoubleTab &) const
Fills the values array with the discrete values of the field (creates a copy).
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
Reads non-simple-type parameters of an Objet_U from an input stream.
virtual int get_nb_localisations() const
virtual void get_copy_domain(Domaine &) const
Creates a copy of the domain on which the storage space will be evaluated.
virtual const DoubleTab & get_ref_coordinates() const
Returns a reference to the array of coordinates of the vertices of the mesh supporting the field,...
virtual void get_xyz_values(const DoubleTab &coords, DoubleTab &values, ArrOfBit &validity_flag) const
Computes the point value of the field at the coordinates given in coords and puts them in values.
virtual const DoubleTab & get_ref_values() const
Returns a reference to the array of discrete values if it exists in memory.
virtual const Nom & get_nom_post() const
virtual const Probleme_base & get_ref_pb_base() const
Returns the problem that carries the target field.
virtual Entity get_localisation(const int index=-1) const
Returns the type of geometric entities on which the discrete values are attached (NODE for a P1 field...
int sauvegarder(Sortie &os) const override
Saves an Objet_U to an output stream. Virtual method to override.
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
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.
virtual const Motcle get_directive_pour_discr() const
Returns the directive (champ_elem, champ_sommets, champ_face or pression) to launch the discretizatio...
virtual const Discretisation_base & get_discretisation() const
Returns the discretization associated with the problem.
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)
class Champ_base This class is the base of the fields hierarchy.
class Discretisation_base This class represents a spatial discretization scheme, which
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
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.
An array of character strings (VECT(Nom)).
const Nom & que_suis_je() const
Returns the string identifying the class.
Objet_U()
Default constructor: assigns a unique identifier to the object (object_id_) and registers the object ...
Helper class to factorize the readOn method of Objet_U classes.
Base class for all post-processing objects.
class Probleme_base It is a Probleme_U that is not a coupling.
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.