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;
100 le_champ_->valeurs().echange_espace_virtuel();
virtual DoubleTab & valeurs()=0
classe Champ_base Cette classe est la base de la hierarchie des champs.
double temps() const
Renvoie le temps du champ.
virtual DoubleTab & valeur_aux(const DoubleTab &positions, DoubleTab &valeurs) const
Provoque une erreur ! Doit etre surchargee par les classes derivees.
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_
classe Integrale_tps_produit_champs Cette classe represente l'integrale en temps d'un produit de 2 ch...
int seconde_puissance() const
int premiere_puissance() const
void mettre_a_jour_integrale() override
Mets a jour l'integrale.
void ajoute_produit_tensoriel(double, const Champ_base &, const Champ_base &)
Un tableau de chaine de caracteres (VECT(Nom)).
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual const Nom & le_nom() const
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
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