16#ifndef Champ_Inc_base_included
17#define Champ_Inc_base_included
19#include <Interface_blocs.h>
20#include <Domaine_forward.h>
21#include <Domaine_VF.h>
22#include <Champ_base.h>
23#include <Domaine_VF.h>
80 DoubleVect&
valeur_a(
const DoubleVect& position, DoubleVect&
valeurs)
const override;
81 DoubleTab&
valeur_aux(
const DoubleTab& positions, DoubleTab&
valeurs)
const override;
92 DoubleTab&
valeurs(
double temps)
override;
93 const DoubleTab&
valeurs(
double temps)
const override;
96 operator DoubleTab& () =
delete;
97 operator const DoubleTab& ()
const =
delete;
105 inline const DoubleTab&
futur(
int i = 1)
const override {
return les_valeurs->futur(i).valeurs(); }
113 inline const DoubleTab&
passe(
int i = 1)
const override {
return les_valeurs->passe(i).valeurs(); }
138 const Domaine&
domaine()
const;
const Domaine & domaine() const
void set_via_ch_fonc_reprise()
void set_val_bord_fluide_multiphase(const bool flag)
void associer_domaine_dis_base(const Domaine_dis_base &) override
virtual int remplir_coord_noeuds_et_polys(DoubleTab &, IntVect &) const
NE FAIT RIEN Methode a surcharger.
virtual void creer_tableau_distribue(const MD_Vector &, RESIZE_OPTIONS=RESIZE_OPTIONS::COPY_INIT)
DoubleTab & futur(int i=1) override
Renvoie les valeurs du champs a l'instant t+i.
int fixer_nb_valeurs_nodales(int) override
int lire_donnees(Entree &)
Lit les valeurs du champs a partir d'un flot d'entree.
virtual void associer_domaine_cl_dis(const Domaine_Cl_dis_base &)
DoubleTab & passe(int i=1) override
Renvoie les valeurs du champs a l'instant t-i.
bool via_ch_fonc_reprise_
virtual int fixer_nb_valeurs_temporelles(int)
Fixe le nombre de valeurs temporelles a conserver.
void init_champ_calcule(const Objet_U &obj, fonc_calc_t fonc)
virtual int nb_valeurs_temporelles() const
Renvoie le nombre de valeurs temporelles actuellement conservees.
bool bord_fluide_multiphase_
DoubleVect & valeur_aux_compo(const DoubleTab &positions, DoubleVect &valeurs, int ncomp) const override
Calcule les valeurs du champs inconnue aux positions specifiees, pour une certaine composante du cham...
const Domaine_Cl_dis_base & domaine_Cl_dis() const
void mettre_a_jour(double temps) override
Effectue une mise a jour en temps du champ inconnue.
virtual DoubleTab & remplir_coord_noeuds_compo(DoubleTab &, int) const
Simple appel a Champ_Inc_base::remplir_coord_noeuds(DoubleTab&).
void resetTime(double time) override
const Domaine_dis_base & domaine_dis_base() const override
double changer_temps(const double temps) override
Fixe le temps du champ.
OBS_PTR(Domaine_VF) le_dom_VF
void set_PDI_dname(const Nom &name)
virtual std::vector< YAML_data > data_a_sauvegarder() const
for PDI IO: retrieve name, type and dimensions of the field to save/restore.
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
virtual void associer_eqn(const Equation_base &)
Associe le champ a l'equation dont il represente une inconnue.
const DoubleTab & valeurs() const override
OBS_PTR(Domaine_Cl_dis_base) mon_dom_cl_dis
virtual int remplir_coord_noeuds_et_polys_compo(DoubleTab &, IntVect &, int) const
Simple appel a: Champ_Inc_base::remplir_coord_noeuds_et_polys(DoubleTab&,IntVect& poly).
virtual void verifie_valeurs_cl()
void PDI_save_type(bool b)
int sauvegarder(Sortie &) const override
Sauvegarde le champ inconnue sur un flot de sortie.
Champ_Inc_base & avancer(int i=1)
Avance le pointeur courant de i pas de temps, dans la liste des valeurs temporelles conservees.
double changer_temps_passe(double, int i=1)
Fixe le temps du ieme champ passe.
virtual double integrale_espace(int ncomp) const
int nb_valeurs_nodales() const override
Returns the number of "real" geometric positions of the degrees of freedom, or -1 if not applicable (...
const Domaine_VF & domaine_vf() const
DoubleVect & valeur_a(const DoubleVect &position, DoubleVect &valeurs) const override
Calcule la valeur du champs inconnue a la position specifiee.
double recuperer_temps_passe(int i=1) const
Retourne le temps du ieme champ passe.
virtual DoubleTab & remplir_coord_noeuds(DoubleTab &) const =0
int a_un_domaine_dis_base() const override
Champ_Inc_base & reculer(int i=1)
Recule le pointeur courant de i pas de temps, dans la liste des valeurs temporelles conservees.
int reprendre(Entree &) override
Lecture d'un champ inconnue a partir d'un flot d'entree en vue d'une reprise.
DoubleTab & trace(const Frontiere_dis_base &, DoubleTab &, double, int distant) const override
voir Champ_base Cas particulier (malheureusement) du Champ_P0_VDF :
const DoubleTab & passe(int i=1) const override
DoubleTab & valeur_aux(const DoubleTab &positions, DoubleTab &valeurs) const override
Calcule les valeurs du champs inconnue aux positions specifiees.
virtual void creer_espace_distant(int dummy)
Champ_base & affecter_compo(const Champ_base &, int compo) override
Affectation d'une composante d'un OWN_PTR(Champ_base) quelconque (Champ_base) dans une composante d'u...
bool via_ch_fonc_reprise() const
Champ_base & affecter_(const Champ_base &) override
Affectation d'un OWN_PTR(Champ_base) generique (Champ_base) dans un champ inconnue.
Nom get_PDI_dname() const
for PDI IO: retrieve the name of the HDF5 dataset in which the field will be saved or be restored fro...
const DoubleTab & futur(int i=1) const override
void reset_champ_calcule()
int imprime(Sortie &, int) const override
const tabs_t & derivees() const
DoubleTab valeur_aux_bords() const override
renvoie la valeur du champ aux faces de bord
double recuperer_temps_futur(int i=1) const
Retourne le temps du ieme champ futur.
double changer_temps_futur(double, int i=1)
Fixe le temps du ieme champ futur.
classe Champ_base Cette classe est la base de la hierarchie des champs.
Champ_base()
Constructeur par defaut d'un Champ_base.
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.
Class defining operators and methods for all reading operation in an input flow (file,...
classe Equation_base Le role d'une equation est le calcul d'un ou plusieurs champs....
classe Frontiere_dis_base Classe representant une frontiere discretisee.
: Cette classe est un OWN_PTR mais l'objet pointe est partage entre plusieurs
classe MorEqn Classe qui regroupe les fonctionnalites de liaison avec une
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
classe Objet_U Cette classe est la classe de base des Objets de TRUST
Classe de base des flux de sortie.
classe YAML_data : collection of all needed information for data to save/restore in order to write th...