16#include <Interface_Baer_Nunziato.h>
17#include <Milieu_composite_Euler.h>
18#include <Discretisation_base.h>
19#include <Fluide_reel_base.h>
20#include <Champ_Uniforme.h>
21#include <Momentum_Euler.h>
35 Process::exit(
"We dont accept at present a saturation object in Milieu_composite_Euler ... But we will soon !\n");
39 Cerr <<
"Error while reading Milieu_composite_Euler !!" << finl;
40 Cerr <<
"You are simulating a Single-Phase Euler problem. No need to define an interface !" << finl;
41 Cerr <<
"Please remove the object " <<
inter_lu_->que_suis_je() <<
" from your data file !" << finl;
46 Process::exit(
"We dont accept at present an interface object with a type different than Interface_Baer_Nunziato !\n");
53 Cerr <<
"Composite Euler medium discretization" << finl;
72 const int Nb_phase =
static_cast<int>(
fluides_.size());
75 for (
int n = 0; n < Nb_phase; n++)
80 for (
int i = 0; i < Nb_elem; i++)
84 nom_u2 += vit_phase(i, d) * vit_phase(i, d);
86 alpha_energie_tot_jdd(i, n) = alpha(i, n) * phase.
init_energie_tot(rho(i, n), nom_u2, p(i, n));
100 DoubleTrav rhoE(alpha_rhoE);
102 tab_divide_any_shape(rhoE, alpha);
104 const int Nb_phase =
static_cast<int>(
fluides_.size());
107 for (
int n = 0; n < Nb_phase; n++)
112 for (
int e = 0; e < Nb_elem; e++)
116 nom_u2 += vit_phase(e, d) * vit_phase(e, d);
132 const int Nb_phase =
static_cast<int>(
fluides_.size());
137 for (
int n = 0; n < Nb_phase; n++)
140 for (
int e = 0; e < Nb_elem; e++)
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
classe Discretisation_base Cette classe represente un schema de discretisation en espace,...
Class defining operators and methods for all reading operation in an input flow (file,...
virtual const Champ_Inc_base & inconnue() const =0
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
Classe Fluide_reel_base Cette classe represente un fluide reel ainsi que.
virtual double calculer_vitesse_son(const double &rho, const double &p) const
virtual double init_energie_tot(const double &rho, const double &norm_U, const double &u) const
virtual double calculer_pression(const double &rho, const double &rhou, const double &rhoE) const
void discretiser_porosite(const Probleme_base &pb, const Discretisation_base &dis)
virtual const Equation_base & equation(const std::string &nom_inc) const
void calculer_pression(DoubleTab &pression_old) const
void calculer_vitesse_son(DoubleTab &c) const
void init_energie_tot(DoubleTab &energie_tot_jdd) const
void discretiser(const Probleme_base &pb, const Discretisation_base &dis) override
Classe Milieu_composite Cette classe represente un fluide reel ainsi que.
std::vector< OWN_PTR(Fluide_base)> fluides_
const Fluide_base & get_fluid(const int i) const
const Champ_Inc_base & vitesse_phase(const int i) const
Champ_Inc_base & pression()
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.
_SIZE_ dimension_tot(int) const override
_SIZE_ dimension(int d) const
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")