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++)
int fixer_nb_valeurs_nodales(int) override
void associer_domaine_dis_base(const Domaine_dis_base &) override
DoubleTab & valeurs() override
Returns the array of field values at the current time.
static void verifier(const char *const msg, double)
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.
Class defining operators and methods for all reading operation in an input flow (file,...
Schema_Temps_base & schema_temps()
Returns the time scheme associated with the equation.
virtual void fixer_nb_comp(int i)
Sets the number of components of the field.
const DoubleTab & rho_n() const
const Champ_Inc_base & vitesse() const
const DoubleTab & rho_np1() const
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
Base class carrying the terms of the momentum equation for a fluid without turbulence modelling under...
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
static void mp_sum_for_each_item(TRUSTArray< _TYPE_ > &x, int n=-1)
double pas_de_temps() const
Returns the current time step (delta_t).
Base class for output streams.
Special mass source term for the mass equation (used only during the projection/correction step).
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")