16#include <Integrale_tps_produit_champs.h>
17#include <Domaine_VF.h>
41 const Champ_base& source = mon_premier_champ()->get_champ(espace_stockage_source);
42 const Champ_base& source2 = mon_second_champ()->get_champ(espace_stockage_source2);
43 const Noms nom = mon_premier_champ()->get_property(
"nom");
44 const Noms nom2 = mon_second_champ()->get_property(
"nom");
45 double t_courant = mon_premier_champ()->get_time();
47 if (t_courant != mon_second_champ()->get_time())
49 Cerr <<
"Integrale_tps_produit_champs::mettre_a_jour_integrale()" << finl;
50 Cerr <<
"the current time of the field named " << nom[0] <<
" =" << t_courant << finl;
51 Cerr <<
"is different of the second field current time " << nom2[0] <<
" =" << source2.
temps() << finl;
56 Cerr <<
" Statistics begining and ending times are not coherent " << finl;
57 Cerr <<
" t_fin_=" <<
t_fin_ <<
" < t_debut_=" <<
t_debut_ << finl;
60 if (inf_ou_egal(
t_debut_, t_courant) && inf_ou_egal(t_courant,
t_fin_))
67 const DoubleTab& val1 = source.
valeurs();
68 const DoubleTab& val2 = source2.
valeurs();
69 DoubleTab& mes_val = le_champ_->valeurs();
76 Cerr <<
"Integrale_tps_produit_champs::mettre_a_jour_integrale() : case not coded." << finl;
88 ToDo_Kokkos(
"Use DoubleTrav and don't resize...");
90 const DoubleTab& xp = ref_cast(
Domaine_VF,le_champ_->domaine_dis_base()).xp();
92 DoubleTab val_a, val_b;
99 le_champ_->valeurs().echange_espace_virtuel();
virtual DoubleTab & valeurs()=0
class Champ_base This class is the base of the fields hierarchy.
double temps() const
Returns the time of the field.
virtual DoubleTab & valeur_aux(const DoubleTab &positions, DoubleTab &valeurs) const
Causes an error! Must be overridden by derived classes.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual int nb_comp() const
OWN_PTR(Champ_Fonc_base) le_champ_
class Integrale_tps_produit_champs
int seconde_puissance() const
int premiere_puissance() const
void mettre_a_jour_integrale() override
Updates the integral.
void ajoute_produit_tensoriel(double, const Champ_base &, const Champ_base &)
An array of character strings (VECT(Nom)).
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.
virtual const Nom & le_nom() const
Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.
bool isDataOnDevice() const
void resize(_SIZE_ n, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)
void ajoute_produit_tensoriel(_T_ alpha, const TRUSTTab< _T_, _SIZE_ > &, const TRUSTTab< _T_, _SIZE_ > &)
_SIZE_ dimension_tot(int) const override