|
TrioCFD 1.9.8
TrioCFD documentation
|
#include <Collision_Model_FT_arbitrary.h>
Public Member Functions | |
| Collision_Model_FT_arbitrary () | |
| void | compute_lagrangian_contact_forces (const Fluide_Diphasique &two_phase_fluid, const DoubleTab &particles_position, const DoubleTab &particles_velocity, const double &deltat_simu) override |
| void | discretize_contact_forces_eulerian_field (const DoubleTab &volumic_phase_indicator_function, const Domaine_VF &domain_vf, const IntTab &particles_eulerian_id_number, DoubleTab &contact_force_source_term) override |
| Public Member Functions inherited from Collision_Model_FT_base | |
| Collision_Model_FT_base () | |
| 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. | |
| int | reprendre (Entree &is) override |
| Reprise d'un Objet_U sur un flot d'entree Methode a surcharger. | |
| int | sauvegarder (Sortie &os) const override |
| Sauvegarde d'un Objet_U sur un flot de sortie Methode a surcharger. | |
| int | preparer_calcul (const Domaine_VDF &domain_vdf, const int nb_particles_tot, const Navier_Stokes_FT_Disc &ns, const Transport_Interfaces_FT_Disc &eq_transport, const Schema_Comm &schema_comm_FT) |
| void | set_param (Param &p) const override |
| void | reset () |
| void | resize_geometric_parameters () |
| void | resize_lagrangian_contact_force () |
| void | resize_particles_collision_number () |
| void | associate_transport_equation (const Equation_base &equation) |
| int | check_for_duplicates (ArrOfInt &vector) |
| Check if two particles have the same ID Very important function to stop computation if two particles coalesce. | |
| void | compute_fictive_wall_coordinates (const double &radius) |
| void | research_collision_pairs_Verlet (const Navier_Stokes_FT_Disc &eq_ns, const Transport_Interfaces_FT_Disc &eq_transport) |
| void | compute_Verlet_tables (const DoubleTab &particles_position, const DoubleTab &particles_velocity, double &max_vi, const double &radius, const ArrOfInt &list_particles_to_check_LC) |
| DoubleTab | compute_contact_force (const double &next_dist_int, const DoubleTab &norm, const DoubleTab &dUn, const int &particle_i, const int &particle_j, const int &is_compression_step, const double &is_collision_part_part) |
| double | compute_ewet_legendre (const double &St) |
| double | compute_stiffness_breugem (const double &mass_eff, const double &e_dry) |
| double | compute_damper_breugem (const double &mass_eff, const double &e_dry) |
| void | add_collision (const int part_i, const int part_j, const bool is_part_part_collision) |
| bool | is_Verlet_activated () |
| bool | is_LC_activated () |
| void | set_nb_particles_tot (int nb_particles_tot) |
| void | set_nb_real_particles (int nb_real_particles) |
| void | set_activation_distance (const double &diameter) |
| void | set_spring_properties (const Solid_Particle_base &solid_particle) |
| void | set_domain_dimensions (DoubleVect &Longueurs) |
| void | set_origin (DoubleVect &Origin) |
| void | set_geometric_parameters (const Domaine_VDF &domaine_vdf) |
| Recover the geometric parameters of the domain: number of nodes in each direction origin of the domain dimensions of the domain. | |
| void | set_LC_zones (const Domaine_VF &domaine_vf, const Schema_Comm &schema_com) |
| const int & | get_nb_dt_Verlet () const |
| const int & | get_nb_dt_compute_Verlet () const |
| const int & | get_nb_dt_max_Verlet () const |
| const int & | get_is_force_on_two_phase_elem () const |
| const int & | get_collision_number () const |
| const int & | get_nb_real_particles () const |
| const int & | get_nb_particles_tot () const |
| int | get_last_id (const ArrOfInt &list_particles_to_check_LC) |
| int | get_id (const ArrOfInt &list_particle, const int ind_id_particle) |
| const double & | get_duration_collision () const |
| const double & | get_delta_n () const |
| const double & | get_s_Verlet () const |
| const DoubleVect & | get_wall_coordinates () const |
| const DoubleVect & | get_origin () const |
| const DoubleVect & | get_domain_dimensions () const |
| const DoubleTab & | get_lagrangian_contact_forces () const |
| const DoubleTab & | get_particles_collision_number () const |
| const ArrOfInt & | get_list_upper_zone () const |
| const ArrOfInt & | get_list_lower_zone () const |
| const IntLists & | get_Verlet_table () const |
| DoubleVect & | get_set_collisions_detected () |
| DoubleTab & | get_set_e_eff () |
| DoubleTab & | get_set_F_old () |
| DoubleTab & | get_set_F_now () |
| DoubleTab & | get_set_lagrangian_contact_forces () |
| int & | get_set_nb_dt_Verlet () |
| 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 Sortie & | printOn (Sortie &) const |
| Ecriture de l'objet sur un flot de sortie Methode a surcharger. | |
| virtual Entree & | readOn (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 Nom & | le_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. | |
| int | get_object_id () const |
| Renvoie l'identifiant unique de l'objet object_id_. | |
| virtual const Type_info * | get_info () const |
| Donne des informations sur le type de l'Objet_U. | |
| const Nom & | que_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 Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
Additional Inherited Members | |
| Static Public Member Functions inherited from Objet_U | |
| static const Nom & | nom_du_cas () |
| Renvoie une reference constante vers le nom du cas. | |
| static Nom & | get_set_nom_du_cas () |
| Renvoie une reference non constante vers le nom du cas (pour pouvoir le modifier). | |
| static const Type_info * | info () |
| Donne des informations sur le type de l'Objet_U. | |
| static const Objet_U & | self_cast (const Objet_U &) |
| methode ajoutee pour caster en python | |
| static Objet_U & | self_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 Sortie & | Journal (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 Collision_Model_FT_base | |
| enum class | Collision_model { HYBRID_ESI , BREUGEM } |
| enum class | Detection_method { CHECK_ALL , VERLET , LC_VERLET } |
| Protected Member Functions inherited from Collision_Model_FT_base | |
| OBS_PTR (Transport_Interfaces_FT_Disc) refequation_transport_ | |
| OBS_PTR (Domaine) ref_domaine | |
| void | compute_dX_dU (DoubleTab &dX, DoubleTab &dU, const int &particle, const int &neighbor, const DoubleTab &particles_position, const DoubleTab &particles_velocity, const bool is_particle_particle_collision) |
| int | get_nb_particles_j (const int ind_particle_i) const |
| int | get_ind_start_particles_j (const int ind_particle_i) const |
| int | get_particle_i (const int ind_particle_i) |
| int | get_particle_j (const int ind_particle_i, const int ind_particle_j) |
| 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_U & | operator= (const Objet_U &) |
| Operateur= : ne fait rien (on conserve le numero et l'identifiant). | |
| Protected Attributes inherited from Collision_Model_FT_base | |
| int | is_collision_activated_before_impact_ = 1 |
| int | is_force_on_two_phase_elem_ = 0 |
| int | nb_particles_tot_ = 0 |
| int | nb_dt_Verlet_ = 0 |
| int | nb_dt_compute_Verlet_ = 0 |
| int | nb_dt_max_Verlet_ = 0 |
| int | collision_number_ = 0 |
| int | no_collision_model_ =0 |
| double | activation_distance_percentage_diameter_ = 0 |
| double | activation_distance_ = 0 |
| double | collision_duration_ = 0. |
| double | detection_thickness_Verlet_ = 0. |
| DoubleTab | particles_collision_number_ |
| DoubleTab | e_eff_ |
| DoubleTab | F_old_ |
| DoubleTab | F_now_ |
| DoubleTab | lagrangian_contact_forces_ |
| DoubleVect | collision_detected_ |
| ArrOfInt | list_upper_zone_ |
| ArrOfInt | list_lower_zone_ |
| IntVect | nb_nodes_ |
| DoubleVect | origin_ |
| DoubleVect | domain_dimensions_ |
| DoubleVect | fictive_wall_coordinates_ |
| IntLists | Verlet_tables_ |
| ArrOfInt | list_real_particles_ |
| int | nb_real_particles_ |
| double | stiffness_breugem_part_part_ = 0 |
| double | stiffness_breugem_wall_part_ = 0 |
| double | damper_breugem_part_part_ = 0 |
| double | damper_breugem_wall_part_ = 0 |
| Collision_model | collision_model_ = Collision_model::HYBRID_ESI |
| Detection_method | detection_method_ = Detection_method::CHECK_ALL |
Definition at line 21 of file Collision_Model_FT_arbitrary.h.
| Collision_Model_FT_arbitrary::Collision_Model_FT_arbitrary | ( | ) |
Definition at line 22 of file Collision_Model_FT_arbitrary.cpp.
|
overridevirtual |
Implements Collision_Model_FT_base.
Definition at line 40 of file Collision_Model_FT_arbitrary.cpp.
|
overridevirtual |
Implements Collision_Model_FT_base.
Definition at line 49 of file Collision_Model_FT_arbitrary.cpp.