TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
IJK_Thermal_Multiple_Subresolutions Class Reference

#include <IJK_Thermal_Multiple_Subresolutions.h>

Inheritance diagram for IJK_Thermal_Multiple_Subresolutions:
[legend]
Collaboration diagram for IJK_Thermal_Multiple_Subresolutions:
[legend]

Public Member Functions

void initialize (const Domaine_IJK &splitting) override
void update_thermal_properties () override
void set_param (Param &param) const override
Public Member Functions inherited from IJK_Thermal_Subresolution
void initialize (const Domaine_IJK &splitting) override
void update_thermal_properties () override
void post_process_after_temperature_increment () override
void set_param (Param &param) const override
void compute_ghost_cell_numbers_for_subproblems (const Domaine_IJK &splitting, int ghost_init) override
double get_probes_length ()
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.
void set_thermal_subresolution_outputs (const Nom &interfacial_quantities_thermal_probes, const Nom &shell_quantities_thermal_probes, const Nom &overall_bubbles_quantities, const Nom &local_quantities_thermal_probes_time_index_folder) override
void post_process_thermal_downstream_lines (const Nom &local_quantities_thermal_lines_time_index_folder) override
void initialise_thermal_dowstreamlines_tabs (std::vector< std::vector< FixedVector< ArrOfInt, 3 > > > &parameters, const int &nb_thermal_circles, const int &nb_thermal_lines)
void initialise_thermal_dowstreamlines_tabs (std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &parameters, const int &nb_thermal_circles, const int &nb_thermal_lines)
void initialise_thermal_dowstreamlines_tabs (std::vector< std::vector< ArrOfInt > > &parameters, const int &nb_thermal_circles, const int &nb_thermal_lines)
void initialise_thermal_dowstreamlines_tabs (std::vector< std::vector< ArrOfDouble > > &parameters, const int &nb_thermal_circles, const int &nb_thermal_lines)
void initialise_thermal_line_points (const int &line_dir, ArrOfDouble &linear_coord, FixedVector< ArrOfDouble, 3 > &coordinates_line, double &diameter)
void find_thermal_line_points_in_procs (std::vector< std::vector< ArrOfInt > > &parameters)
void find_cocentric_line_coordinates (const int &nb_thermal_circles, const int &nb_thermal_lines, const double &diameter_approx, std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &coordinates_sides)
void find_points_on_proc (std::vector< std::vector< ArrOfInt > > &is_point_on_proc, std::vector< std::vector< FixedVector< ArrOfInt, 3 > > > &ijk_indices, const FixedVector< ArrOfDouble, 3 > &coordinates_line, const std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &coordinates_sides, const int &line_dir)
void min_max_ldir (const int &dir, const Domaine_IJK &geom, double &min_dir, double &max_dir)
void interpolate_fields_on_downstream_line (const int &dir, const int &nb_thermal_circles, const int &index_circle, const int &index_line, const std::vector< std::vector< ArrOfInt > > &is_point_on_proc, const FixedVector< ArrOfDouble, 3 > &coordinates_line, const std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &coordinates_sides, const IJK_Field_double &field, const IJK_Field_vector3_double &field_gradient, const IJK_Field_vector3_double &velocity, DoubleVect &values, const int field_type)
void interpolate_temperature_on_downstream_line (const int &dir, const int &nb_thermal_circles, const int &index_circle, const int &index_line, const std::vector< std::vector< ArrOfInt > > &is_point_on_proc, const FixedVector< ArrOfDouble, 3 > &coordinates_line, const std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &coordinates_sides, DoubleVect &values)
void interpolate_velocity_on_downstream_line (const int &dir, const int &nb_thermal_circles, const int &index_circle, const int &index_line, const std::vector< std::vector< ArrOfInt > > &is_point_on_proc, const FixedVector< ArrOfDouble, 3 > &coordinates_line, const std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &coordinates_sides, DoubleVect &values)
void interpolate_convective_term_on_downstream_line (const int &dir, const int &nb_thermal_circles, const int &index_circle, const int &index_line, const std::vector< std::vector< ArrOfInt > > &is_point_on_proc, const FixedVector< ArrOfDouble, 3 > &coordinates_line, const std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &coordinates_sides, DoubleVect &values)
void interpolate_diffusive_term_on_downstream_line (const int &dir, const int &nb_thermal_circles, const int &index_circle, const int &index_line, const std::vector< std::vector< ArrOfInt > > &is_point_on_proc, const FixedVector< ArrOfDouble, 3 > &coordinates_line, const std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &coordinates_sides, DoubleVect &values)
void interpolate_temperature_increment_on_downstream_line (const int &dir, const int &nb_thermal_circles, const int &index_circle, const int &index_line, const std::vector< std::vector< ArrOfInt > > &is_point_on_proc, const FixedVector< ArrOfDouble, 3 > &coordinates_line, const std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &coordinates_sides, DoubleVect &values)
void post_processed_fields_on_downstream_line (const Nom &local_quantities_thermal_lines_time_index_folder, const int &line_dir, const int &linear_circle_line_index, const int &index_circle, const int &index_line, const double &diameter_approx, std::vector< std::vector< ArrOfInt > > &is_point_on_proc, const std::vector< std::vector< FixedVector< ArrOfInt, 3 > > > &indices_ijk, const ArrOfDouble &linear_coord, const FixedVector< ArrOfDouble, 3 > &coordinates_line, const std::vector< std::vector< FixedVector< ArrOfDouble, 2 > > > &coordinates_sides, const DoubleVect &temperature_line, const DoubleVect &velocity_line, const DoubleVect &convective_term_line, const DoubleVect &diffusive_term_line, const DoubleVect &temperature_incr_line)
void post_process_thermal_wake_slices (const Nom &local_quantities_thermal_slices_time_index_folder) override
void post_process_thermal_wake_slice (const int &slice, const double &nb_diam_slice, const Nom &local_quantities_thermal_slices_time_index_folder)
double post_process_thermal_wake_slice_index_dir (int &index_dir_local, int &index_dir_global, int &n_cross_section_1, int &n_cross_section_2, int &dir, const double &nb_diam, int upstream_dir, int gravity_dir, double &diameter)
void complete_field_thermal_wake_slice_ij_values (int &index_dir_local, const int &dir, const double &slice_pos, FixedVector< IntTab, 2 > &ij_indices, FixedVector< DoubleTab, 3 > &ij_coords, const IJK_Field_double &field, const IJK_Field_vector3_double &field_gradient, const IJK_Field_vector3_double &velocity, DoubleTab &values, const int field_type, const int slice_to_nearest_plane, const int compute_indices=0)
void complete_field_thermal_wake_slice_ij_indices_coords (const int &slice, int &index_dir_local, const int &dir, const double &slice_pos, FixedVector< IntTab, 2 > &ij_indices, FixedVector< DoubleTab, 3 > &ij_coords, DoubleTab &values, const Nom &local_quantities_thermal_slices_time_index_folder)
void complete_field_thermal_wake_slice_ij_temperature (const int &slice, int &index_dir_local, const int &dir, const double &slice_pos, FixedVector< IntTab, 2 > &ij_indices, FixedVector< DoubleTab, 3 > &ij_coords, DoubleTab &values, const Nom &local_quantities_thermal_slices_time_index_folder)
void complete_field_thermal_wake_slice_ij_velocity (const int &slice, int &index_dir_local, const int &dir, const double &slice_pos, FixedVector< IntTab, 2 > &ij_indices, FixedVector< DoubleTab, 3 > &ij_coords, DoubleTab &velocity_values, const Nom &local_quantities_thermal_slices_time_index_folder)
void complete_field_thermal_wake_slice_ij_convection (const int &slice, int &index_dir_local, const int &dir, const double &slice_pos, FixedVector< IntTab, 2 > &ij_indices, FixedVector< DoubleTab, 3 > &ij_coords, DoubleTab &values, DoubleTab &velocity_values, const Nom &local_quantities_thermal_slices_time_index_folder)
void complete_field_thermal_wake_slice_ij_diffusion (const int &slice, int &index_dir_local, const int &dir, const double &slice_pos, FixedVector< IntTab, 2 > &ij_indices, FixedVector< DoubleTab, 3 > &ij_coords, DoubleTab &values, const Nom &local_quantities_thermal_slices_time_index_folder)
void complete_field_thermal_wake_slice_ij_temperature_incr (const int &slice, int &index_dir_local, const int &dir, const double &slice_pos, FixedVector< IntTab, 2 > &ij_indices, FixedVector< DoubleTab, 3 > &ij_coords, DoubleTab &values, const Nom &local_quantities_thermal_slices_time_index_folder)
void post_processed_field_thermal_wake_slice_ij (const int &slice, const Nom &local_quantities_thermal_slices_time_index_folder, const double &diameter_approx, const double &nb_diam_slice, const int &n_cross_section_1, const int &n_cross_section_2, const FixedVector< IntTab, 2 > ij_indices, const FixedVector< DoubleTab, 3 > &ij_coords, const DoubleTab &temperature_slice, const DoubleTab &velocity_slice, const DoubleTab &convection_slice, const DoubleTab &diffusion_slice, const DoubleTab &temperature_incr_slice)
const IJK_Field_double & get_debug_lrs_cells () const override
const IJK_Field_double & get_temperature_cell_neighbours_debug () const override
const IJK_Field_double & get_temperature_cell_neighbours () const override
const IJK_Field_int & get_cell_neighbours_corrected () const override
const IJK_Field_double & get_neighbours_temperature_colinearity_weighting () const override
const IJK_Field_vector3_double & get_cell_faces_corrected_diffusive () const override
const IJK_Field_vector3_double & get_cell_faces_corrected_convective () const override
const IJK_Field_vector3_int & get_cell_faces_corrected_bool () const override
const IJK_Field_vector3_int & get_cell_faces_neighbours_corrected_diag_bool () const override
const IJK_Field_vector3_int & get_cell_faces_neighbours_corrected_all_bool () const override
const IJK_Field_vector3_int & get_cell_faces_neighbours_corrected_min_max_bool () const override
const IJK_Field_vector3_double & get_cell_faces_neighbours_corrected_convective () const override
const IJK_Field_vector3_double & get_cell_faces_neighbours_corrected_convective_frame_of_ref () const override
const IJK_Field_vector3_double & get_cell_faces_neighbours_corrected_velocity_temperature () const override
const IJK_Field_vector3_double & get_cell_faces_neighbours_corrected_diffusive () const override
const IJK_Field_vector3_double & get_neighbours_faces_weighting_colinearity () const override
const IJK_Field_int & get_cell_neighbours_corrected_trimmed () const override
const IJK_Field_double & get_probe_collision_debug_field () const override
const IJK_Field_vector3_double & get_interfacial_heat_flux_dispatched () const override
const IJK_Field_vector3_double & get_interfacial_heat_flux_contrib () const override
const IJK_Field_vector3_double & get_interfacial_heat_flux_current () const override
int get_disable_post_processing_probes_out_files () const override
int get_first_step_thermals_post () override
void set_subproblems_interfaces_fields (const Domaine_IJK &splitting) override
Public Member Functions inherited from IJK_Thermal_base
const Milieu_basemilieu () const
Milieu_basemilieu ()
void associer_milieu_base (const Milieu_base &, const int &idth)
Fluide_Diphasique_IJKmilieu_ijk ()
const Fluide_Diphasique_IJKmilieu_ijk () const
virtual void initialize_switch (const Domaine_IJK &splitting, const int idx)
double compute_timestep (const double timestep, const double dxmin)
void set_fichier_reprise (const char *lataname)
const Nomget_fichier_reprise () const
void associer (const Probleme_FTD_IJK_base &ijk_ft)
void associer_post (const Postprocessing_IJK &ijk_ft_post)
void associer_switch (const Switch_FT_double &ijk_ft_switch)
bool has_champ (const Motcle &nom) const override
bool has_champ (const Motcle &nom, OBS_PTR(Champ_base)&ref_champ) const
bool has_champ_vectoriel (const Motcle &nom) const override
const IJK_Field_double & get_IJK_field (const Motcle &nom) override
const IJK_Field_vector3_double & get_IJK_field_vector (const Motcle &nom) override
void get_noms_champs_postraitables (Noms &noms, Option opt=NONE) const
Nom get_field_name_with_rank (Nom basename) const
void associer_interface_intersections (const Intersection_Interface_ijk_cell &intersection_ijk_cell, const Intersection_Interface_ijk_face &intersection_ijk_face)
void associer_ghost_fluid_fields (const IJK_Ghost_Fluid_Fields &ghost_fluid_fields)
void retrieve_ghost_fluid_params (int &compute_distance, int &compute_curvature, int &n_iter_distance, int &avoid_gfm_parallel_calls)
void get_boundary_fluxes (IJK_Field_local_double &boundary_flux_kmin, IJK_Field_local_double &boundary_flux_kmax)
virtual void euler_time_step (const double timestep)
virtual void rk3_sub_step (const int rk_step, const double total_timestep, const double time)
virtual void sauvegarder_temperature (Nom &lata_name, int idx, const int &stop=0)
virtual void euler_rustine_step (const double timestep)
virtual void rk3_rustine_sub_step (const int rk_step, const double total_timestep, const double fractionnal_timestep, const double time)
double compute_global_energy (const IJK_Field_double &temperature)
virtual double compute_global_energy ()
int calculer_k_pour_bord (const IJK_Field_double &temperature, const bool bord_kmax)
int calculer_flux_thermique_bord (const IJK_Field_double &temperature, const double lambda_de_t_paroi, const double T_paroi_impose, IJK_Field_local_double &flux_bord, const bool bord_kmax)
int imposer_flux_thermique_bord (const IJK_Field_double &temperature, const double flux_paroi_impose, IJK_Field_local_double &flux_bord, const bool bord_kmax)
void set_latastep_reprise (const int latastep)
const int & get_latastep_reprise () const
const int & get_latastep_reprise_ini () const
double get_rhocp_l () const
double get_rhocp_v () const
const int & get_rank () const
const std::shared_ptr< IJK_Field_double > & get_temperature () const
const IJK_Field_double & get_temperature_before_extrapolation () const
IJK_Field_double & get_temperature_ft ()
const IJK_Field_vector3_double & get_grad_T () const
IJK_Field_double & set_temperature ()
const IJK_Field_double & get_temperature_ana () const
const IJK_Field_double & get_ecart_t_ana () const
const IJK_Field_double & get_ecart_t_ana_rel () const
const IJK_Field_double & get_div_lambda_grad_T () const
const std::shared_ptr< IJK_Field_double > & get_div_lambda_grad_T_volume () const
const IJK_Field_double & get_u_T_convective () const
const IJK_Field_double & get_u_T_convective_volume () const
const IJK_Field_double & get_eulerian_distance_ft () const
const IJK_Field_double & get_eulerian_curvature_ft () const
const IJK_Field_double & get_interfacial_area_ft () const
const IJK_Field_double & get_grad_T_interface_ft () const
const IJK_Field_double & get_eulerian_compo_connex_ft () const
const IJK_Field_double & get_eulerian_compo_connex_ghost_ft () const
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ft () const
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ghost_ft () const
const IJK_Field_double & get_eulerian_compo_connex_ns () const
const IJK_Field_double & get_eulerian_compo_connex_ghost_ns () const
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ns () const
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ghost_ns () const
const IJK_Field_int & get_eulerian_compo_connex_int_from_interface_ns () const
const IJK_Field_int & get_eulerian_compo_connex_int_from_interface_ghost_ns () const
const IJK_Field_double & get_eulerian_distance_ns () const
const IJK_Field_double & get_eulerian_curvature_ns () const
const IJK_Field_double & get_interfacial_area_ns () const
const IJK_Field_double & get_grad_T_interface_ns () const
const IJK_Field_double & get_eulerian_rising_velocities () const
const IJK_Field_double & get_temperature_adim_bulles () const
const IJK_Field_double & get_temperature_adim_theta () const
const IJK_Field_vector3_double & get_gradient_temperature () const
const IJK_Field_vector3_double & get_gradient_temperature_elem () const
const IJK_Field_vector3_double & get_gradient_temperature_elem_smooth () const
const IJK_Field_vector3_double & get_tangential_gradient_temperature_elem_smooth () const
const IJK_Field_double & get_temperature_elem_smooth () const
const IJK_Field_vector3_double & get_normal_vector_ns () const
const IJK_Field_vector3_double & get_normal_vector_ns_normed () const
const IJK_Field_vector3_double & get_normal_vector_ft () const
const IJK_Field_vector3_double & get_hessian_diag_temperature_elem () const
const IJK_Field_vector3_double & get_hessian_cross_temperature_elem () const
const IJK_Field_vector3_double & get_bary () const
bool get_ghost_fluid_flag () const
const int & get_ghost_cells () const
bool get_debug () const
const IJK_Field_vector3_double & get_rho_cp_u_T_convective_fluxes () const
const IJK_Field_vector3_double & get_div_coeff_grad_T_diffusive_fluxes () const
void get_rising_velocities_parameters (int &compute_rising_velocities, int &fill_rising_velocities, int &use_bubbles_velocities_from_interface, int &use_bubbles_velocities_from_barycentres)
virtual double get_rho_cp_u_ijk (const IJK_Field_double &vx, int i, int j, int k) const
virtual double get_div_lambda_ijk (int i, int j, int k) const
virtual double compute_temperature_dimensionless_theta_mean (const IJK_Field_double &vx)
const char * get_fichier_sauvegarde () const
void set_fichier_sauvegarde (const char *lataname)
virtual bool get_conserv_energy_global ()
const double & get_E0 () const
virtual void compute_interfacial_temperature2 (ArrOfDouble &interfacial_temperature, ArrOfDouble &flux_normal_interp)
void compute_eulerian_distance ()
void compute_eulerian_curvature ()
void compute_eulerian_curvature_from_interface ()
void copy_previous_interface_state ()
int post_process_quantities_from_subresolution (const Motcles &liste_post_instantanes, const char *lata_name, const int latastep)
virtual void copie_pure_vers_diph_sans_interpolation ()
virtual void echange_pure_vers_diph_cellules_initialement_pures ()
virtual void echange_diph_vers_pure_cellules_finalement_pures ()
virtual void vide_phase_invalide_cellules_diphasiques ()
virtual void remplir_tableau_pure_cellules_diphasiques (bool next_time)
void post_process_std_thermal_field (const Motcles &liste_post_instantanes, const char *lata_name, const int latastep, const double current_time, const int idx, const Motcles &tested_names, const Nom &name_field, const Motcle &lata_suffix, const IJK_Field_double &field, std::ostringstream &oss, int &counter, const int &first_thermal_rank=0)
int posttraiter_champs_instantanes_thermal (const Motcles &liste_post_instantanes, const char *lata_name, const int latastep, const double current_time, const int idx)
Nomget_thermal_problem_type ()
int & get_thermal_rank ()
const Motclesget_thermal_words () const
const Motclesget_thermal_suffix () const
void posttraiter_tous_champs_thermal (Motcles &liste, const int idx) const
void ecrire_statistiques_bulles (int reset, const Nom &nom_cas, const double current_time, const ArrOfDouble &surface, const int idx)
int posttraiter_champs_instantanes_thermal_interface (const Motcles &liste_post_instantanes, const char *lata_name, const int latastep, const double current_time, const int idx)
int posttraiter_champs_instantanes_thermal_interface_ref (const Motcles &liste_post_instantanes, const char *lata_name, const int latastep, const double current_time, const int idx)
void thermal_subresolution_outputs (const Nom &interfacial_quantities_thermal_probes, const Nom &shell_quantities_thermal_probes, const Nom &overall_bubbles_quantities, const Nom &local_quantities_thermal_probes_time_index_folder, const Nom &local_quantities_thermal_slices_time_index_folder, const Nom &local_quantities_thermal_lines_time_index_folder)
const Noms noms_compris () const
const Champs_compris_IJKchamps_compris () const
Public Member Functions inherited from Objet_U
 ~Objet_U () override
 Destructeur, supprime l'objet de la liste d'objets enregistres dans "memoire".
