16#include <Navier_Stokes_Fluide_Dilatable_base.h>
17#include <Source_Masse_Fluide_Dilatable_base.h>
18#include <Fluide_Dilatable_base.h>
19#include <Check_espace_virtuel.h>
20#include <Schema_Temps_base.h>
21#include <Champ_Face_VDF.h>
22#include <communications.h>
23#include <Equation_base.h>
24#include <EOS_Tools_VDF.h>
25#include <Domaine_VDF.h>
43 le_dom_Cl = domaine_cl;
59 int nb_elem=le_dom->nb_elem();
60 const DoubleVect& volumes = le_dom->volumes();
64 for (
int elem=0 ; elem<nb_elem ; elem++)
66 double v = volumes(elem);
68 sum[1] += v*tab(elem);
76 int face, elem, nb_faces_tot = le_dom->nb_faces_tot();
79 IntTab& face_voisins = le_dom->face_voisins();
80 for (face=0 ; face<nb_faces_tot ; face++)
86 elem= face_voisins(face,i);
98 for (face=0 ; face<nb_faces_tot ; face++)
117 assert_espace_virtuel_vect(secmem1);
118 int nb_faces_tot = le_dom->nb_faces_tot();
119 IntTab& face_voisins = le_dom->face_voisins();
121 for (
int face=0 ; face<nb_faces_tot; face++)
125 for (
int i=0 ; i<2 ; i++)
127 int elem= face_voisins(face,i);
131 secmem2(face) += secmem1(elem);
134 secmem2(face) /= nb_comp;
146 int elem,nb_elem = le_dom->nb_elem();
147 DoubleVect tab_dZ(nb_elem);
153 const DoubleVect& volumes = le_dom->volumes();
155 for (elem=0 ; elem<nb_elem ; elem++)
156 tab_dZ(elem) = (tab_rhonp1P0(elem)-tab_rhonP0(elem))/dt;
168 for (elem = 0; elem < nb_elem; elem++)
169 tab_W(elem) = -tab_dZ(elem) * volumes(elem);
175 for (
int i=0; i<n; i++)
class Champ_Face_VDF Cette classe sert a representer un champ vectoriel dont on ne calcule
int fixer_nb_valeurs_nodales(int) override
void associer_domaine_dis_base(const Domaine_dis_base &) override
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
static void verifier(const char *const msg, double)
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
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,...
Schema_Temps_base & schema_temps()
Renvoie le schema en temps associe a l'equation.
virtual void fixer_nb_comp(int i)
Fixe le nombre de composantes du champ.
const DoubleTab & rho_n() const
const Champ_Inc_base & vitesse() const
const DoubleTab & rho_np1() const
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
classe Navier_Stokes_Fluide_Dilatable_base Cette classe basse porte les termes de l'equation de la dy...
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 mp_sum_for_each_item(TRUSTArray< _TYPE_ > &x, int n=-1)
double pas_de_temps() const
Renvoie le pas de temps (delta_t) courant.
Classe de base des flux de sortie.
: classe Source_Masse_Fluide_Dilatable_base Une source speciale pour l'equation de masse (utilisee se...
virtual void ajouter_projection(const Fluide_Dilatable_base &fluide, DoubleVect &resu) const =0
_SIZE_ dimension(int d) const
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")