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)
class Champ_base This class is the base of the fields hierarchy.
Class defining operators and methods for all reading operation in an input flow (file,...
Matrice_Morse class - Represents a (sparse) matrix M, not necessarily square,.
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
A character string (Nom) in uppercase.
Base class for output streams.
Source_base A Source_base object is a term appearing on the right-hand side of an.
virtual void associer_champ_rho(const Champ_base &champ_rho)
This method (or the method of the derived class) is called by Sources::associer_champ_rho for each so...
virtual void contribuer_a_avec(const DoubleTab &, Matrice_Morse &) const
contribution to the implicit matrix of source terms, by default no 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
If the source understands the keyword "mot", it fills the reference to ch_ref and returns 1,...
virtual void dimensionner(Matrice_Morse &) const
Sizing of the implicit matrix of source terms.
Source Generic class of the source term hierarchy. A Source object can.
void typer(const Nom &, const Equation_base &)
Types the source by computing the required type name from the provided parameters.
class Sources Sources represents a list of Source objects.
void contribuer_jacobienne(Matrice_Bloc &matrice, int n) const
int impr(Sortie &) const
Calls Source::impr() on all sources in the list.
void contribuer_a_avec(const DoubleTab &, Matrice_Morse &) const
Contribution to the implicit matrix of source terms. By default, no contribution.
int initialiser(double temps)
Calls Source::initialiser(temps) on all sources in the list.
void resetTime(double temps)
Rest all sources to a given time See ProblemeTrio::resetTime().
void mettre_a_jour(double temps)
Time update of all sources in the list.
virtual int a_pour_Champ_Fonc(const Motcle &mot, OBS_PTR(Champ_base)&ch_ref) const
For each source in the list, calls a_pour_Champ_Fonc(mot,ch_ref).
void check_multiphase_compatibility() const override
void dimensionner(Matrice_Morse &) const
Sizing of the implicit matrix of source terms.
void completer()
Calls Source::completer() on all sources in the list.
virtual void associer_champ_rho(const Champ_base &champ_rho)
For each source in the list, calls the associer_champ_rho method of the source.
DoubleTab & ajouter(DoubleTab &) const
Adds the contribution of all sources in the list to the array passed as parameter,...
DoubleTab & calculer(DoubleTab &) const
Calculates the contribution of all sources in the list and stores the result in the array passed as p...