int numero () const
 Renvoie l'indice de l'objet dans Memoire::data.
virtual int duplique () const =0
virtual SortieprintOn (Sortie &) const
 Ecriture de l'objet sur un flot de sortie Methode a surcharger.
virtual EntreereadOn (Entree &)
 Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual unsigned taille_memoire () const =0
virtual int est_egal_a (const Objet_U &) const
 Renvoie 1 si l'objet x et *this sont une seule et meme instance (meme adresse en memoire).
virtual const Nomle_nom () const
 Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
virtual void nommer (const Nom &)
 Donne un nom a l'Objet_U Methode virtuelle a surcharger.
virtual int reprendre (Entree &)
 Reprise d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual int sauvegarder (Sortie &) const
 Sauvegarde d'un Objet_U sur un flot de sortie Methode a surcharger.
int get_object_id () const
 Renvoie l'identifiant unique de l'objet object_id_.
virtual const Type_infoget_info () const
 Donne des informations sur le type de l'Objet_U.
const Nomque_suis_je () const
 renvoie la chaine identifiant la classe.
const char * le_type () const
 Donne le nom du type de l'Objet_U.
virtual int change_num (const int *const)
 Change le numero interne de l'Objet_U.
virtual int associer_ (Objet_U &)
 Associe l'Objet_U a un autre Objet_U Methode virtuelle a surcharger.
