16#ifndef Operateur_included
17#define Operateur_included
19#include <TRUSTTabs_forward.h>
44 virtual DoubleTab&
ajouter(
const DoubleTab&, DoubleTab& )
const=0;
45 virtual DoubleTab&
calculer(
const DoubleTab&,DoubleTab& )
const=0;
48 DoubleTab&
ajouter(DoubleTab& )
const;
49 DoubleTab&
calculer(DoubleTab& )
const;
class Discretisation_base This class represents a spatial discretization scheme, which
Class defining operators and methods for all reading operation in an input flow (file,...
class MorEqn Class that groups the functionalities of linking with an
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
class Operateur_base This class is the base of the hierarchy of objects representing an
class Operateur Generic class of the operator hierarchy.
const Champ_Inc_base & mon_inconnue() const
Returns the field representing the unknown of the equation to which the operator belongs.
virtual Operateur_base & l_op_base()=0
virtual int op_non_nul() const =0
Entree & lire(Entree &)
Reads an operator from an input stream.
double calculer_pas_de_temps() const
Computes the next time step.
int limpr() const
Asks the equation whether printing is needed. Returns 1 for YES, 0 otherwise.
int impr(Sortie &os) const
Prints the operator to an output stream unconditionally.
virtual DoubleTab & calculer(const DoubleTab &, DoubleTab &) const =0
Sortie & ecrire(Sortie &) const
void imprimer(Sortie &os) const
Prints the operator to an output stream, if necessary.
virtual void mettre_a_jour(double temps)
Performs a time update of the operator.
const Nom & type() const
Returns the (name of the) type of operator to create.
virtual const Operateur_base & l_op_base() const =0
const Discretisation_base & discretisation() const
Returns the discretization of the equation to which the operator belongs.
void ajouter_contribution_explicite_au_second_membre(const Champ_Inc_base &inconnue, DoubleTab &derivee) const
virtual DoubleTab & ajouter(const DoubleTab &, DoubleTab &) const =0
void set_description(const Nom &nom)
virtual void completer()
Updates the references of the objects associated with the operator.
OBS_PTR(Champ_Inc_base) le_champ_inco
void set_fichier(const Nom &nom)
void associer_champ(const Champ_Inc_base &, const std::string &nom_ch)
void calculer_pas_de_temps_locaux(DoubleTab &) const
Calculate the next local time steps.
Base class for output streams.