16#ifndef Source_base_included
17#define Source_base_included
19#include <Champs_compris_interface.h>
20#include <TRUSTTabs_forward.h>
21#include <Interface_blocs.h>
23#include <Champs_compris.h>
24#include <Matrice_Bloc.h>
47 virtual DoubleTab&
ajouter(DoubleTab&)
const;
48 virtual DoubleTab&
calculer(DoubleTab&)
const;
69 virtual void dimensionner_blocs(matrices_t matrices,
const tabs_t& semi_impl = { })
const;
70 virtual void ajouter_blocs(matrices_t matrices, DoubleTab& secmem,
const tabs_t& semi_impl = { })
const;
classe Champ_Don_base classe de base des Champs donnes (non calcules)
classe Champ_base Cette classe est la base de la hierarchie des champs.
classe Champs_compris_interface Cette classe contient une interface de methodes destinees a gerer
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Classe Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
classe MorEqn Classe qui regroupe les fonctionnalites de liaison avec une
OBS_PTR(Equation_base) mon_equation
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
Un tableau de chaine de caracteres (VECT(Nom)).
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
Cette classe est a la classe C++ ofstream ce que la classe Sortie est a la classe C++ ostream Elle re...
classe Source_base Un objet Source_base est un terme apparaissant au second membre d'une
LIST(OBS_PTR(Champ_Don_base)) champs_don_
void set_fichier(const Nom &)
virtual void mettre_a_jour(double temps)
DOES NOTHING - to override in derived classes.
virtual void associer_pb(const Probleme_base &)=0
Champs_compris champs_compris_
const Nom fichier() const
const Champ_base & get_champ(const Motcle &nom) const override
virtual void associer_domaines(const Domaine_dis_base &, const Domaine_Cl_dis_base &)=0
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
const Nom description() const
virtual int impr(Sortie &os) const
void creer_champ(const Motcle &motlu) override
virtual void resetTime(double t)
DOES NOTHING - to override in derived classes.
Champs_compris & champs_compris()
virtual void associer_champ_rho(const Champ_base &champ_rho)
Cette methode (ou la methode de la classe derivee) est appelee par Sources::associer_champ_rho pour c...
virtual DoubleTab & calculer(DoubleTab &) const
virtual void ouvrir_fichier(SFichier &os, const Nom &, const int flag=1) const
Ouverture/creation d'un fichier d'impression d'un terme source A surcharger dans les classes derivees...
virtual void contribuer_au_second_membre(DoubleTab &) const
contribution au second membres des termes sources en implicite par defaut erreur
virtual int sauvegarder(Sortie &) const override
Sauvegarde d'un Objet_U sur un flot de sortie Methode a surcharger.
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
virtual int initialiser(double temps)
Contrairement aux methodes mettre_a_jour, les methodes initialiser des sources ne peuvent pas dependr...
virtual void contribuer_a_avec(const DoubleTab &, Matrice_Morse &) const
contribution a la matrice implicite des termes sources par defaut pas de contribution
const LIST(OBS_PTR(Champ_Don_base)) &champs_don() const
virtual void contribuer_jacobienne(Matrice_Bloc &, int) const
void set_col_names(const Noms &col_names)
virtual void dimensionner_blocs(matrices_t matrices, const tabs_t &semi_impl={ }) const
DoubleVect & bilan() const
virtual void dimensionner_bloc_vitesse(Matrice_Morse &) const
void set_description(const Nom &nom)
virtual void completer()
Met a jour les references internes a l'objet Source_base.
virtual int has_interface_blocs() const
virtual DoubleTab & ajouter(DoubleTab &) const
void associer_domaines_public(const Domaine_dis_base &zdis, const Domaine_Cl_dis_base &zcldis)
virtual void discretiser()
virtual int a_pour_Champ_Fonc(const Motcle &mot, OBS_PTR(Champ_base) &ch_ref) const
Si la source comprend le motcle "mot", elle remplit la reference a ch_ref et renvoie 1,...
virtual void dimensionner(Matrice_Morse &) const
Dimensionnement de la matrice implicite des termes sources.
virtual int reprendre(Entree &) override
Reprise d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={ }) const