const Interpreteinterprete () const
Interpreteinterprete ()
Public Member Functions inherited from Process
virtual ~Process ()
Public Member Functions inherited from Champs_compris_IJK_interface
virtual ~Champs_compris_IJK_interface ()

Protected Member Functions

void correct_temperature_vapour_for_eulerian_fluxes ()
Protected Member Functions inherited from IJK_Thermal_Subresolution
void reset_subresolution_distributed_vectors ()
void compute_thermal_subproblems () override
void compute_diffusion_increment () override
void correct_temperature_increment_for_interface_leaving_cell () override
void correct_any_temperature_fields_for_eulerian_fluxes (IJK_Field_double &temperature)
void correct_temperature_for_eulerian_fluxes () override
void store_temperature_before_extrapolation () override
void compare_temperature_fields (const IJK_Field_double &temperature, const IJK_Field_double &temperature_ana, IJK_Field_double &error_temperature_ana, IJK_Field_double &error_temperature_ana_rel)
void evaluate_total_liquid_absolute_parameter (const IJK_Field_double &field, double &total_parameter)
void evaluate_total_liquid_parameter_squared (const IJK_Field_double &field, double &total_parameter)
void correct_any_temperature_field_for_visu (IJK_Field_double &temperature)
void correct_temperature_for_visu () override
void clip_min_temperature_values () override
void clip_max_temperature_values () override
void compute_mean_liquid_temperature ()
void compute_overall_probes_parameters ()
void pre_initialise_thermal_subproblems_any_matrices ()
void pre_initialise_thermal_subproblems_matrices ()
void interpolate_indicator_on_probes ()
void clear_sort_problems_colliding_bubbles ()
void interpolate_project_velocities_on_probes ()
void reajust_probes_length_collisions ()
void reajust_probes_length ()
void compute_radial_subresolution_convection_diffusion_operators ()
void compute_local_substep ()
void prepare_temporal_schemes ()
void compute_source_terms_impose_subresolution_boundary_conditions ()
void compute_add_subresolution_source_terms ()
void compute_subresolution_temporal_explicit_implicit_matrices ()
void approximate_temperature_increment_material_derivative ()
void compute_radial_first_second_order_operators (Matrice &radial_first_order_operator_raw, Matrice &radial_second_order_operator_raw, Matrice &radial_first_order_operator, Matrice &radial_second_order_operator)
void compute_first_order_operator_raw (Matrice &radial_first_order_operator)
void compute_first_order_operator (Matrice &radial_first_order_operator, double dr)
void compute_second_order_operator (Matrice &radial_second_order_operator, double dr)
void compute_second_order_operator_raw (Matrice &radial_second_order_operator)
void initialise_identity_matrices (Matrice &identity_matrix, Matrice &identity_matrix_subproblems)
void initialise_identity_matrices_sparse (Matrice &identity_matrix, Matrice &identity_matrix_subproblems)
void initialise_radial_convection_operator (Matrice &radial_first_order_operator, Matrice &radial_convection_matrix)
void initialise_radial_convection_operator_sparse (Matrice &radial_first_order_operator, Matrice &radial_convection_matrix)
void initialise_radial_diffusion_operator (Matrice &radial_second_order_operator, Matrice &radial_diffusion_matrix)
void initialise_radial_diffusion_operator_sparse (Matrice &radial_second_order_operator, Matrice &radial_diffusion_matrix)
void convert_into_sparse_matrix ()
void compute_md_vector ()
void retrieve_temperature_solution ()
void store_previous_temperature_indicator_velocities ()
void check_wrong_values_rhs ()
void initialise_thermal_subproblems_list ()
void initialise_thermal_subproblems ()
void detect_probe_collision ()
void solve_thermal_subproblems ()
void prepare_thermal_flux_correction ()
void compute_min_max_reachable_fluxes ()
void complete_convective_flux_frame_of_reference ()
void update_intersections () override
void compute_convective_diffusive_fluxes_face_centre () override
void compute_convective_fluxes_face_centre () override
void compute_diffusive_fluxes_face_centre () override
void complete_thermal_fluxes_face_centre (const int &fluxes_correction_conservations)
void compute_temperature_cell_centres (const int first_corr) override
void compute_temperature_cell_centres_first_correction ()
void compute_temperature_cell_centres_second_correction ()
void replace_temperature_cell_centres_neighbours (const int &use_neighbours_temperature_to_correct_trimmed)
void prepare_ij_fluxes_k_layers () override
void set_zero_temperature_increment () override
void clean_thermal_subproblems () override
void clean_ijk_intersections () override
void clean_add_thermal_subproblems ()
void enforce_periodic_temperature_boundary_value () override
void correct_operators_for_visu () override
double get_modified_time () override
void compute_temperature_init () override
void recompute_temperature_init () override
void set_field_temperature_per_bubble (const int index_bubble)
Nom compute_quasi_static_spherical_diffusion_expression (const double &time_scope, const int index_bubble, const int index_bubble_real)
Nom generate_expression_temperature_ini (const double &time_scope, const double x, const double y, const double z)
void approx_erf_inverse (const double &x, double &res)
void set_field_T_ana () override
void calculer_ecart_T_ana () override
double compute_spherical_steady_dirichlet_left_right_value (const double &r)
double compute_spherical_steady_dirichlet_left_right_derivative_value (const double &r, const double &temperature_prev)
double compute_spherical_steady_dirichlet_left_right_integral (const double &temperature_end_prev)
double find_time_dichotomy_integral (const double &temperature_integral, double &temperature_end_prev)
void compute_Nusselt_spherical_diffusion ()
double get_time_inflection_derivative (double &temperature_end_min)
double find_time_dichotomy_derivative (const double &temperature_derivative, double &temperature_limit_left, double &temperature_limit_right)
double compute_rho_cp_u_mean (const IJK_Field_double &vx) override
void compare_fluxes_thermal_subproblems () override
Protected Member Functions inherited from IJK_Thermal_base
 OBS_PTR (Milieu_base) le_fluide_
