16#include <Convection_Diffusion_Fluide_Dilatable_base.h>
17#include <Source_Masse_Fluide_Dilatable_VDF.h>
18#include <Fluide_Weakly_Compressible.h>
20#include <Domaine_VF.h>
93 DoubleTrav val_flux(zvf.
nb_faces(), 1);
97 for (
int n_bord = 0; n_bord < domaine_cl_dis_->nb_cond_lim(); n_bord++)
99 const Cond_lim& la_cl = domaine_cl_dis_->les_conditions_limites(n_bord);
105 for (
int num_face = ndeb; num_face < nfin; num_face++)
107 const int elem1 = face_voisins(num_face, 0), elem2 = face_voisins(num_face, 1);
108 int elem = elem1 == -1 ? elem2 : elem1;
110 double srcmass = -(Y(elem) * val_flux(num_face, 0) * surface_elem) / rho(elem);
113 resu(elem) += srcmass;
116 (*post_src_ch).valeurs()(elem) = srcmass;
137 DoubleTrav val_flux(zvf.
nb_faces(), 1);
141 for (
int n_bord = 0; n_bord < domaine_cl_dis_->nb_cond_lim(); n_bord++)
143 const Cond_lim& la_cl = domaine_cl_dis_->les_conditions_limites(n_bord);
150 for (
int num_face = ndeb; num_face < nfin; num_face++)
152 const int elem1 = face_voisins(num_face, 0), elem2 = face_voisins(num_face, 1);
153 int elem = elem1 == -1 ? elem2 : elem1;
155 const double source_per_dv = val_flux(num_face, 0) * surf / zvf.
volumes(elem);
156 resu(elem) -= source_per_dv;
159 (*post_src_ch).valeurs()(elem) = source_per_dv;
class Champ_Don_base base class of Given Fields (not calculated)
DoubleTab & valeurs() override
Returns the array of field values at the current time.
virtual DoubleTab & valeurs()=0
double temps() const
Returns the time of the field.
class Cond_lim Generic class used to represent any class
Base class for convection-diffusion equations for a dilatable fluid.
const Champ_Inc_base & inconnue() const override
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
Domaine_dis_base & domaine_dis()
Returns a reference to the discretized domain associated with the boundary conditions.
virtual const DoubleVect & face_surfaces() const
int nb_faces() const
Returns the total number of faces.
double volumes(int i) const
int face_voisins(int num_face, int i) const
Returns the neighbouring element of num_face in direction i.
Class defining operators and methods for all reading operation in an input flow (file,...
Base class for a dilatable fluid, inheriting from Fluide_base.
bool has_source_masse_espece_champ() const
bool has_source_masse_projection_champ() const
const Champ_Inc_base & inco_chaleur() const
Fluide_Weakly_Compressible class This class represents a weakly compressible fluid,...
int num_premiere_face() const
const Nom & le_nom() const override
Returns the name of the geometric boundary.
virtual const Champ_base & masse_volumique() const
Returns the mass density of the medium (const version).
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.
Base class for output streams.
void ajouter_eq_espece(const Convection_Diffusion_Fluide_Dilatable_base &eqn, const Fluide_Dilatable_base &fluide, const bool is_expl, DoubleVect &resu) const override
void ajouter_projection(const Fluide_Dilatable_base &fluide, DoubleVect &resu) const override
Special mass source term for the mass equation (used only during the projection/correction step).
void fill_val_flux_tab(DoubleTrav &val_flux) const