16#include <Matrice_Morse.h>
23Sortie& Sources::printOn(
Sortie& os)
const {
return LIST(Source)::printOn(os); }
50 Cerr <<
"We were waiting for { before " << typ << finl;
60 Cerr <<
"Reading of term " << typ << finl;
61 Cerr <<
"and typing: ";
63 so.
typer(typ,mon_equation.valeur());
64 so->associer_eqn(mon_equation.valeur());
71 Cerr << typ <<
" : we expected a ',' or a '}'" << finl;
74 assert (typ==virgule);
87 for (
const auto& itr : *
this) itr.ajouter(xx);
101 for (
const auto& itr : *
this) itr.ajouter(xx);
111 for (
auto& itr : *
this) itr->mettre_a_jour(temps);
119 for (
auto& itr : *
this) itr->resetTime(temps);
129 for (
auto& itr : *
this) itr->completer();
141 for (
auto& itr : *
this)
158 for (
const auto& itr : *
this)
178 for (
const auto& itr : *
this) itr->impr(os);
189 for (
const auto& itr : *
this)
203 for (
const auto& itr : *
this)
213 for (
const auto& itr : *
this)
229 for (
auto& itr : *
this)
230 ok = ok && itr->initialiser(temps);
236 for (
const auto& itr : *
this)
classe Champ_base Cette classe est la base de la hierarchie des champs.
Class defining operators and methods for all reading operation in an input flow (file,...
Classe Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
int nb_colonnes() const override
Return local number of columns (=size on the current proc).
virtual void check_multiphase_compatibility() const
OBS_PTR(Equation_base) mon_equation
Une chaine de caractere (Nom) en majuscules.
Classe de base des flux de sortie.
classe Source_base Un objet Source_base est un terme apparaissant au second membre d'une
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 void contribuer_a_avec(const DoubleTab &, Matrice_Morse &) const
contribution a la matrice implicite des termes sources par defaut pas de contribution
virtual void contribuer_jacobienne(Matrice_Bloc &, int) const
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.
classe Source Classe generique de la hierarchie des sources, un objet Source peut
void typer(const Nom &, const Equation_base &)
Type la source en calculant le nom du type necessaire grace aux parametres fournis.
class Sources Sources represente une liste de Source.
void contribuer_jacobienne(Matrice_Bloc &matrice, int n) const
int impr(Sortie &) const
Appelle Source::impr() sur toutes les sources de la liste.
void contribuer_a_avec(const DoubleTab &, Matrice_Morse &) const
contribution a la matrice implicite des termes sources par defaut pas de contribution
int initialiser(double temps)
Appelle Source::initialiser(temps) sur toutes les sources de la liste.
void resetTime(double temps)
Rest all sources to a given time See ProblemeTrio::resetTime().
void mettre_a_jour(double temps)
Mise a jour en temps, de toute les sources de la liste.
virtual int a_pour_Champ_Fonc(const Motcle &mot, OBS_PTR(Champ_base)&ch_ref) const
Pour chaque source de la liste, appel a a_pour_Champ_Fonc(mot,ch_ref).
void check_multiphase_compatibility() const override
void dimensionner(Matrice_Morse &) const
Dimensionnement de la matrice implicite des termes sources.
void completer()
Appelle Source::completer() sur toutes les sources de la liste.
virtual void associer_champ_rho(const Champ_base &champ_rho)
Pour chaque source de la liste, appel a associer_champ_rho de la source.
DoubleTab & ajouter(DoubleTab &) const
Ajoute la contribution de toutes les sources de la liste au tableau passe en parametre,...
DoubleTab & calculer(DoubleTab &) const
Calcule la contribution de toutes les sources de la liste stocke le resultat dans le tableau passe en...