void compute_cell_volume ()
void compute_min_cell_delta ()
void compute_cell_diagonal (const Domaine_IJK &splitting)
virtual void lire_temperature (const Domaine_IJK &splitting)
void calculer_dT (const IJK_Field_vector3_double &velocity)
void compute_temperature_convective_fluxes (const IJK_Field_vector3_double &velocity)
void compute_temperature_convection (const IJK_Field_vector3_double &velocity)
virtual void compute_temperature_convection_conservative (const IJK_Field_vector3_double &velocity)
void compute_boundary_conditions_thermal ()
void compute_temperature_diffusive_fluxes ()
virtual void add_temperature_diffusion ()
void enforce_zero_value_eulerian_distance ()
void enforce_zero_value_eulerian_curvature ()
void enforce_max_value_eulerian_curvature ()
void compute_eulerian_grad_T_interface (const int on_splitting_ns=0)
void propagate_eulerian_grad_T_interface ()
void compute_eulerian_temperature_ghost (const int on_splitting_ns=0)
void compute_eulerian_bounding_box_fill_compo ()
void compute_rising_velocities ()
void compute_temperature_gradient_elem ()
void compute_temperature_hessian_diag_elem ()
void compute_temperature_hessian_cross_elem ()
virtual void clip_temperature_values ()
void calculer_gradient_temperature (const IJK_Field_double &temperature, IJK_Field_vector3_double &grad_T)
void calculer_energies (double &E_liq_pure, double &E_liq, double &E_vap_pure, double &E_vap, double &E_mixt, double &E_tot)
void source_callback ()
void calculer_temperature_physique_T (const IJK_Field_double &vx, const double dTm)
void calculer_temperature_adim_bulles ()
void add_temperature_source ()
void calculer_Nusselt (const IJK_Field_double &vx)
void calculer_temperature_adimensionnelle_theta (const IJK_Field_double &vx, const double qw)
void calculer_source_temperature_ana ()
double compute_variable_wall_temperature (const int kmin, const int kmax)
void force_upstream_temperature (IJK_Field_double &temperature, double T_imposed, const IJK_Interfaces &interfaces, double nb_diam, int upstream_dir, int gravity_dir, int upstream_stencil)
 OBS_PTR (Probleme_FTD_IJK_base) ref_ijk_ft_
 OBS_PTR (Postprocessing_IJK) ref_ijk_ft_post_
 OBS_PTR (Switch_FT_double) ref_ijk_ft_switch_
 OBS_PTR (Intersection_Interface_ijk_cell) ref_intersection_ijk_cell_
 OBS_PTR (Intersection_Interface_ijk_face) ref_intersection_ijk_face_
 OWN_PTR (Corrige_flux_FT_base) corrige_flux_
