16#ifndef TRUSTChamp_Morceaux_generique_included
17#define TRUSTChamp_Morceaux_generique_included
19#include <Champ_Uniforme.h>
20#include <Champ_Don_base.h>
21#include <Probleme_base.h>
22#include <TRUST_Vector.h>
23#include <TRUST_List.h>
26#include <Domaine_forward.h>
28enum class Champ_Morceaux_Type { FONC , FONC_TXYZ , FONC_TABULE , UNIFORME };
30template <Champ_Morceaux_Type _TYPE_>
37 DoubleVect&
valeur_a(
const DoubleVect& position, DoubleVect&
valeurs)
const override;
39 DoubleVect&
valeur_a_elem(
const DoubleVect& position, DoubleVect&
valeurs,
int le_poly)
const override;
41 double valeur_a_elem_compo(
const DoubleVect& position,
int le_poly,
int ncomp)
const override;
43 DoubleTab&
valeur_aux(
const DoubleTab& positions, DoubleTab&
valeurs)
const override;
47 DoubleTab&
valeur_aux_elems(
const DoubleTab& positions,
const IntVect& les_polys, DoubleTab&
valeurs)
const override;
55 const OBS_PTR(Domaine)& domaine()
const {
return mon_domaine; }
56 OBS_PTR(Domaine)& domaine() {
return mon_domaine; }
57 const LIST(
OBS_PTR(Sous_Domaine))& sous_domaines()
const {
return les_sous_domaines; }
58 LIST(
OBS_PTR(Sous_Domaine))& sous_domaines() {
return les_sous_domaines; }
75#include <TRUSTChamp_Morceaux_generique.tpp>
class Champ_Don_base base class of Given Fields (not calculated)
DoubleTab & valeurs() override
Overrides Champ_base::valeurs() Returns the array of values.
Champ_base()
Default constructor of a Champ_base.
double temps() const
Returns the time of the field.
Class defining operators and methods for all reading operation in an input flow (file,...
class Nom: a character string for naming TRUST objects.
class Parser_U Version of the Parser class, deriving from Objet_U.
class Probleme_base It is a Probleme_U that is not a coupling.
void interprete_get_domaine(const Nom &nom)
Entree & complete_readOn(const int dim, const Nom &qsj, Entree &is, Nom &nom)
DoubleVect & valeur_aux_elems_compo(const DoubleTab &positions, const IntVect &les_polys, DoubleVect &valeurs, int ncomp) const override
Returns the values of one component of the field at the points specified by their coordinates,...
void creer_tabs(const int)
DoubleVect & valeur_a_elem(const DoubleVect &position, DoubleVect &valeurs, int le_poly) const override
Returns the value of the field at the point specified by its coordinates, indicating that this point ...
DoubleTab & valeur_aux(const DoubleTab &positions, DoubleTab &valeurs) const override
Returns the values of the field at the points specified by their coordinates.
const OBS_PTR(Domaine) &domaine() const
bool read_pb_instead_of_domain
OBS_PTR(Domaine) mon_domaine
LIST(OBS_PTR(Sous_Domaine)) les_sous_domaines
const LIST(OBS_PTR(Sous_Domaine)) &sous_domaines() const
void mettre_a_jour(double temps) override
Time update.
OBS_PTR(Probleme_base) ref_pb
OBS_PTR(Domaine) &domaine()
DoubleTab & valeur_aux_elems(const DoubleTab &positions, const IntVect &les_polys, DoubleTab &valeurs) const override
Returns the values of the field at the points specified by their coordinates, indicating that the com...
Champ_base & affecter_(const Champ_base &ch) override
Causes an error! To be overridden by derived classes! Not a pure virtual for development convenience!
DoubleVect & valeur_aux_compo(const DoubleTab &positions, DoubleVect &valeurs, int ncomp) const override
Returns the values of one component of the field at the points specified by their coordinates.
int initialiser(const double temps) override
DOES NOTHING.
LIST(OBS_PTR(Sous_Domaine)) &sous_domaines()
DoubleVect & valeur_a(const DoubleVect &position, DoubleVect &valeurs) const override
Returns the value of the field at the point specified by its coordinates.
double valeur_a_elem_compo(const DoubleVect &position, int le_poly, int ncomp) const override
Returns the value of one component of the field at the point specified by its coordinates,...