16#include <Schema_Explicite_Multi_TimeStep_base.h>
17#include <Domaine_Cl_dis_base.h>
18#include <Equation_base.h>
87 double inv_time_step = 1/time_step;
91 Debog::verifier(
"Schema_Explicite_Multi_TimeStep_base::faire_un_pas_de_temps_eqn_base, present",present);
99 DoubleTab dudt(futur);
122 Debog::verifier(
"Schema_Explicite_Multi_TimeStep_base::faire_un_pas_de_temps_eqn_base, dudt",dudt);
135 bool authorized =
true;
137 authorized &= (bool) equation_name.
find(
"FT");
138 authorized &= (bool) equation_name.
find(
"Front_Tracking");
139 authorized &= (bool) equation_name.
find(
"QC");
140 authorized &= (bool) equation_name.
find(
"Quasi_Compressible");
144 Cerr<<
"Error in "<<
que_suis_je()<<
"::authorized_equation()"<<finl;
145 Cerr<<
"Equation "<<equation_name<<
" is not allowed with "<<
que_suis_je()<<
" time scheme"<<finl;
153 bool authorized =
true;
155 authorized &= (bool) equation_name.
find(
"FT");
156 authorized &= (bool) equation_name.
find(
"Front_Tracking");
157 authorized &= (bool) equation_name.
find(
"QC");
158 authorized &= (bool) equation_name.
find(
"Quasi_Compressible");
162 Cerr<<
"Error in "<<
que_suis_je()<<
"::authorized_equation()"<<finl;
163 Cerr<<
"Equation "<<equation_name<<
" is not allowed with "<<
que_suis_je()<<
" time scheme"<<finl;
DoubleTab & futur(int i=1) override
Renvoie les valeurs du champs a l'instant t+i.
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
static void verifier(const char *const msg, double)
virtual void imposer_cond_lim(Champ_Inc_base &, double)=0
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....
virtual const Champ_Inc_base & inconnue() const =0
virtual DoubleTab & derivee_en_temps_inco(DoubleTab &)
Returns the time derivative of the unknown I of the equation: dI/dt = M-1*(sum(operators(I) + sources...
virtual Domaine_Cl_dis_base & domaine_Cl_dis()
Renvoie le domaine des conditions aux limite discretisee associee a l'equation.
class Nom Une chaine de caractere pour nommer les objets de TRUST
virtual int find(const char *const n) const
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 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 Schema_Explicite_Multi_TimeStep_base
double temps_defaut() const override
Renvoie le le temps le temps que doivent rendre les champs a l'appel de valeurs().
int faire_un_pas_de_temps_eqn_base(Equation_base &) override
Effectue un pas de temps d'Euler explicite sur l'equation passee en parametre.
int nb_valeurs_futures() const override
Renvoie le nombre de valeurs temporelles futures.
double temps_futur(int i) const override
Renvoie le le temps a la i-eme valeur future.
void authorized_equation(const Equation_base &eqn)
double temps_courant() const
Renvoie le temps courant.
double pas_de_temps() const
Renvoie le pas de temps (delta_t) courant.
void update_critere_statio(const DoubleTab &tab_critere, Equation_base &equation)
//Actualisation de stationnaire_atteint_ et residu_ (critere residu_<seuil_statio_)
Classe de base des flux de sortie.
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")