void compute_mixed_cells_number (const IJK_Field_double &indicator)
Protected Member Functions inherited from Objet_U
 Objet_U ()
 Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_), et enregistre l'objet en "memoire".
 Objet_U (const Objet_U &)
 Constructeur par copie.
const Objet_Uoperator= (const Objet_U &)
 Operateur= : ne fait rien (on conserve le numero et l'identifiant).

Protected Attributes

IJK_Field_double temperature_vapour_
IJK_Field_double div_coeff_grad_T_vapour_volume_
IJK_Field_vector3_double grad_T_vapour_
OpDiffUniformIJKScalar_double diffusion_temperature_vapour_op_
bool main_phase_ = false
int diffusion_flux_vapour_correction_ = 0
int convective_flux_vapour_correction_ = 0
double uniform_lambda_vap_ = 0
double uniform_alpha_vap_ = 0
Protected Attributes inherited from IJK_Thermal_Subresolution
bool enable_probe_collision_detection_ = false
bool enable_resize_probe_collision_ = false
bool debug_probe_collision_ = false
IJK_Field_double probe_collision_debug_field_
bool reference_gfm_on_probes_ = false
bool compute_normal_derivatives_on_reference_probes_ = false
bool disable_probe_weak_gradient_ = false
bool disable_probe_weak_gradient_gfm_ = false
bool reconstruct_previous_probe_field_ = false
bool implicit_solver_from_previous_probe_field_ = false
bool disable_spherical_diffusion_start_ = false
bool single_centred_bubble_ = true
bool computed_centred_bubble_start_ = true
double single_centred_bubble_radius_ini_ = 1.e-3
double probes_end_value_start_ = -1
double probes_end_value_coeff_ = 0.05
int temperature_ini_type_ = 1
double modified_time_init_ = 0.
int spherical_diffusion_ = 1
double nusselt_spherical_diffusion_ = 2.
double nusselt_spherical_diffusion_liquid_ = 2.
double heat_flux_spherical_ = 0.
double mean_liquid_temperature_ = -1
double time_ini_user_ = 0.
bool disable_mixed_cells_increment_ = false
bool enable_mixed_cells_increment_ = true
bool allow_temperature_correction_for_visu_ = false
bool disable_subresolution_ = false
bool diffusive_flux_correction_ = false
bool convective_flux_correction_ = false
bool fluxes_correction_conservations_ = false
bool conserve_max_interfacial_fluxes_ = false
int fluxes_corrections_weighting_ = 0
int impose_fo_flux_correction_ = 1
bool disable_fo_flux_correction_ = false
int subproblem_temperature_extension_ = 0
bool override_vapour_mixed_values_ = false
IJK_One_Dimensional_Subproblems thermal_local_subproblems_
int points_per_thermal_subproblem_ = 32
double coeff_distance_diagonal_ = 2.
double probe_length_ = 0.
double dr_ = 0.
DoubleVect radial_coordinates_
Matrice identity_matrix_explicit_implicit_
Matrice radial_first_order_operator_raw_
Matrice radial_second_order_operator_raw_
Matrice radial_first_order_operator_
Matrice radial_second_order_operator_
Matrice identity_matrix_subproblems_
Matrice radial_diffusion_matrix_
Matrice radial_convection_matrix_
Matrice radial_diffusion_matrix_test_
FixedVector< ArrOfInt, 6 > first_indices_sparse_matrix_
int initialise_sparse_indices_ = 0
IJK_Finite_Difference_One_Dimensional_Matrix_Assembler finite_difference_assembler_
Matrice thermal_subproblems_matrix_assembly_
DoubleVect thermal_subproblems_temperature_solution_ini_
DoubleVect thermal_subproblems_rhs_assembly_
DoubleVect thermal_subproblems_temperature_solution_
Matricethermal_subproblems_matrix_assembly_for_solver_ref_ = nullptr
Matrice thermal_subproblems_matrix_assembly_for_solver_
Matrice thermal_subproblems_matrix_assembly_for_solver_reduced_
IJK_SolveSys_FD_thermal one_dimensional_advection_diffusion_thermal_solver_
IJK_SolveSys_FD_thermal one_dimensional_advection_diffusion_thermal_solver_implicit_
MD_Vector md_
Motcles fd_solvers_
Motcles fd_solvers_jdd_
int fd_solver_rank_ = 0
Nom fd_solver_type_
bool discrete_integral_ = false
int quadtree_levels_ = 1
int compute_tangential_variables_ = 0
int boundary_condition_interface_ = -1
Motcles boundary_condition_interface_dict_
double interfacial_boundary_condition_value_ = 0.
bool impose_boundary_condition_interface_from_simulation_ = false
int boundary_condition_end_ = 0
Motcles boundary_condition_end_dict_
double end_boundary_condition_value_ = -1.
bool impose_user_boundary_condition_end_value_ = false
int source_terms_type_ = 2
Motcles source_terms_type_dict_
bool source_terms_correction_ = false
bool advected_frame_of_reference_ = false
bool neglect_frame_of_reference_radial_advection_ = false
bool approximate_temperature_increment_ = false
bool is_first_time_step_ = false
bool first_time_step_temporal_ = false
bool first_time_step_explicit_ = false
bool first_time_step_implicit_ = false
bool local_diffusion_fourier_priority_ = false
int nb_iter_explicit_local_ = 0
double local_fourier_ = 1.
double local_cfl_ = 1.
double delta_T_subcooled_overheated_ =-1.
double convection_diffusion_time_scale_factor_ = 1.
double local_fourier_time_step_probe_length_ = 0.
double local_cfl_time_step_probe_length_ = 0.
double local_dt_cfl_ = 0.
double local_dt_cfl_min_delta_xyz_ = 0.
double local_dt_cfl_counter_ = 0.
double local_dt_fourier_counter_ = 0.
double error_temperature_ana_total_ = 0.
double error_temperature_ana_squared_total_ = 0.
double error_temperature_ana_rel_total_ = 0.
bool first_time_step_varying_probes_ = false
bool probe_variations_enabled_ = false
bool probe_variations_priority_ = false
bool disable_interpolation_in_mixed_cells_ = false
bool keep_temperature_extrapolated_from_LRS_ = false
bool max_u_radial_ = false
IJK_Field_double debug_LRS_cells_
int distance_cell_faces_from_lrs_ = 1
bool disable_distance_cell_faces_from_lrs_ = false
bool pre_initialise_thermal_subproblems_list_ = false
double pre_factor_subproblems_number_ = 3.
bool remove_append_subproblems_ = false
bool use_sparse_matrix_ = false
int global_probes_characteristics_ = 1
bool correct_temperature_cell_neighbours_first_iter_ = false
int correct_first_iter_deactivate_cell_neighbours_ = 0
bool find_temperature_cell_neighbours_ = false
bool use_temperature_cell_neighbours_ = false
bool correct_neighbours_using_probe_length_ = false
int neighbours_corrected_rank_ = 1
int neighbours_weighting_ = 0
bool neighbours_colinearity_weighting_ = false
bool neighbours_distance_weighting_ = false
bool neighbours_colinearity_distance_weighting_ = false
bool smooth_temperature_field_ = false
bool readjust_probe_length_from_vertices_ = false
IJK_Field_double temperature_cell_neighbours_
IJK_Field_double temperature_cell_neighbours_debug_
IJK_Field_int neighbours_temperature_to_correct_
IJK_Field_double neighbours_temperature_colinearity_weighting_
bool keep_max_flux_correction_ = false
bool clip_temperature_values_ = false
bool enforce_periodic_boundary_value_ = false
int stencil_periodic_boundary_value_ = 2
bool disable_post_processing_probes_out_files_ = false
IJK_Field_vector3_double cell_faces_corrected_diffusive_
IJK_Field_vector3_double cell_faces_corrected_convective_
IJK_Field_vector3_int cell_faces_corrected_bool_
bool store_cell_faces_corrected_ = false
IJK_Field_vector3_int cell_faces_neighbours_corrected_diag_bool_
bool find_cell_neighbours_for_fluxes_spherical_correction_ = false
bool use_cell_neighbours_for_fluxes_spherical_correction_ = false
bool find_reachable_fluxes_ = false
bool use_reachable_fluxes_ = false
bool keep_first_reachable_fluxes_ = false
IJK_Field_vector3_int cell_faces_neighbours_corrected_all_bool_
IJK_Field_vector3_double cell_faces_neighbours_corrected_velocity_temperature_
IJK_Field_vector3_double cell_faces_neighbours_corrected_convective_frame_of_reference_
IJK_Field_vector3_double cell_faces_neighbours_corrected_convective_
IJK_Field_vector3_double cell_faces_neighbours_corrected_diffusive_
IJK_Field_vector3_double neighbours_faces_weighting_colinearity_
IJK_Field_vector3_int cell_faces_neighbours_corrected_min_max_bool_
IJK_Field_int neighbours_temperature_to_correct_trimmed_
int neighbours_last_faces_weighting_ = 0
bool neighbours_last_faces_colinearity_weighting_ = false
bool neighbours_last_faces_colinearity_face_weighting_ = false
bool neighbours_last_faces_distance_weighting_ = false
bool neighbours_last_faces_distance_colinearity_weighting_ = false
bool neighbours_last_faces_distance_colinearity_face_weighting_ = false
bool post_process_all_probes_ = false
int nb_theta_post_pro_ = 10
int nb_phi_post_pro_ = 4
int nb_probes_post_pro_ = 40
bool interp_eulerian_ = false
int first_step_thermals_post_ = 1
bool disable_first_step_thermals_post_ = false
bool copy_fluxes_on_every_procs_ = true
bool copy_temperature_on_every_procs_ = true
bool post_process_thermal_slices_ = false
bool thermal_slices_regions_ = false
double nb_diam_slice_ = -1
int nb_slices_ = 1
int upstream_dir_slice_ = -1
bool disable_slice_to_nearest_plane_ = false
bool post_process_thermal_lines_ = false
int upstream_dir_line_ = -1
int nb_thermal_lines_ = 1
int nb_thermal_concentric_circles_ = 1
int nb_thermal_line_points_ = 100
double nb_diam_thermal_line_length_ = -1
bool use_corrected_velocity_convection_ = false
bool use_velocity_cartesian_grid_ = false
bool compute_radial_displacement_ = false
bool use_normal_gradient_for_flux_corr_ = false
IJK_Field_vector3_double interfacial_heat_flux_dispatched_
FixedVector< ArrOfInt, 3 > ijk_indices_flux_out_
FixedVector< ArrOfDouble, 3 > thermal_flux_out_
IJK_Field_int zero_liquid_neighbours_
IJK_Field_vector3_double interfacial_heat_flux_contrib_
IJK_Field_vector3_double interfacial_heat_flux_current_
FixedVector< ArrOfInt, 4 > ijk_indices_flux_contrib_
ArrOfDouble thermal_flux_out_contrib_
Protected Attributes inherited from IJK_Thermal_base
int needs_op_unform_ = 1
int thermal_rank_ = 0
Nom thermal_problem_type_ = "subresolution"
Motcles thermal_words_
Motcles lata_suffix_
Champs_compris_IJK champs_compris_
bool debug_ = false
int latastep_reprise_ = 0
int latastep_reprise_ini_ = 0
double E0_ = 0.
int rank_ = 0
double dt_fo_ = 1.e20
double fo_ = 1.
double cp_liquid_ = -123.
double cp_vapour_ = -123.
double lambda_liquid_ = -123.
double lambda_vapour_ = -123.
double uniform_lambda_ = 0.
double uniform_alpha_ = 0.
double prandtl_number_ = 0.
Boundary_Conditions_Thermique boundary_conditions_
IJK_Field_local_double boundary_flux_kmin_
IJK_Field_local_double boundary_flux_kmax_
Nom expression_T_init_ = "??"
double upstream_temperature_ = -1.1e20
double nb_diam_upstream_ = 0
int side_temperature_ = 0
int stencil_side_ = 0
Nom fichier_reprise_temperature_ = "??"
int timestep_reprise_temperature_ = 1
int rank_reprise_temperature_ = -1
Nom expression_source_temperature_
Nom type_T_source_ = "??"
bool lambda_variable_ = false
bool wall_flux_ = false
IJK_Field_double source_temperature_
IJK_Field_double source_temperature_v_
IJK_Field_double source_temperature_l_
IJK_Field_double d_source_Tl_
IJK_Field_double d_source_Tv_
double dTl_ = 0.
double dTv_ = 1.
double Tl_ = 0.
double Tv_ = 1.
double Tv0_ = 1.
double kl_ = -100000000000000.
double kv_ = -200000000000000.
double T0v_ = 1.
double T0l_ = 0.
IJK_Field_double source_temperature_ana_
IJK_Field_double ecart_source_t_ana_
IJK_Field_double temperature_physique_T_
IJK_Field_double temperature_adimensionnelle_theta_
IJK_Field_double temperature_adim_bulles_
bool diff_temperature_negligible_ = false
bool conv_temperature_negligible_ = false
int type_temperature_convection_form_ = 1
Operateur_IJK_elem_conv temperature_convection_op_
Operateur_IJK_elem_conv rho_cp_convection_op_
Operateur_IJK_elem_diff temperature_diffusion_op_
IJK_Field_vector3_double div_coeff_grad_T_raw_
std::shared_ptr< IJK_Field_double > div_coeff_grad_T_volume_
IJK_Field_double div_coeff_grad_T_
IJK_Field_vector3_double rho_cp_u_T_convective_raw_
IJK_Field_double u_T_convective_volume_
IJK_Field_double u_T_convective_
OpGradFluxQuickIJKScalar_double temperature_grad_flux_op_quick_
OpGradCentre2IJKScalar_double temperature_grad_op_centre_
OpHessCentre2IJKScalar_double temperature_hess_op_centre_
OpHessFluxCentre2IJKScalar_double temperature_hess_flux_op_centre_
double vol_ = 0.
double min_delta_xyz_ = 0.
double cell_diagonal_ = 0.
int ghost_cells_ = 4
IJK_Field_double rho_cp_
IJK_Field_double rho_cp_T_
IJK_Field_double div_rho_cp_T_
std::shared_ptr< IJK_Field_double > temperature_
IJK_Field_double temperature_for_ini_per_bubble_
IJK_Field_double temperature_before_extrapolation_
std::shared_ptr< IJK_Field_double > d_temperature_
std::shared_ptr< IJK_Field_double > RK3_F_temperature_
IJK_Field_vector3_double storage_
int calculate_local_energy_ = 0
bool conserv_energy_global_ = false
IJK_Field_double temperature_ft_
Nom expression_T_ana_ = "??"
Motcles liste_post_instantanes_
IJK_Field_double temperature_ana_
IJK_Field_double ecart_t_ana_
IJK_Field_double ecart_t_ana_rel_
IJK_Field_vector3_double grad_T_
int calulate_grad_T_ = 0
int rho_cp_post_ = 0
bool ghost_fluid_ = false
int n_iter_distance_ = 3
bool gfm_recompute_field_ini_ = true
bool gfm_zero_neighbour_value_mean_ = false
int gfm_vapour_mixed_only_ = 1
bool gfm_vapour_liquid_vapour_ = false
int gfm_smooth_factor_ = 20
bool avoid_gfm_parallel_calls_ = false
int compute_distance_ = 0
int compute_curvature_ = 0
int compute_grad_T_interface_ = 0
const DoubleTab * bounding_box_ = nullptr
const DoubleTab * min_max_larger_box_ = nullptr
const IJK_Ghost_Fluid_Fieldsghost_fluid_fields_ = nullptr
const IJK_Field_double * eulerian_distance_ft_ = nullptr
const IJK_Field_double * eulerian_distance_ns_ = nullptr
const IJK_Field_vector3_double * eulerian_normal_vectors_ft_ = nullptr
const IJK_Field_vector3_double * eulerian_facets_barycentre_ft_ = nullptr
const IJK_Field_vector3_double * eulerian_normal_vectors_ns_ = nullptr
const IJK_Field_vector3_double * eulerian_normal_vectors_ns_normed_ = nullptr
const IJK_Field_vector3_double * eulerian_facets_barycentre_ns_ = nullptr
const IJK_Field_double * eulerian_curvature_ft_ = nullptr
const IJK_Field_double * eulerian_curvature_ns_ = nullptr
const IJK_Field_double * eulerian_interfacial_area_ft_ = nullptr
const IJK_Field_double * eulerian_interfacial_area_ns_ = nullptr
IJK_Field_double eulerian_grad_T_interface_ft_
IJK_Field_double eulerian_grad_T_interface_ns_
int compute_grad_T_elem_ = 0
IJK_Field_vector3_double grad_T_elem_
bool smooth_grad_T_elem_ = false
IJK_Field_vector3_double grad_T_elem_smooth_
IJK_Field_vector3_double hess_diag_T_elem_
IJK_Field_vector3_double hess_cross_T_elem_
IJK_Field_vector3_double facets_barycentre
IJK_Field_double d_temperature_uncorrected_
IJK_Field_double div_coeff_grad_T_volume_uncorrected_
Operateur_IJK_elem_conv temperature_convection_op_uncorrected_
Operateur_IJK_elem_diff temperature_diffusion_op_uncorrected_
int compute_hess_T_elem_ = 0
int compute_hess_diag_T_elem_ = 0
int compute_hess_cross_T_elem_ = 0
int mixed_cells_number_ = 0
bool compute_eulerian_compo_ = false
int spherical_approx_ = 1
bool spherical_exact_ = false
const IJK_Field_double * eulerian_compo_connex_ft_ = nullptr
const IJK_Field_double * eulerian_compo_connex_ns_ = nullptr
const IJK_Field_double * eulerian_compo_connex_ghost_ft_ = nullptr
const IJK_Field_double * eulerian_compo_connex_ghost_ns_ = nullptr
const IJK_Field_double * eulerian_compo_connex_from_interface_ft_ = nullptr
const IJK_Field_double * eulerian_compo_connex_from_interface_ns_ = nullptr
const IJK_Field_double * eulerian_compo_connex_from_interface_ghost_ft_ = nullptr
const IJK_Field_double * eulerian_compo_connex_from_interface_ghost_ns_ = nullptr
const IJK_Field_int * eulerian_compo_connex_from_interface_int_ns_ = nullptr
const IJK_Field_int * eulerian_compo_connex_from_interface_ghost_int_ns_ = nullptr
int compute_rising_velocities_ = 0
int fill_rising_velocities_ = 0
bool use_bubbles_velocities_from_interface_ = false
bool use_bubbles_velocities_from_barycentres_ = false
const Vecteur3liquid_velocity_ = nullptr
const Vecteur3rising_velocity_overall_ = nullptr
const ArrOfDouble * rising_velocities_ = nullptr
const ArrOfDouble * rising_velocities_from_barycentres_ = nullptr
const DoubleTab * rising_vectors_ = nullptr
const DoubleTab * rising_vectors_from_barycentres_ = nullptr
const IJK_Field_double * eulerian_rising_velocities_ = nullptr
const ArrOfDouble * bubbles_volume_ = nullptr
const DoubleTab * bubbles_barycentre_ = nullptr
const DoubleTab * bubbles_barycentres_old_ = nullptr
const DoubleTab * bubbles_barycentres_new_ = nullptr
IJK_Field_vector3_int dummy_int_vect_
IJK_Field_vector3_double dummy_double_vect_
IJK_Field_int dummy_int_field_
IJK_Field_double dummy_double_field_
bool store_flux_operators_for_energy_balance_ = false
bool disable_relative_velocity_energy_balance_ = false
IJK_One_Dimensional_Subproblems_Interfaces_Fields thermal_local_subproblems_interfaces_fields_
IJK_Field_double temperature_gaussian_filtered_
IJK_Field_double tmp_smoothing_field_
IJK_Field_vector3_double grad_T_elem_tangential_
int smoothing_numbers_ = 1
bool smoothing_remove_normal_compo_ = false
bool smoothing_use_unique_phase_ = false
double direct_smoothing_factors_ [7] = {1.,1.,1.,1.,1.,1.,2.}
double gaussian_smoothing_factors_ [3][3][3]
double sharpen_smoothing_factors_ [3][3][3]

Additional Inherited Members

Public Types inherited from IJK_Thermal_base
using FieldInfo_t = Champs_compris_IJK_interface::FieldInfo_t
Public Types inherited from Champs_compris_IJK_interface
using FieldInfo_t = std::tuple<Motcle, Entity, Nature_du_champ, bool>
Static Public Member Functions inherited from IJK_Thermal_base
static void Fill_postprocessable_fields (std::vector< FieldInfo_t > &chps)
static void typer_lire_thermal_equation (OWN_PTR(IJK_Thermal_base)&, Entree &)
Static Public Member Functions inherited from Objet_U
static const Nomnom_du_cas ()
 Renvoie une reference constante vers le nom du cas.
static Nomget_set_nom_du_cas ()
 Renvoie une reference non constante vers le nom du cas (pour pouvoir le modifier).
static const Type_infoinfo ()
 Donne des informations sur le type de l'Objet_U.
static const Objet_Uself_cast (const Objet_U &)
 methode ajoutee pour caster en python
static Objet_Uself_cast (Objet_U &)
Static Public Member Functions inherited from Process
static int me ()
 renvoie mon rang dans le groupe de communication courant.
static int nproc ()
 renvoie le nombre de processeurs dans le groupe courant Voir Comm_Group::nproc() et PE_Groups::current_group()
static bool is_parallel ()
static void exit (int exit_code=-1)
 Routine de sortie de TRUST dans une region Kokkos.
static double mp_sum (double)
 Calcule la somme de x sur tous les processeurs du groupe courant.
static float mp_sum (float)
static trustIdType mp_sum (trustIdType)
 Calcule la somme de x sur tous les processeurs du groupe courant.
static double mp_max (double)
static double mp_min (double)
static int mp_max (int)
 renvoie le plus grand int i sur l'ensemble des processeurs du groupe courant.
static int mp_min (int)
 renvoie le plus petit int i sur l'ensemble des processeurs du groupe courant.
static double mp_sum_as_double (int v)
static trustIdType mppartial_sum (trustIdType i)
 Calul de la somme partielle de i sur les processeurs 0 a me()-1 (renvoie 0 sur le processeur 0).
template<typename T>
static void mp_sum_for_each (T &arg1, T &arg2)
 C++14 compatible mp_sum_for_each: combine multiple mp_sum calls into one collective operation Usage: mp_sum_for_each(a, b); mp_sum_for_each(a, b, c); mp_sum_for_each(a, b, c, d); mp_sum_for_each(a, b, c, d, e); All arguments must be of the same type (double or int) and are modified in place. Supports 2-5 parameters.
template<typename T>
static void mp_sum_for_each (T &arg1, T &arg2, T &arg3)
template<typename T>
static void mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4)
template<typename T>
static void mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5)
template<typename T>
static void mp_max_for_each (T &arg1, T &arg2)
 C++14 compatible mp_max_for_each: combine multiple mp_max calls into one collective operation.
