16#include <Nucleation_paroi_PolyMAC_MPFA.h>
17#include <Pb_Multiphase.h>
18#include <Champ_Elem_PolyMAC_MPFA.h>
19#include <Op_Diff_PolyMAC_MPFA_Elem.h>
20#include <Milieu_composite.h>
21#include <Flux_parietal_base.h>
22#include <Flux_interfacial_PolyMAC_HFV.h>
23#include <Matrix_tools.h>
24#include <Array_tools.h>
27#include <Flux_interfacial_PolyMAC_HFV.h>
28#include <Domaine_PolyMAC_MPFA.h>
39 Pb_Multiphase *pbm = sub_type(Pb_Multiphase,
equation().probleme()) ? &ref_cast(Pb_Multiphase,
equation().probleme()) : nullptr;
44 for (
int n = 0; n < pbm->
nb_phases(); n++)
56 Process::exit(
"Nucleation_paroi_PolyMAC_MPFA : wall heat flux correlation needed !");
59 const Flux_parietal_base& correlation_fp = ref_cast(Flux_parietal_base, pbm->
get_correlation(
"flux_parietal"));
62 Process::exit(
"Nucleation_paroi_PolyMAC_MPFA : wall heat flux correlation must calculate the nucleated bubble diameter !");
65 for (
int j = 0 ; j<les_sources_loc.size(); j++)
66 if (sub_type(Flux_interfacial_PolyMAC_HFV, les_sources_loc(j).valeur()))
67 src_flux_interfacial_ = les_sources_loc(j).valeur();
69 if (!src_flux_interfacial_)
83 const IntTab& f_e = domaine.face_voisins();
96 for (
int f = 0; f < domaine.premiere_face_int(); f++)
97 for (
int k = 0, mp = 0 ; k < N ; k++, mp += (Np > 1))
103 secmem(e , k) += 6. * qpi(e,
n_l, k) / (std::max(dnuc(e,k), 1.e-8) * rho(e, k) * sat.
Lvap(press(e, mp)));
virtual DoubleTab & valeurs()=0
virtual DoubleTab & passe(int i=1)
Class defining operators and methods for all reading operation in an input flow (file,...
Sources & sources()
Renvoie les termes sources asssocies a l'equation.
virtual const Operateur & operateur(int) const =0
virtual int calculates_bubble_nucleation_diameter() const
virtual const Champ_base & masse_volumique() const
Renvoie la masse volumique du milieu.
Classe Milieu_composite Cette classe represente un fluide reel ainsi que.
bool has_saturation(int k, int l) const
Saturation_base & get_saturation(int k, int l) const
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
virtual int debute_par(const char *const n) const
classe Nucleation_paroi_PolyMAC_MPFA forme pi * d_nuc**2 * N_nuc Terme source d'aire interfaciale
void dimensionner_blocs(matrices_t matrices, const tabs_t &semi_impl={}) const override
void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={}) const override
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.
virtual Operateur_base & l_op_base()=0
classe Pb_Multiphase Cette classe represente un probleme de thermohydraulique multiphase de type "3*N...
virtual Equation_base & equation_qdm()
const Nom & nom_phase(int i) const
const Equation_base & equation(int) const override
Renvoie l'equation d'hydraulique de type Navier_Stokes_std si i=0 Renvoie l'equation de la thermique ...
const Champ_base & get_champ(const Motcle &nom) const override
int has_correlation(std::string nom_correlation) const
const Correlation_base & get_correlation(std::string nom_correlation) const
virtual const Milieu_base & milieu() const
Renvoie le milieu physique associe au probleme.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
classe QDM_Multiphase Cette classe porte les termes de l'equation de la dynamique
void Lvap(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Classe de base des flux de sortie.
classe Source_base Un objet Source_base est un terme apparaissant au second membre d'une