16#ifndef Post_Processing_Hydrodynamic_Forces_included
17#define Post_Processing_Hydrodynamic_Forces_included
19#include <Convection_Diffusion_Temperature_FT_Disc.h>
20#include <Maillage_FT_Disc.h>
21#include <Equation_base.h>
22#include <Matrice_Dense.h>
24#include <Objet_U_With_Params.h>
38 { ptr_eq_transport_=ptr_eq_transport; }
42 { ptr_eq_temp_ = eqn; }
140 Thermal_correction_discretization_method discr);
156 IntVect& neighboring_elements,
157 const int sauv_list_P1=0,
158 const int num_fa7=-1);
161 IntVect& neighboring_faces,
162 int orientation)
const;
184 Thermal_correction_discretization_method
185 thermal_correction_discretization_method,
186 const IntVect& compo_connexes_fa7,
187 const ArrOfDouble& fa7_surface,
188 const DoubleTab& tab_fa7_normal);
192 const IntVect& compo_connexes_fa7,
193 const ArrOfDouble& fa7_surface,
194 const DoubleTab& tab_fa7_normal);
199 const IntVect& compo_connexes_fa7,
200 const ArrOfDouble& fa7_surface,
201 const DoubleTab& tab_fa7_normal);
204 const int is_discr_elem_diph,
205 const DoubleTab& gravity_center_fa7,
207 const DoubleTab& tab_fa7_normal,
208 const IntTab& particles_eulerian_id_number);
: class Maillage_FT_Disc Cette classe decrit un maillage:
Une chaine de caractere (Nom) en majuscules.
Inherits from Objet_U, adds the very common method set_param for the Objet_U hierarchy.
const DoubleTab & get_dVdy_P2()
OBS_PTR(Convection_Diffusion_Temperature_FT_Disc) ptr_eq_temp_
const DoubleTab & get_sigma_yz_fa7() const
DoubleTab coord_neighbor_fluid_fa7_gradU_2_
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.
const DoubleTab & get_sigma_xy_fa7() const
void raise_the_flag_heat_transfer()
const DoubleTab & get_dUdx_P2()
const DoubleTab & get_dWdz_P1()
const double & get_interpolation_distance_gradU_P1() const
DoubleTab total_pressure_force_
const DoubleTab & get_prop_fa7_ok_P2() const
void fill_absurd_value_coord_neighbor_fluid_fa7(int fa7)
DoubleVect phase_indicator_function_P1_
virtual void resize_sigma(int nb_fa7)
void find_neighboring_faces(DoubleVect &coord_elem_interp, IntVect &neighboring_faces, int orientation) const
double interpolation_distance_pressure_P2_
virtual void compute_friction_force_projected_tensor(int nb_fa7, const Maillage_FT_Disc &mesh, const IntVect &compo_connexes_fa7, const ArrOfDouble &fa7_surface, const DoubleTab &tab_fa7_normal)
void compute_U_P2_moy(const int nb_particles_tot)
bool is_compute_heat_transfer_
const DoubleTab & get_sigma_yy_fa7() const
bool is_post_process_pressure_force_fa7_
void associate_temp_equation(const Convection_Diffusion_Temperature_FT_Disc &eqn)
DoubleTab friction_force_fa7_
void compute_heat_transfer()
DoubleTab heat_transfer_fa7_
bool get_is_post_process_pressure_fa7() const
DoubleTab coord_neighbor_fluid_fa7_pressure_1_
const double & get_interpolation_distance_pressure_P1() const
double interpolation_distance_pressure_P1_
DoubleTab coord_neighbor_fluid_fa7_temp_2_
const Method_friction_force_computation & get_method_friction_force_computation() const
virtual void compute_neighbors_coordinates_fluid_fa7(const int nb_fa7, const int is_discr_elem_diph, const DoubleTab &gravity_center_fa7, const Maillage_FT_Disc &mesh, const DoubleTab &tab_fa7_normal, const IntTab &particles_eulerian_id_number)
void compute_proportion_fa7_ok_and_is_fluid_P2(const int nb_particles_tot)
int flag_heat_transfer_computation_
bool get_is_post_process_friction_force_fa7() const
bool is_post_process_friction_force_fa7_
int trilinear_interpolation_elem(const DoubleTab &valeurs_champ, DoubleTab &coord, DoubleTab &resu)
const DoubleTab & get_dWdy_P1()
void fill_gradU_P2(int fa7, DoubleTab gradU_P2)
int trilinear_interpolation_face_sommets(const DoubleTab &valeurs_champ, DoubleTab &coord, DoubleTab &resu)
void associate_ns_equation(const Navier_Stokes_FT_Disc &eqn)
const double & get_interpolation_distance_gradU_P2() const
const DoubleTab & get_dWdz_P2()
int trilinear_interpolation_gradU_elem(const DoubleTab &valeurs_champ, DoubleTab &coord, DoubleTab &resu)
virtual void resize_gradU_P2(int nb_fa7)
int elem_faces_for_interp(int num_face, int i) const
virtual void resize_data_fa7(int nb_fa7)
Method_pressure_force_computation
void fill_sigma(int fa7, Matrice_Dense stress_tensor)
const DoubleVect & get_total_surface_interf() const
const DoubleTab & get_dVdz_P2()
const DoubleTab & get_prop_P2_fluid() const
const DoubleTab & get_sigma_yx_fa7() const
void find_neighboring_faces_xyz(DoubleVect &coord_elem_interp, IntTab &neighboring_faces) const
const DoubleTab & get_dWdx_P2()
const DoubleTab & get_U_P2() const
DoubleVect total_surface_interf_
const DoubleTab & get_sigma_xx_fa7() const
OBS_PTR(Navier_Stokes_FT_Disc) ptr_eq_ns_
DoubleTab coord_neighbor_fluid_fa7_pressure_2_
const Method_pressure_force_computation & get_method_pressure_force_computation() const
const DoubleVect & get_heat_transfer() const
int trilinear_interpolation_face(const DoubleTab &valeurs_champ, DoubleTab &coord, DoubleTab &resu)
IntTab Nb_fa7_tot_par_compo_
virtual void compute_hydrodynamic_forces()
virtual void compute_pressure_force_trilinear_linear(int nb_fa7, const Maillage_FT_Disc &mesh, Convection_Diffusion_Temperature_FT_Disc::Thermal_correction_discretization_method thermal_correction_discretization_method, const IntVect &compo_connexes_fa7, const ArrOfDouble &fa7_surface, const DoubleTab &tab_fa7_normal)
const DoubleTab & get_friction_force() const
const DoubleTab & get_dWdx_P1()
const DoubleTab & get_dUdy_P2()
bool is_post_process_stress_tensor_fa7_
Location_stress_tensor location_stress_tensor_
const DoubleTab & get_sigma_zx_fa7() const
DoubleTab total_friction_force_
virtual void resize_gradU_P1(int nb_fa7)
const DoubleTab & get_pressure_force_fa7() const
OBS_PTR(Transport_Interfaces_FT_Disc) ptr_eq_transport_
bool is_compute_stokes_theoretical_forces_
double interpolation_distance_temperature_P2_
bool get_is_compute_forces() const
bool get_is_compute_forces_Stokes_th() const
int flag_force_computation_
virtual void compute_friction_force_complet_tensor(int nb_fa7, const Maillage_FT_Disc &mesh, const IntVect &compo_connexes_fa7, const ArrOfDouble &fa7_surface, const DoubleTab &tab_fa7_normal)
const DoubleTab & get_dVdx_P2()
DoubleVect phase_indicator_function_P2_
virtual void resize_and_init_tables(int nb_compo_tot)
const DoubleTab & get_friction_force_fa7() const
double find_neighboring_elements(DoubleVect &coord_elem_interp, IntVect &neighboring_elements, const int sauv_list_P1=0, const int num_fa7=-1)
DoubleTab coord_neighbor_fluid_fa7_gradU_1_
const DoubleTab & get_U_P1() const
void associate_transport_equation(Transport_Interfaces_FT_Disc &ptr_eq_transport)
Method_pressure_force_computation method_pressure_force_computation_
const DoubleTab & get_U_P2_moy() const
bool get_is_post_process_stress_tensor_fa7() const
const DoubleTab & get_sigma_xz_fa7() const
bool get_is_compute_heat_transfer() const
const DoubleTab & get_dVdx_P1()
DoubleVect total_heat_transfer_
DoubleTab pressure_force_fa7_
void fill_gradU_P1(int fa7, DoubleTab gradU_P1)
DoubleTab prop_P2_fluid_compo_
const DoubleTab & get_sigma_zy_fa7() const
const DoubleTab & get_sigma_zz_fa7() const
const Location_stress_tensor & get_location_stress_tensor() const
const DoubleTab & get_dUdy_P1()
double interpolation_distance_temperature_P1_
const double & get_interpolation_distance_pressure_P2() const
double interpolation_distance_gradU_P1_
double interpolation_distance_gradU_P2_
const DoubleVect & get_pressure_fa7() const
DoubleTab coord_neighbor_fluid_fa7_temp_1_
DoubleTab proportion_fa7_ok_UP2_
const DoubleTab & get_dVdz_P1()
bool is_post_process_pressure_fa7_
const DoubleTab & get_dWdy_P2()
const DoubleTab & get_dUdz_P2()
void resize_coord_neighbor_fluid_fa7(int nb_fa7)
int trilinear_interpolation_gradU_elem_P1(const DoubleTab &valeurs_champ, DoubleTab &coord, DoubleTab &resu)
const DoubleTab & get_heat_transfer_fa7() const
bool get_is_post_process_pressure_force_fa7() const
int trilinear_interpolation_gradU_face(const DoubleTab &valeurs_champ, DoubleTab &coord, DoubleTab &resu)
int face_voisins_for_interp(int num_face, int i) const
Method_friction_force_computation method_friction_force_computation_
void drop_the_flag_heat_transfer()
Method_friction_force_computation
@ TRILINEAR_LINEAR_PROJECTED_TENSOR
@ TRILINEAR_LINEAR_COMPLET_TENSOR
const DoubleTab & get_pressure_force() const
const DoubleTab & get_dUdz_P1()
const DoubleTab & get_dUdx_P1()
const DoubleTab & get_dVdy_P1()
double compute_viscosity_edges_sphere(int face1, int face2, int particle_id)