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
Returns field values at instant t+i.
DoubleTab & valeurs() override
Returns the array of field values at the current time.
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,...
class Equation_base The role of an equation is the calculation of one or more fields....
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()
Returns the discretized boundary condition domain associated with the equation.
class Nom: a character string for naming TRUST objects.
virtual int find(const char *const n) const
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 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.
Schema_Explicite_Multi_TimeStep_base.
double temps_defaut() const override
Returns the time that fields must return when valeurs() is called.
int faire_un_pas_de_temps_eqn_base(Equation_base &) override
Performs an explicit Euler time step on the equation passed as parameter.
int nb_valeurs_futures() const override
Returns the number of future temporal values.
double temps_futur(int i) const override
Returns the time at the i-th future value.
void authorized_equation(const Equation_base &eqn)
double temps_courant() const
Returns the current time.
double pas_de_temps() const
Returns the current time step (delta_t).
void update_critere_statio(const DoubleTab &tab_critere, Equation_base &equation)
Updates stationnaire_atteint_ and residu_ (criterion: residu_ < seuil_statio_).
Base class for output streams.
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")