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
DOES NOTHING. Method to override.
virtual void creer_tableau_distribue(const MD_Vector &, RESIZE_OPTIONS=RESIZE_OPTIONS::COPY_INIT)
DoubleTab & futur(int i=1) override
Returns field values at instant t+i.
int fixer_nb_valeurs_nodales(int) override
int lire_donnees(Entree &)
Reads the field values from an input stream.
virtual void associer_domaine_cl_dis(const Domaine_Cl_dis_base &)
DoubleTab & passe(int i=1) override
Returns field values at instant t-i.
bool via_ch_fonc_reprise_
virtual int fixer_nb_valeurs_temporelles(int)
Sets the number of temporal values to keep.
void init_champ_calcule(const Objet_U &obj, fonc_calc_t fonc)
virtual int nb_valeurs_temporelles() const
Returns the number of temporal values currently kept.
bool bord_fluide_multiphase_
DoubleVect & valeur_aux_compo(const DoubleTab &positions, DoubleVect &valeurs, int ncomp) const override
Computes the values of the unknown field at the specified positions, for a given component of the fie...
const Domaine_Cl_dis_base & domaine_Cl_dis() const
void mettre_a_jour(double temps) override
Performs a time update of the unknown field.
virtual DoubleTab & remplir_coord_noeuds_compo(DoubleTab &, int) const
Simple call to 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
Sets the time of the field.
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
Returns the array of field values at the current time.
virtual void associer_eqn(const Equation_base &)
Associates the field with the equation of which it represents an unknown.
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 call to: 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
Saves the unknown field to an output stream.
Champ_Inc_base & avancer(int i=1)
Advances the current pointer by i time steps, in the list of kept temporal values.
double changer_temps_passe(double, int i=1)
Sets the time of the i-th past field.
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
Computes the value of the unknown field at the specified position.
double recuperer_temps_passe(int i=1) const
Returns the time of the i-th past field.
virtual DoubleTab & remplir_coord_noeuds(DoubleTab &) const =0
int a_un_domaine_dis_base() const override
Champ_Inc_base & reculer(int i=1)
Rewinds the current pointer by i time steps, in the list of kept temporal values.
int reprendre(Entree &) override
Reads an unknown field from an input stream for a restart.
DoubleTab & trace(const Frontiere_dis_base &, DoubleTab &, double, int distant) const override
See Champ_base. Special case (unfortunately) of Champ_P0_VDF:
const DoubleTab & passe(int i=1) const override
DoubleTab & valeur_aux(const DoubleTab &positions, DoubleTab &valeurs) const override
Computes the values of the unknown field at the specified positions.
virtual void creer_espace_distant(int dummy)
Champ_base & affecter_compo(const Champ_base &, int compo) override
Assignment of a component of a generic OWN_PTR(Champ_base) (Champ_base) to a component of an unknown ...
bool via_ch_fonc_reprise() const
Champ_base & affecter_(const Champ_base &) override
Assignment of a generic OWN_PTR(Champ_base) (Champ_base) to an unknown field.
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
Returns the field value at the boundary faces.
double recuperer_temps_futur(int i=1) const
Returns the time of the i-th future field.
double changer_temps_futur(double, int i=1)
Sets the time of the i-th future field.
class Champ_base This class is the base of the fields hierarchy.
Champ_base()
Default constructor of a Champ_base.
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.
Class defining operators and methods for all reading operation in an input flow (file,...
class Equation_base The role of an equation is the calculation of one or more fields....
class Frontiere_dis_base Class representing a discretized boundary.
: This class is an OWN_PTR but the pointed object is shared among multiple
class MorEqn Class that groups the functionalities of linking with an
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
Base class for TRUST objects (Objet_U).
Base class for output streams.
YAML_data class: collection of all needed information for data to save/restore in order to write the ...