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)
class Champ_base This class is the base of the fields hierarchy.
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
Returns the mass density of the medium (const version).
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
A character string (Nom) in uppercase.
An array of character strings (VECT(Nom)).
const Nom & que_suis_je() const
Returns the string identifying the class.
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.
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
Computes dt_stab.
const Champ_base & diffusivite() const override
void completer() override
Associates the operator with the domaine_dis, the domaine_Cl_dis, and the unknown of its 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
Returns the field corresponding to the true diffusivity of the medium used for the time step computat...
Champs_compris champs_compris_
virtual void preparer_calcul()
static double mp_max(double)
Base class for output streams.
_SIZE_ dimension(int d) const