21#include <Schema_Adams_Moulton_base.h>
22#include <Equation_base.h>
23#include <Probleme_base.h>
24#include <Probleme_Couple.h>
25#include <Milieu_base.h>
27#include <communications.h>
28#include <Matrice_Morse.h>
59 eqn.
inconnue().Champ_base::changer_temps(temps);
67 time_derivative = data;
86 double effective_time_step = -1.;
103 correction *= (scaling-1.);
104 secmem += correction;
127 DoubleTab correction(secmem);
144 secmem -= correction;
DoubleTab & futur(int i=1) override
Returns field values at instant t+i.
DoubleTab & passe(int i=1) override
Returns field values at instant t-i.
void mettre_a_jour(double temps) override
Performs a time update of the unknown field.
DoubleTab & valeurs() override
Returns the array of field values at the current time.
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....
void set_calculate_time_derivative(int i)
Solveur_Masse_base & solv_masse()
Returns the mass solver associated with the equation.
virtual const Champ_Inc_base & inconnue() const =0
virtual DoubleTab & corriger_derivee_expl(DoubleTab &)
virtual const Champ_Inc_base & derivee_en_temps() const
Matrice_Base class - Base class of the matrix hierarchy.
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.
class Probleme_base It is a Probleme_U that is not a coupling.
virtual int nombre_d_equations() const =0
virtual const Equation_base & equation(int) const =0
void modify_equation_parameters(Equation_base &eqn, DoubleTab &stored_parameters) override
void modifier_second_membre_full_impl(const Equation_base &eqn, DoubleTab &secmem) override
virtual void compute_adams_moulton_coefficients(double time_step, const DoubleTab ×) const =0
void add_multi_timestep_data(const Equation_base &eqn, Matrice_Base &mat_morse, DoubleTab &secmem) const override
const DoubleTab & coefficients() const override
void update_time_derivative(Equation_base &eqn, const DoubleTab &data) override
double changer_temps(Equation_base &eqn, const double temps) override
void mettre_a_jour_equation(Equation_base &eqn, const double temps) override
void compute_coefficients(double time_step, const DoubleTab ×) const override
void store_equation_parameters(Equation_base &eqn, DoubleTab &stored_parameters) override
void associer_pb(const Probleme_base &) override
virtual int nb_pas_dt_seuil() const =0
virtual int nb_valeurs_passees() const =0
virtual void associer_pb(const Probleme_base &)
Probleme_base & pb_base()
double pas_de_temps() const
Returns the current time step (delta_t).
int nb_pas_dt() const
Returns the number of time steps performed.
virtual Matrice_Base & ajouter_masse(double dt, Matrice_Base &matrice, int penalisation=1) const
virtual DoubleTab & appliquer(DoubleTab &) const
Returns appliquer_impl(x/temporal_coefficient) if a temporal coefficient is set, otherwise returns ap...
Base class for output streams.