16#include <Terme_Source_Canal_perio_VDF_Face.h>
17#include <Fluide_Dilatable_base.h>
18#include <Pb_Thermohydraulique.h>
19#include <Neumann_sortie_libre.h>
20#include <Dirichlet_homogene.h>
21#include <Domaine_Cl_VDF.h>
22#include <Periodique.h>
25#include <Domaine_VDF.h>
46 const Domaine_VF& domaine_VF = le_dom_VDF.valeur();
48 const IntVect& orientation = le_dom_VDF->orientation();
55 int n_bord, ndeb, nfin;
56 for (n_bord = 0; n_bord < domaine_VF.
nb_front_Cl(); n_bord++)
72 for (
int num_face = ndeb; num_face < nfin; num_face++)
74 double vol = volumes_entrelaces(num_face) * porosite_surf(num_face);
75 ncomp = orientation(num_face);
76 secmem(num_face) += s[ncomp] * vol;
87 int nb_faces = domaine_VF.
nb_faces();
88 for (
int num_face = ndeb; num_face < nb_faces; num_face++)
90 double vol = volumes_entrelaces(num_face) * porosite_surf(num_face);
91 ncomp = orientation(num_face);
92 secmem(num_face) += s[ncomp] * vol;
99 const Domaine_VF& domaine_VF = le_dom_VDF.valeur();
103 int ndeb, nfin, num_face;
105 for (
int n_bord = 0; n_bord < nb_bords; n_bord++)
119 nfin = ndeb + le_bord.
nb_faces() / 2;
121 if (
equation().probleme().is_dilatable() == 1)
130 for (num_face = ndeb; num_face < nfin; num_face++)
132 double debit_face = porosite_surf[num_face] * vitesse[num_face] * std::fabs(domaine_VF.
face_normales(num_face, axe));
133 debit_e += tab_rho_face[num_face] * debit_face;
138 for (num_face = ndeb; num_face < nfin; num_face++)
140 double debit_face = porosite_surf[num_face] * vitesse[num_face] * std::fabs(domaine_VF.
face_normales(num_face, axe));
141 debit_e += debit_face;
147 debit_e =
mp_sum(debit_e);
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
classe Cond_lim Classe generique servant a representer n'importe quelle classe
Classe Dirichlet_homogene Cette classe est la classe de base de la hierarchie des conditions aux limi...
classe Dirichlet Cette classe est la classe de base de la hierarchie des conditions aux limites de ty...
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
const Cond_lim & les_conditions_limites(int) const
Renvoie la i-ieme condition aux limites.
int nb_faces() const
renvoie le nombre global de faces.
DoubleVect & volumes_entrelaces()
virtual double face_normales(int face, int comp) const
int premiere_face_int() const
une face est interne ssi elle separe deux elements.
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
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
classe Fluide_Dilatable_base Cette classe represente un d'un fluide dilatable,
int num_premiere_face() const
const Nom & le_nom() const override
Renvoie le nom de la frontiere geometrique.
DoubleVect & porosite_face()
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
classe Neumann_sortie_libre Cette classe represente une frontiere ouverte sans vitesse imposee
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 Periodique Cette classe represente une condition aux limites periodique.
int direction_periodicite() const
static double mp_sum(double)
Calcule la somme de x sur tous les processeurs du groupe courant.
Classe de base des flux de sortie.
classe Symetrie Sur les faces de symetrie on a les proprietes suivantes:
void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl) const override
void associer_domaines(const Domaine_dis_base &, const Domaine_Cl_dis_base &) override
void calculer_debit(double &) const override
Source term to keep a constant flow rate in a channel with periodic boundary conditions.
int direction_ecoulement_
ArrOfDouble source() const
Term source calculation (called by VDF and VEF implementations) TODO: returning an ArrOfDouble is baa...