16#ifndef Navier_Stokes_FT_Disc_included
17#define Navier_Stokes_FT_Disc_included
19#include <Convection_Diffusion_Temperature_FT_Disc.h>
20#include <Navier_Stokes_FT_Disc_interne.h>
21#include <Navier_Stokes_Turbulent.h>
24#include <Collision_Model_FT_base.h>
61 const DoubleVect& volumes_entrelaces,
const IntVect& orientation,
const DoubleTab& indicatrice,
const ArrOfDouble& g, DoubleTab& gravite_face)
const;
66 virtual void calculer_dI_dt(DoubleVect& dI_dt,
const DoubleTab& tab_vitesse);
135 double minx = -123., maxx = -123., pente = -123.;
136 bool is_repulsion =
false;
137 bool correction_diffusion_pch_ =
false;
classe Champ_Don_base classe de base des Champs donnes (non calcules)
classe Champ_Fonc_base Classe de base des champs qui sont fonction d'une grandeur calculee
classe Champ_base Cette classe est la base de la hierarchie des champs.
: class Collision_Model_FT
Class defining operators and methods for all reading operation in an input flow (file,...
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
: class Maillage_FT_Disc Cette classe decrit un maillage:
classe Milieu_base Cette classe est la base de la hierarchie des milieux (physiques)
Une chaine de caractere (Nom) en majuscules.
const DoubleTab & get_mpoint() const
DoubleTab & get_set_velocity_field_Stokes_th()
void associer_milieu_base(const Milieu_base &fluide) override
virtual void calculer_gradient_indicatrice(const Champ_base &indicatrice, const DoubleTab &distance_interface_sommets, Champ_base &gradient_i)
Calcul du gradient de l'indicatrice.
DoubleTab & derivee_en_temps_inco(DoubleTab &vpoint) override
Calcul de la derivee en temps de la vitesse.
void projeter() override
methode appelee par Navier_Stokes_std::preparer_calcul.
const SolveurSys & get_solveur_pression() const
virtual const Champ_base * get_delta_vitesse_interface() const
Si le champ de vitesse est discontinu (calcul avec changement de phase), renvoie un pointeur vers le ...
void discretiser_assembleur_pression() override
Methode surchargee de Navier_Stokes_std, appelee par Navier_Stokes_std::discretiser().
void set_id_fluid_phase(const int &id_fluid_phase)
void calculer_delta_u_interface(Champ_base &u0, int phase_pilote, int ordre, const bool future_or_past=false)
Calcul du saut de vitesse a l'interface du au changement de phase.
virtual void calculer_champ_forces_superficielles(const Maillage_FT_Disc &maillage, const Champ_base &gradient_indicatrice, Champ_base &potentiel_elements, Champ_base &potentiel_faces, Champ_base &champ)
Calcul des forces de tension superficielles (F_sigma) et de la partie a rotationnel non nul de la gra...
void compute_particles_eulerian_id_number(const OWN_PTR(Collision_Model_FT_base)&collision_model_ptr)
const DoubleTab & get_interfacial_area() const
void mettre_a_jour(double temps) override
La valeur de l'inconnue sur le pas de temps a ete calculee.
int preparer_calcul() override
methode appelee par Probleme_base::preparer_calcul()
void eulerian_discretization_contact_forces(const DoubleTab &volumic_phase_indicator_function, const DoubleTab &interlaced_volumes, const DoubleTab &eu)
void associer_pb_base(const Probleme_base &probleme) override
S'associe au Probleme passe en parametre.
const int & get_is_penalized() const
void compute_boussinesq_additional_gravity(const Convection_Diffusion_Temperature_FT_Disc &eq, const Fluide_Diphasique &fluide_diphasique, const IntTab &face_voisins, const DoubleVect &volumes_entrelaces, const IntVect &orientation, const DoubleTab &indicatrice, const ArrOfDouble &g, DoubleTab &gravite_face) const
OWN_PTR(Champ_Fonc_base) champ_rho_elem_
const Milieu_base & milieu() const override
OBS_PTR(Probleme_FT_Disc_gen) probleme_ft_
virtual const Probleme_FT_Disc_gen & probleme_ft() const
OWN_PTR(Champ_Don_base) champ_mu_
bool get_new_mass_source() const
bool get_is_solid_particle() const
IntTab particles_eulerian_id_number_
int is_terme_gravite_rhog() const
OWN_PTR(Champ_Don_base) champ_nu_
void shift_secmem2(DoubleTab &shift_secmem2)
void compute_eulerian_field_contact_forces(const Maillage_FT_Disc &mesh, const Champ_base &field_volumic_phase_indicator_function)
int reprendre(Entree &) override
On reprend l'inconnue a partir d'un flot d'entree.
void set_param(Param &titi) const override
virtual void calculer_dI_dt(DoubleVect &dI_dt, const DoubleTab &tab_vitesse)
virtual const Fluide_Diphasique & fluide_diphasique() const
OWN_PTR(Champ_Fonc_base) particles_eulerian_id_number_post_
int sauvegarder(Sortie &) const override
On sauvegarde l'inconnue, puis les sources sur un flot de sortie.
const Champ_Don_base & diffusivite_pour_transport() const override
void set_is_solid_particle(const bool &is_solid_particle)
void calculer_la_pression_en_pa() override
In Front Tracking, pression is in Pa and so pression_pa field <=> pression field.
void discretiser() override
Discretisation des champs utilises dans cette equation.
virtual const Champ_base & calculer_div_normale_interface()
void correct_at_exit_bad_gradient(DoubleTab &u0) const
bool is_shift_secmem2_activated() const
friend class Post_Processing_Hydrodynamic_Forces
OWN_PTR(Champ_Fonc_base) velocity_field_Stokes_th_
OWN_PTR(Champ_Fonc_base) pressure_field_Stokes_th_
std::vector< YAML_data > data_a_sauvegarder() const override
for PDI IO: retrieve name, type and dimensions of the fields to save/restore
void mettre_a_jour_physical_properties(double temps)
const IntTab & get_particles_eulerian_id_number() const
void swap_particles_eulerian_id_number(const ArrOfInt &gravity_center_elem)
const Champ_Fonc_base & champ_rho_faces() const
DoubleTab & get_set_interfacial_area()
DoubleTab & get_set_pressure_field_Stokes_th()
DoubleTab & get_set_mpoint()
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
OWN_PTR(Champ_Fonc_base) champ_rho_faces_
classe Navier_Stokes_Turbulent Cette classe represente l'equation de la dynamique pour un fluide
const Fluide_base & fluide() const
Renvoie le fluide incompressible (milieu physique de l'equation) associe a l'equation.
Helper class to factorize the readOn method of Objet_U classes.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
class SolveurSys Un SolveurSys represente n'importe qu'elle classe
Classe de base des flux de sortie.