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;
class Champ_Don_base base class of Given Fields (not calculated)
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 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.
Matrice_Morse class - Represents a (sparse) matrix M, not necessarily square,.
class MorEqn Class that groups the functionalities of linking with an
OBS_PTR(Equation_base) mon_equation
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 Probleme_base It is a Probleme_U that is not a coupling.
SFichier is to the C++ ofstream class what Sortie is to the C++ ostream class.
Source_base A Source_base object is a term appearing on the right-hand side of an.
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)
This method (or the method of the derived class) is called by Sources::associer_champ_rho for each so...
virtual DoubleTab & calculer(DoubleTab &) const
virtual void ouvrir_fichier(SFichier &os, const Nom &, const int flag=1) const
Opening/creation of a file for printing a source term. To override in derived classes.
virtual void contribuer_au_second_membre(DoubleTab &) const
contribution to the right-hand side of source terms implicitly, by default error
virtual int sauvegarder(Sortie &) const override
Saves an Objet_U to an output stream. Virtual method to override.
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
virtual int initialiser(double temps)
Unlike the mettre_a_jour methods, the initializer methods of sources cannot depend on the outside.
virtual void contribuer_a_avec(const DoubleTab &, Matrice_Morse &) const
contribution to the implicit matrix of source terms, by default no 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()
Updates internal references of the Source_base object.
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
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.
virtual int reprendre(Entree &) override
Restores an Objet_U from an input stream. Virtual method to override.
virtual void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={ }) const