16#include <Op_Dift_Multiphase_VDF_Face.h>
17#include <VDF_discretisation.h>
18#include <Pb_Multiphase.h>
73 double dt_stab, coef = -1.e10;
78 const int cN = (diffu_dt.dimension(0) == 1), cM = (diffu.
dimension(0) == 1), cR = (rho.dimension(0) == 1);
80 double mu_turbulent, mu_physique, nu_physique;
82 for (
int elem = 0; elem < domaine_VDF.
nb_elem(); elem++)
88 const double h = domaine_VDF.
dim_elem(elem, i);
90 deltax += 1. / (h * h);
96 mu_physique = diffu(!cM * elem, ncomp);
97 nu_physique = diffu_dt(!cN * elem, ncomp);
98 diflo = deltax * (mu_physique + mu_turbulent) * (nu_physique / mu_physique);
99 coef = std::max(coef, diflo);
104 dt_stab = 0.5 / (coef + DMINFLOAT);
virtual DoubleTab & valeurs()=0
virtual DoubleTab & passe(int i=1)
classe Champ_base Cette classe est la base de la hierarchie des champs.
virtual void creer_champ(const Motcle &motlu)=0
virtual void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const =0
static void typer_lire_correlation(OWN_PTR(Correlation_base)&, const Probleme_base &, const Nom &, Entree &)
double dim_elem(int, int) const
const Domaine & domaine() const
Class defining operators and methods for all reading operation in an input flow (file,...
virtual const Milieu_base & milieu() const =0
virtual const Champ_base & masse_volumique() const
Renvoie la masse volumique du milieu.
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
Une chaine de caractere (Nom) en majuscules.
Un tableau de chaine de caracteres (VECT(Nom)).
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.
std::enable_if_t< _TYPE_==Type_Operateur::Op_DIFT_MULTIPHASE_FACE, void > set_nut_impl(const DoubleTab &nut)
void associer_pb(const Probleme_base &pb)
std::enable_if_t< _TYPE_==Type_Operateur::Op_DIFT_MULTIPHASE_FACE||_TYPE_==Type_Operateur::Op_DIFT_MULTIPHASE_ELEM, void > associer_corr_impl(const Correlation_base &corr)
void preparer_calcul() override
double calculer_dt_stab() const override
Calcul dt_stab.
const Champ_base & diffusivite() const override
void completer() override
Associe l'operateur au domaine_dis, le domaine_Cl_dis, et a l'inconnue de son equation.
void mettre_a_jour(double) override
DOES NOTHING - to override in derived classes.
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
void creer_champ(const Motcle &motlu) override
void associer_proto(const Probleme_base &, Champs_compris &)
void call_compute_nu_turb()
DoubleTab nu_ou_lambda_turb_
void mettre_a_jour_proto_face(const double temps)
void completer_proto_face(const Operateur_Diff_base &op)
void get_noms_champs_postraitables_proto(const Nom &, Noms &nom, Option opt) const
void ajout_champs_proto_face()
void creer_champ_proto_face(const Motcle &motlu)
void completer_Op_Dift_VDF_base()
virtual const Champ_base & diffusivite_pour_pas_de_temps() const
Renvoie le champ_don correspondant a la vraie diffusivite du milieu qui sert pour le calcul du pas de...
Champs_compris champs_compris_
virtual void preparer_calcul()
static double mp_max(double)
Classe de base des flux de sortie.
_SIZE_ dimension(int d) const