16#include <Terme_Source_Decroissance_Radioactive_Elem_PolyMAC_CDO.h>
17#include <Domaine_VF.h>
19#include <Equation_base.h>
20#include <Synonyme_info.h>
21#include <Probleme_base.h>
22#include <Matrix_tools.h>
23#include <Array_tools.h>
44 Cerr <<
"Nombre de groupes a lire : " << nb_groupes << finl;
45 for (
int i = 0; i < nb_groupes; i++)
48 Cerr <<
"lambda lu : " << lambda_tmp << finl;
55 Cerr <<
"Terme_Source_Decroissance_Radioactive_Elem_PolyMAC_CDO : inconsistency between the number of radioactive decay constants ( " << ng
56 <<
" ) and the number of components of the unknown of the equation ( " << N <<
" )" << finl;
68 for (
auto &&n_m : matrices)
69 if (n_m.first == nom_inco)
74 for (
int e = 0; e < ne; e++)
75 for (
int n = 0; n < N; n++)
77 tableau_trier_retirer_doublons(sten);
89 Matrice_Morse *Mc = matrices.count(nom_inco) ? matrices.at(nom_inco) :
nullptr;
90 const int N = c.
line_size(), ne = domaine.nb_elem();
92 for (
int e = 0; e < ne; e++)
93 for (
int l = 0; l < N; l++)
95 const double fac = pe(e) * ve(e) *
lambda_[l];
96 secmem(e, l) -= fac * c(e, l);
98 (*Mc)(N * e + l, N * e + l) += fac;
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
virtual DoubleTab & valeurs()=0
Class defining operators and methods for all reading operation in an input flow (file,...
virtual const Milieu_base & milieu() const =0
virtual const Champ_Inc_base & inconnue() const =0
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
const Nom & le_nom() const override
Renvoie le nom du champ.
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).
DoubleVect & porosite_elem()
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
const std::string & getString() const
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
classe Source_base Un objet Source_base est un terme apparaissant au second membre d'une
const Champ_base & get_champ(const Motcle &nom) const override
_SIZE_ size_totale() const
void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={}) const override
void dimensionner_blocs(matrices_t matrices, const tabs_t &semi_impl={}) const override
std::vector< double > lambda_