template<typename T>
static void mp_max_for_each (T &arg1, T &arg2, T &arg3)
template<typename T>
static void mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4)
template<typename T>
static void mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5)
template<typename T>
static void mp_min_for_each (T &arg1, T &arg2)
 C++14 compatible mp_min_for_each: combine multiple mp_min calls into one collective operation.
template<typename T>
static void mp_min_for_each (T &arg1, T &arg2, T &arg3)
template<typename T>
static void mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4)
template<typename T>
static void mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5)
template<typename _TYPE_>
static void mp_sum_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1)
template<typename _TYPE_>
static void mp_max_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1)
template<typename _TYPE_>
static void mp_min_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1)
static bool mp_and (bool)
 Calcule le 'et' logique de b sur tous les processeurs du groupe courant.
static bool mp_or (bool)
static int check_int_overflow (trustIdType)
static int je_suis_maitre ()
 renvoie 1 si on est sur le processeur maitre du groupe courant (c'est a dire me() == 0), 0 sinon.
static KOKKOS_INLINE_FUNCTION void Kokkos_exit (const char *)
 Routine de sortie de TRUST dans une region Kokkos.
static int node_master ()
 renvoie 1 si on est sur le processeur maitre du noeud numa, 0 sinon.
static void exit (const Nom &message, int exit_code=-1)
static bool is_sequential ()
static void barrier ()
 Synchronise tous les processeurs du groupe courant (attend que tous les processeurs soient arrives a la barriere).
static void abort ()
 Routine de sortie de Trio-U sur une erreur abort().
static SortieJournal (int message_level=0)
 Renvoie un objet statique de type Sortie qui sert de journal d'evenements.
static double ram_processeur ()
static void imprimer_ram_totale (int all_process=0)
static bool force_single_file (const int ranks, const Nom &filename)
Static Public Attributes inherited from Objet_U
static double precision_geom = 1e-10
static constexpr bool HAS_POINTER = false
static int dimension =0
static int format_precision_geom =11
static int axi =0
static int bidim_axi =0
static int DEACTIVATE_SIGINT_CATCH =0
static Type_info info_obj
static bool disable_TU =false
 Flag to disable or not the writing of the .TU files.
static bool stat_per_proc_perf_log =false
 Flag to enable the writing of the statistics detailed per processor in _csv.TU file.
Static Public Attributes inherited from Process
static int exception_sur_exit =0
static int multiple_files =5120
Protected Types inherited from IJK_Thermal_Subresolution
enum  temperature_ini_dict { local_criteria , integral_criteria , derivative_criteria , time_criteria }
Protected Types inherited from IJK_Thermal_base
enum  THERMAL_TYPE {
  SUBRES , MSUBRES , ONEFLUID , ONEFLUIDE ,
  CUTCELL
}

Detailed Description

Definition at line 46 of file IJK_Thermal_Multiple_Subresolutions.h.

Member Function Documentation

◆ correct_temperature_vapour_for_eulerian_fluxes()

void IJK_Thermal_Multiple_Subresolutions::correct_temperature_vapour_for_eulerian_fluxes ( )
protected

Definition at line 81 of file IJK_Thermal_Multiple_Subresolutions.cpp.

◆ initialize()

void IJK_Thermal_Multiple_Subresolutions::initialize ( const Domaine_IJK & splitting)
overridevirtual

Reimplemented from IJK_Thermal_base.

Definition at line 63 of file IJK_Thermal_Multiple_Subresolutions.cpp.

◆ set_param()

void IJK_Thermal_Multiple_Subresolutions::set_param ( Param & param) const
overridevirtual

Reimplemented from IJK_Thermal_base.

Definition at line 58 of file IJK_Thermal_Multiple_Subresolutions.cpp.

◆ update_thermal_properties()

void IJK_Thermal_Multiple_Subresolutions::update_thermal_properties ( )
overridevirtual

Reimplemented from IJK_Thermal_base.

Definition at line 76 of file IJK_Thermal_Multiple_Subresolutions.cpp.

Member Data Documentation

◆ convective_flux_vapour_correction_

int IJK_Thermal_Multiple_Subresolutions::convective_flux_vapour_correction_ = 0
protected

Definition at line 73 of file IJK_Thermal_Multiple_Subresolutions.h.

◆ diffusion_flux_vapour_correction_

int IJK_Thermal_Multiple_Subresolutions::diffusion_flux_vapour_correction_ = 0
protected

Definition at line 72 of file IJK_Thermal_Multiple_Subresolutions.h.

◆ diffusion_temperature_vapour_op_

OpDiffUniformIJKScalar_double IJK_Thermal_Multiple_Subresolutions::diffusion_temperature_vapour_op_
protected

Definition at line 69 of file IJK_Thermal_Multiple_Subresolutions.h.

◆ div_coeff_grad_T_vapour_volume_

IJK_Field_double IJK_Thermal_Multiple_Subresolutions::div_coeff_grad_T_vapour_volume_
protected

Definition at line 64 of file IJK_Thermal_Multiple_Subresolutions.h.

◆ grad_T_vapour_

IJK_Field_vector3_double IJK_Thermal_Multiple_Subresolutions::grad_T_vapour_
protected

Definition at line 65 of file IJK_Thermal_Multiple_Subresolutions.h.

◆ main_phase_

bool IJK_Thermal_Multiple_Subresolutions::main_phase_ = false
protected

Definition at line 71 of file IJK_Thermal_Multiple_Subresolutions.h.

◆ temperature_vapour_

IJK_Field_double IJK_Thermal_Multiple_Subresolutions::temperature_vapour_
protected

Definition at line 63 of file IJK_Thermal_Multiple_Subresolutions.h.

◆ uniform_alpha_vap_

double IJK_Thermal_Multiple_Subresolutions::uniform_alpha_vap_ = 0
protected

Definition at line 76 of file IJK_Thermal_Multiple_Subresolutions.h.

◆ uniform_lambda_vap_

double IJK_Thermal_Multiple_Subresolutions::uniform_lambda_vap_ = 0
protected

Definition at line 75 of file IJK_Thermal_Multiple_Subresolutions.h.


The documentation for this class was generated from the following files: