16#ifndef Sources_helpers_Multiphase_included
17#define Sources_helpers_Multiphase_included
19#include <Milieu_composite.h>
20#include <Pb_Multiphase.h>
36 Process::exit(class_name +
" : not needed for single-phase flow!");
53inline int sigma_pair_index(
int k,
int l,
int N)
55 const int lo = std::min(k, l), hi = std::max(k, l);
56 return (lo * (N - 1) - (lo - 1) * lo / 2) + (hi - lo - 1);
63 const DoubleTab& press,
const DoubleTab& temp,
64 int ne,
int N, DoubleTrav& Sigma_tab)
67 for (
int k = 0; k < N; k++)
68 for (
int l = k + 1; l < N; l++)
71 const int idx = sigma_pair_index(k, l, N);
72 for (
int i = 0; i < ne; i++)
73 Sigma_tab(i, idx) = sat.
sigma(temp(i, k), press(i, k * (Np > 1)));
82inline double relative_velocity_norm(
const DoubleTab& vit,
int nf_tot,
int D,
83 int e,
int k,
int n_l)
86 for (
int d = 0; d < D; d++)
88 const double dv = vit(nf_tot + D * e + d, k) - vit(nf_tot + D * e + d, n_l);
91 return std::sqrt(u_r_sq);
98inline double Tomiyama_Cd(
double Reb,
double Eo)
102 return std::clamp(16. / Reb * (1 + 0.15 * std::pow(Reb, 0.687)),
103 8. * Eo / (3. * (Eo + 4.)),
108inline double eotvos_number(
double g,
double rho_l,
double rho_k,
double d_k,
double sigma)
110 return g * std::abs(rho_l - rho_k) * d_k * d_k / sigma;
double sigma(const double T, const double P) const
Classe Milieu_composite Cette classe represente un fluide reel ainsi que.
Interface_base & get_interface(int k, int l) const
class Nom Une chaine de caractere pour nommer les objets de TRUST
virtual int finit_par(const char *const n) const
virtual int debute_par(const char *const n) const
classe Pb_Multiphase Cette classe represente un probleme de thermohydraulique multiphase de type "3*N...
const Nom & nom_phase(int i) const
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.