16#ifndef Operateur_base_included
17#define Operateur_base_included
20#include <Equation_base.h>
22#include <SolveurSys.h>
51 virtual DoubleTab&
ajouter(
const DoubleTab&, DoubleTab&)
const;
52 virtual DoubleTab&
calculer(
const DoubleTab&, DoubleTab&)
const;
67 virtual void dimensionner_blocs(matrices_t matrices,
const tabs_t& semi_impl = { })
const;
68 virtual void ajouter_blocs(matrices_t matrices, DoubleTab& secmem,
const tabs_t& semi_impl = { })
const;
71 virtual void ajouter_termes_croises(
const DoubleTab& inco,
const Probleme_base& autre_pb,
const DoubleTab& autre_inco, DoubleTab& resu)
const;
72 virtual void contribuer_termes_croises(
const DoubleTab& inco,
const Probleme_base& autre_pb,
const DoubleTab& autre_inco, Matrice_Morse& matrice)
const;
122 virtual void ajouter_flux(
const DoubleTab& inconnue, DoubleTab& contribution)
const;
123 virtual void calculer_flux(
const DoubleTab& inconnue, DoubleTab& flux)
const;
class Champ_base This class is the base of the fields hierarchy.
class Champs_compris_interface This class contains an interface of methods intended to manage
class Conds_lim This class represents a vector of boundary conditions.
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
class Equation_base The role of an equation is the calculation of one or more fields....
class Frontiere_dis_base Class representing a discretized boundary.
Matrice_Morse class - Represents a (sparse) matrix M, not necessarily square,.
Matrice class - Generic class in the matrix hierarchy.
class MorEqn Class that groups the functionalities of linking with an
void associer_eqn(const Equation_base &)
Associates an equation with the object.
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
An array of character strings (VECT(Nom)).
Objet_U()
Default constructor: assigns a unique identifier to the object (object_id_) and registers the object ...
class Operateur_base This class is the base of the hierarchy of objects representing an
virtual void ajouter_termes_croises(const DoubleTab &inco, const Probleme_base &autre_pb, const DoubleTab &autre_inco, DoubleTab &resu) const
void set_fichier(const Nom &)
virtual void modifier_pour_Cl(Matrice_Morse &, DoubleTab &) const
DOES NOTHING - to override in derived classes.
const SolveurSys & get_solveur() const
Champs_compris champs_compris_
virtual void calculer_dt_local(DoubleTab &) const
virtual void associer_champ(const Champ_Inc_base &, const std::string &nom_ch)
void creer_champ(const Motcle &motlu) override
DoubleTab & flux_bords() const
OBS_PTR(Champ_Inc_base) le_champ_inco
virtual DoubleTab & calculer(const DoubleTab &, DoubleTab &) const
virtual void contribuer_a_avec(const DoubleTab &, Matrice_Morse &) const
DOES NOTHING - to override in derived classes.
SolveurSys & set_solveur()
virtual void associer_domaine_cl_dis(const Domaine_Cl_dis_base &)
virtual int has_interface_blocs() const
void tester_contribuer_a_avec(const DoubleTab &, const Matrice_Morse &)
virtual void associer(const Domaine_dis_base &, const Domaine_Cl_dis_base &, const Champ_Inc_base &inco)=0
const Nom fichier() const
bool has_champ_inco() const
virtual void mettre_a_jour(double temps)
DOES NOTHING - to override in derived classes.
virtual void ajouter_flux(const DoubleTab &inconnue, DoubleTab &contribution) const
void ouvrir_fichier_partage(EcrFicPartage &, const Nom &, const int flag=1) const
Opening/creation of a shared file for printing an operator. To override in derived classes.
void calculer_pour_post(Champ_base &espace_stockage, const Nom &option, int comp) const override
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
int get_decal_temps() const
virtual void preparer_calcul()
const Champ_Inc_base & mon_inconnue() const
virtual void dimensionner_bloc_vitesse(Matrice_Morse &matrice) const
virtual double calculer_dt_stab() const
Computes dt_stab.
bool has_impr_file() const
int set_nb_ss_pas_de_temps(int)
virtual void dimensionner_termes_croises(Matrice_Morse &, const Probleme_base &autre_pb, int nl, int nc) const
virtual void dimensionner(Matrice_Morse &) const
DOES NOTHING - to override in derived classes.
virtual void completer()
Associates the operator with the domaine_dis, the domaine_Cl_dis, and the unknown of its equation.
int get_nb_ss_pas_de_temps() const
const Matrice & get_matrice() const
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
virtual int impr(Sortie &os) const
DOES NOTHING - to override in derived classes.
Entree & lire_solveur(Entree &)
virtual void contribuer_bloc_vitesse(const DoubleTab &, Matrice_Morse &) const
Motcle get_localisation_pour_post(const Nom &option) const override
virtual void dimensionner_blocs(matrices_t matrices, const tabs_t &semi_impl={ }) const
const Champ_base & get_champ(const Motcle &nom) const override
virtual void contribuer_au_second_membre(DoubleTab &) const
DOES NOTHING - to override in derived classes.
const std::string & nom_inconnue() const
virtual void resetTime(double time)
virtual void ajouter_contribution_explicite_au_second_membre(const Champ_Inc_base &inconnue, DoubleTab &derivee) const
virtual void abortTimeStep()
void set_description(const Nom &nom)
void associer_eqn(const Equation_base &)
Associates an equation with the operator.
const Nom description() const
virtual DoubleTab & ajouter(const DoubleTab &, DoubleTab &) const
virtual int systeme_invariant() const
virtual void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={ }) const
virtual void contribuer_termes_croises(const DoubleTab &inco, const Probleme_base &autre_pb, const DoubleTab &autre_inco, Matrice_Morse &matrice) const
virtual void calculer_flux(const DoubleTab &inconnue, DoubleTab &flux) const
void ouvrir_fichier(SFichier &os, const Nom &, const int flag=1) const
Opening/creation of a file for printing an operator. To override in derived classes.
SFichier is to the C++ ofstream class what Sortie is to the C++ ostream class.
class SolveurSys A SolveurSys represents any class