16#include <Source_Scalaire_EF.h>
17#include <Champ_Uniforme.h>
19#include <Domaine_EF.h>
20#include <Probleme_base.h>
21#include <Discretisation_base.h>
22#include <Equation_base.h>
55 else if (
la_source_lu_->que_suis_je()==
"Champ_couplage_primaire_secondaire")
68 if (la_source_->nb_comp() !=
equation().inconnue().nb_comp())
70 Cerr <<
"Erreur a la lecture du terme source de type " <<
que_suis_je() << finl;
88 const Domaine_EF& domaine_EF = le_dom_EF.valeur();
97 const DoubleTab& IPhi=domaine_EF.
IPhi();
103 const DoubleTab& tab_source=la_source_->valeurs();
105 for (
int num_elem=0; num_elem<nb_elems; num_elem++)
106 for (
int comp=0; comp<ncomp; comp++)
110 if (!is_source_unif) cc=num_elem;
111 source=tab_source(cc,comp);
112 for (
int i=0; i<nb_som_elem; i++)
113 resu(elems(num_elem,i),comp)+=source*IPhi(num_elem,i);
117 for (
int num_elem=0; num_elem<nb_elems; num_elem++)
122 source=tab_source(num_elem);
124 source=tab_source(0,0);
125 for (
int i=0; i<nb_som_elem; i++)
126 resu(elems(num_elem,i))+=source*IPhi(num_elem,i);
143 la_source_->mettre_a_jour(temps);
void nommer_completer_champ_physique(const Domaine_dis_base &domaine_vdf, const Nom &nom_champ, const Nom &unite, Champ_base &champ, const Probleme_base &pbi) const
void discretiser_champ(const Motcle &directive, const Domaine_dis_base &z, const Nom &nom, const Nom &unite, int nb_comp, int nb_pas_dt, double temps, OWN_PTR(Champ_Inc_base)&champ, const Nom &sous_type=NOM_VIDE) const
int nb_som_elem() const
Renvoie le nombre de sommets des elements geometriques constituants le domaine.
int_t nb_elem_tot() const
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
const DoubleTab & IPhi() const
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
const Domaine & domaine() const
Class defining operators and methods for all reading operation in an input flow (file,...
const Discretisation_base & discretisation() const
Renvoie la discretisation associee a l'equation.
virtual const Champ_Inc_base & inconnue() const =0
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
virtual int nb_comp() const
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
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.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
void associer_domaines(const Domaine_dis_base &, const Domaine_Cl_dis_base &) override
void associer_pb(const Probleme_base &) override
DoubleTab & calculer(DoubleTab &) const override
void mettre_a_jour(double) override
DOES NOTHING - to override in derived classes.
DoubleTab & ajouter(DoubleTab &) const override
classe Source_base Un objet Source_base est un terme apparaissant au second membre d'une
Champs_compris champs_compris_