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

: class Maillage_FT_IJK More...

#include <Maillage_FT_IJK.h>

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

Public Member Functions

 Maillage_FT_IJK (const Maillage_FT_IJK &)=default
void initialize (const Domaine_IJK &, const Domaine_dis_base &, const Parcours_interface &, const bool use_tryggvason_interfacial_source=false)
const ArrOfInt & compo_connexe_facettes () const
ArrOfInt & compo_connexe_facettes_non_const ()
const FT_FieldSurfactant_facettes () const
FT_FieldSurfactant_facettes_non_const ()
void update_gradient_laplacien_Surfactant ()
DoubleTab update_sigma_and_interfacial_source_term_sommet (const Domaine_IJK &splitting, bool compute_interfacial_source, bool use_tryggvason_formulation, const double sigma_const=-1.)
void set_Surfactant_facettes (ArrOfDouble Surfactant_field)
void set_Surfactant_facettes_sommets (ArrOfDouble Surfactant_field)
void supprimer_facettes (const ArrOfInt &liste_facettes)
void nettoyer_maillage () override
 Retire toutes les facettes virtuelles, toutes les facettes invalides (sommet0 == sommet1) et tous les sommets qui ne sont pas utilises.
void sauv_facette_indexation_avant_transport ()
void corriger_proprietaires_facettes ()
void update_surfactant_apres_transport ()
void parcourir_maillage ()
void transporter (const DoubleTab &deplacement) override
 Deplace les sommets de l'interface d'un vecteur "deplacement" fourni, Change eventuellement les sommets de processeur, cree eventuellement.
void deplacer_sommets (const ArrOfInt &liste_sommets_initiale, const DoubleTab &deplacement_initial, ArrOfInt &liste_sommets_sortis, ArrOfInt &numero_face_sortie, int skip_facettes=0) override
 Applique un vecteur deplacement aux noeuds dont le numero est dans "liste_noeud", puis echange les espaces virtuels.
void recopie (const Maillage_FT_Disc &source_mesh, Statut_Maillage niveau_copie) override
 Recopie une partie du maillage source dans *this.
void ajouter_maillage (const Maillage_FT_Disc &maillage_tmp, int skip_facettes=0) override
void echanger_facettes (const ArrOfInt &liste_facettes, const ArrOfInt &liste_elem_arrivee, ArrOfInt &facettes_recues_numfacettes, ArrOfInt &facettes_recues_numelement)
void ajouter_maillage_IJK (const Maillage_FT_IJK &added_mesh)
void lire_maillage_ft_dans_lata (const char *filename_with_path, int tstep, const char *geometryname)
void set_ijk_cell_index (int num_sommet, Int3 ijk)
void set_barycentrage (bool bary)
Int3 get_ijk_cell_index (int num_sommet) const
void initialize_processor_neighbourhood ()
int check_sommets (int error_is_fatal=1) const override
int check_mesh (int error_is_fatal=1, int skip_facette_owner=0, int skip_facettes=0) const override
void calculer_compo_connexe_sommets (ArrOfIntFT &compo_connexe_sommets) const
void recopie_force_compo (const Maillage_FT_IJK &source_mesh, const int icompo)
void set_composante_connexe (const int i_facette, const int icompo)
double minimum_longueur_arrete () const
int nb_facettes_sans_duplicata () const
const Domaine_IJKget_domaine () const
Public Member Functions inherited from Maillage_FT_Disc
int reprendre (Entree &) override
 Reprise d'un Objet_U sur un flot d'entree Methode a surcharger.
int sauvegarder (Sortie &) const override
 Sauvegarde d'un Objet_U sur un flot de sortie Methode a surcharger.
 Maillage_FT_Disc ()
 constructeur par defaut.
virtual Entreelire_param_maillage (Entree &is)
 Cette fonction permet de lire les parametres pour le maillage des interfaces.
const Equation_baseequation_associee () const override
double temps () const
 return temps_physique_ (temps_physique_ ne sert a rien en interne.
double changer_temps (double t)
 return temps_physique_ = t
void mesh_tag_increase () const
int get_mesh_tag () const
 return mesh_state_tag_
const DoubleTab & sommets () const
 renvoie le tableau des sommets (reels et virtuels) dimension(0) = nombre de sommets,
int nb_sommets () const
 renvoie le nombre de sommets (reels et virtuels) (egal a sommets().
const IntTab & facettes () const
 renvoie le tableau des facettes (reelles et virtuelles) dimension(0) = nombre de facettes,
int nb_facettes () const
 renvoie le nombre de facettes (reelles et virtuelles) (egal a facettes().
int nb_facettes_reelle_totale () const
int nb_facettes_reelles () const
int nb_facettes_totale () const
const ArrOfInt & drapeaux_sommets () const
 Pour postraitement uniquement : la signification precise des drapeaux est de la cuisine interne a la classe.
const ArrOfInt & sommet_PE_owner () const
 pour postraitement, renvoie le numero du PE proprietaire des sommets
const ArrOfInt & sommet_num_owner () const
 pour postraitement, renvoie le numero des sommets sur le PE proprietaire des sommets
void facette_PE_owner (ArrOfInt &facette_pe) const
 pour postraitement, remplit le tableau en parametre avec le numero du PE proprietaire de chaque facette.
const ArrOfInt & sommet_elem () const
 pour postraitement, renvoie sommet_elem_
const ArrOfInt & sommet_face_bord () const
 pour postraitement, renvoie sommet_face_bord_
const Desc_Structure_FTdesc_sommets () const
 renvoie le descripteur des sommets (espace_distant/virtuel)
const Desc_Structure_FTdesc_facettes () const
 renvoie le descripteur des facettes (espace_distant/virtuel)
const Intersections_Elem_Facettesintersections_elem_facettes () const
const ArrOfInt & som_init_util () const
 return som_init_util_
int sommet_virtuel (int i) const
int sommet_ligne_contact (int i) const
int sommet_face_bord (int i) const
int facette_virtuelle (int i) const
 Renvoie 0 si la facette m'appartient, 1 sinon.
int facettes_voisines (int fa70, int fa71, int &iarete0, int &iarete1) const
 Cette methode teste si les facettes sont voisines : Des facettes sont voisines si :
int calculer_voisinage_facettes (IntTab &fa7Voisines, const Intersections_Elem_Facettes *ief=nullptr) const
void associer_equation_transport (const Equation_base &equation) override
 on remplit refequation_transport_, schema_comm_domaine_ desc_sommets_.comm_group_ et desc_facettes_.comm_group_
void associer_domaine_dis_parcours (const Domaine_dis_base &domaine_dis, const Parcours_interface &parcours)
Transport_Interfaces_FT_Discequation_transport ()
const Transport_Interfaces_FT_Discequation_transport () const
int type_statut () const
void reset ()
 vide toutes les structures du maillage, le statut passe a RESET.
void parcourir_maillage ()
 Remplit la structure intersections_elem_facettes_.
void completer_maillage ()
 Complete les structures de donnees du maillage.
void calcul_indicatrice (DoubleVect &indicatrice, const DoubleVect &indicatrice_precedente) const
 Calcul de la fonction indicatrice (on suppose que "indicatrice" a la structure d'un tableau de valeurs aux elements, on ne remplit.
void transporter_simple (const DoubleTab &deplacement)
void nettoyer_noeuds_virtuels_et_frontieres ()
void nettoyer_phase (const Nom &nom_eq, const int phase)
void nettoyer_elements_virtuels ()
 Retire toutes les facettes virtuelles et tous les sommets qui ne sont pas utilises.
void supprimer_facettes (const ArrOfInt &liste_facettes)
 Supprime les facettes dont les indices locaux sont donnes en parametre.
void ecrire_plot (const Nom &nom, double temps, int niveau_requete) const
SortieprintFa7 (int fa7, int affsom, Sortie &os) const
SortieprintSom (int som, Sortie &os) const
virtual const ArrOfDouble & get_update_surface_facettes () const
 Calcule la grandeur demandee, stocke le resultat dans un tableau interne a la classe et renvoie le resultat.
virtual const DoubleTab & get_update_normale_facettes () const
 Calcule la grandeur demandee, stocke le resultat dans un tableau interne a la classe et renvoie le resultat.
virtual double compute_normale_element (const int elem, const bool normalize, ArrOfDouble &normale) const
virtual double compute_surface_and_normale_element (const int elem, const bool normalize, double surface, double normal[3]) const
virtual const ArrOfDouble & get_update_courbure_sommets () const
 Calcule la grandeur demandee, stocke le resultat dans un tableau interne a la classe et renvoie le resultat.
virtual const ArrOfDouble & get_surface_facettes () const
virtual const DoubleTab & get_normale_facettes () const
Vecteur3 coords_fa7 (int fa7) const
const IntTabFT & get_liste_facette_supprimees_et_voisines () const
void set_liste_facette_supprimees_et_voisines (IntTabFT tab)
const int & get_nb_facette_supprimees () const
void set_nb_facette_supprimees (int nb)
int set_niveau_plot (int niv)
void preparer_tableau_avant_transport (ArrOfDouble &tableau, const Desc_Structure_FT &descripteur) const
 Prepare un tableau de donnees aux sommets ou aux facettes pour conserver les valeurs apres transport.
void preparer_tableau_avant_transport (ArrOfInt &tableau, const Desc_Structure_FT &descripteur) const
void preparer_tableau_avant_transport (DoubleTab &tableau, const Desc_Structure_FT &descripteur) const
 Voir preparer_tableau_avant_transport.
void update_tableau_apres_transport (ArrOfDouble &tableau, int nb_elements, const Desc_Structure_FT &descripteur) const
 Voir preparer_tableau_avant_transport.
void update_tableau_apres_transport (ArrOfInt &tableau, int nb_elements, const Desc_Structure_FT &descripteur) const
void update_tableau_apres_transport (DoubleTab &tableau, int nb_elements, const Desc_Structure_FT &descripteur) const
 Voir preparer_tableau_avant_transport.
 Maillage_FT_Disc (const Maillage_FT_Disc &)
 La construction par copie est interdite !
void generer_structure ()
void remplir_structure (const DoubleTab &soms)
void creer_tableau_sommets (Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const
 creation d'un tableau aux sommets du maillage Meme principe que Domaine::creer_tableau_sommets()
void creer_tableau_elements (Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const
 creation d'un tableau aux sommets du maillage Meme principe que Domaine::creer_tableau_elements()
double calcul_normale_3D (int num_facette, double norme[3]) const
void set_is_solid_particle (const bool is_solid_particle)
const bool & get_is_solid_particle () const
const Schema_Commget_schema_comm_FT () const
const DoubleTab & get_gravity_center_fa7 () const
void compute_gravity_center_fa7 ()
Public Member Functions inherited from Ensemble_Lagrange_base
 Ensemble_Lagrange_base ()
void associer_domaine (const Domaine &domaine)
virtual const Domaine & domaine () const
void remplir_sommets_tmp (DoubleTab &soms_tmp)
void generer_marqueurs_sz (DoubleTab &soms_tmp)
const IntVect & nb_marqs_par_sz () const
const DoubleTab & sommets_lu () const
DoubleTab & sommets_lu ()
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.
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 lire_motcle_non_standard (const Motcle &motlu, Entree &is)
 Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
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 Attributes

FT_Field Surfactant_facettes_

Protected Member Functions

void calculer_costheta_minmax (DoubleTab &costheta) const override
 Pour chaque sommet du maillage, s'il est sur un bord, on calcule costheta min et max (hysteresis) correspondant a la condition aux limites ou.
const Maillage_FT_IJKoperator= (const Maillage_FT_IJK &)
void creer_facettes_virtuelles (const ArrOfInt &liste_facettes, const ArrOfInt &liste_pe, const ArrOfInt &facettes_send_pe_list, const ArrOfInt &facettes_recv_pe_list) override
 Creation de facettes virtuelles sur le pe specifie.
 OBS_PTR (Domaine_IJK) ref_domaine_
Protected Member Functions inherited from Maillage_FT_Disc
void pre_lissage_courbure (ArrOfDouble &store_courbure_sommets, const int niter) const
void correction_costheta (const double c, const int s0, const int facette, double ps) const
double calculer_costheta_objectif (const int som, const int facette, const int call, const double c, const DoubleTabFT &tab_cos_theta, ArrOfBit &drapeau_angle_in_range) const
const Maillage_FT_Discoperator= (const Maillage_FT_Disc &)
 L'operateur = est interdit !
void maillage_modifie (Statut_Maillage nouveau_statut)
 Cette methode change le statut du maillage et invalide le cache de valeurs calculees (surface, courbure, .
void calculer_voisins ()
void calcul_surface_normale (ArrOfDouble &surface, DoubleTab &normale) const
 Calcul de la surface et de la normale aux facettes du maillage.
void calcul_courbure_sommets (ArrOfDouble &courbure, const int call_number) const
 Calcul de la courbure discrete du maillage aux sommets.
int copier_sommet (int som)
 fonction qui cree un nouveau sommet par copie d'une existant utilise dans Remailleur_Collision_FT_Collision_Seq
int copier_sommet_interne (int som)
int calcule_equation_plan_areteFa7 (int fa7, int iarete, double &a, double &b, double &c, double &d) const
void creer_sommets_virtuels (const ArrOfInt &liste_sommets, const ArrOfInt &liste_pe, const Schema_Comm &comm)
 Envoi des sommets dont le numero est donne dans liste_sommets au processeur dont le numero est donne dans liste_pe (on cree un.
void creer_sommets_virtuels_numowner (const ArrOfInt &request_sommets_pe, const ArrOfInt &request_sommets_num)
 Cree chez moi les sommets virtuels specifies par le couple (pe,num) si le sommet n'existe pas encore.
void echanger_sommets_PE (const ArrOfInt &liste_sommets, const ArrOfInt &liste_elem_virtuel_arrivee, const ArrOfInt &liste_face_virtuelle_arrivee, const DoubleTab &deplacement, ArrOfInt &liste_nouveaux_sommets, DoubleTab &deplacement_restant, int skip_facettes=0)
 Realise l'ensemble des echanges de noeuds specifies dans liste_sommets, liste_elem_virtuel_arrivee et deplacement.
void corriger_proprietaires_facettes ()
 Sans changer les sommets existants ni la numerotation des facettes, on change le proprietaire des facettes de sorte que ce soit aussi le proprietaire.
void buffer_envoyer_facette_PE (int num_facette, int PE, int num_element_sur_PE)
void echanger_facettes (const ArrOfInt &liste_facettes, const ArrOfInt &liste_elem_arrivee, ArrOfInt &facettes_recues_numfacettes, ArrOfInt &facettes_recues_numelement)
 Echange des facettes dont les numeros sont fournis dans "liste_facettes" : Pour chaque facette a ajouter,.
void convertir_numero_distant_local (const Desc_Structure_FT &descripteur, const ArrOfInt &element_num_owner, const ArrOfInt &numeros_distants, const ArrOfInt &pe_distant, ArrOfInt &numeros_locaux) const
 Conversion des couples (numeros_distants, pe) en numeros_locaux.
void convertir_numero_distant_local (const Desc_Structure_FT &descripteur, const ArrOfInt &element_num_owner, const int numero_distant, const int pe_distant, int &numero_local) const
void construire_noeuds (IntTab &def_noeud, const DoubleTab &soms)
void calculer_coord_noeuds (const IntTab &def_noeud, const DoubleTab &soms, IntTab &renum)
 OBS_PTR (Transport_Interfaces_FT_Disc) refequation_transport_
 OBS_PTR (Domaine_dis_base) refdomaine_dis_
 OBS_PTR (Parcours_interface) refparcours_interface_
Maillage_FT_Disc_Data_Cachemesh_data_cache () const
 renvoie une ref non const au cache de valeurs calculees sur le maillage (courbure, surface, normale, .
 OWN_PTR (Maillage_FT_Disc_Data_Cache) mesh_data_cache_
Protected Member Functions inherited from Ensemble_Lagrange_base
 OBS_PTR (Domaine) mon_dom_
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).
virtual void set_param (Param &) const

Protected Attributes

bool during_barycentrage_ = false
bool use_tryggvason_interfacial_source_ =false
int nbmailles_euler_i_ = 0
int nbmailles_euler_j_ = 0
int nbmailles_euler_k_ = 0
ArrOfInt voisinage_processeur_
ArrOfInt liste_processeurs_voisins_faces_
ArrOfInt liste_processeurs_voisins_aretes_
ArrOfInt liste_processeurs_voisins_coins_
ArrOfIntFT compo_connexe_facettes_
DoubleTab indexation_facettes_avant_transport_
Protected Attributes inherited from Maillage_FT_Disc
ArrOfIntFT som_init_util_
Schema_Comm schema_comm_domaine_
Statut_Maillage statut_
int mesh_state_tag_
double temps_physique_
DoubleTabFT sommets_
IntTabFT facettes_
IntTabFT liste_facette_supprimees_et_voisines_
int nb_facette_supprimees_
ArrOfIntFT sommet_elem_
ArrOfIntFT sommet_face_bord_
ArrOfIntFT sommet_PE_owner_
ArrOfIntFT sommet_num_owner_
ArrOfIntFT facette_num_owner_
Desc_Structure_FT desc_sommets_
Desc_Structure_FT desc_facettes_
ArrOfIntFT drapeaux_sommets_
Intersections_Elem_Facettes intersections_elem_facettes_
IntTabFT voisins_
int niveau_plot_
double correction_contact_courbure_coeff_
int calcul_courbure_iterations_
int niter_pre_lissage_
int methode_calcul_courbure_contact_line_
double weight_CL_
bool is_solid_particle_ =false
DoubleTab gravity_center_fa7_
Protected Attributes inherited from Ensemble_Lagrange_base
Noms nom_sz
IntVect nb_marqs_sz
IntTab nb_marqs_par_dir
DoubleTab sommets_lu_

Additional Inherited Members

Public Types inherited from Maillage_FT_Disc
enum  Statut_Maillage { RESET = 0 , MINIMAL = 1 , PARCOURU = 2 , COMPLET = 3 }
enum  AjoutPhase { AJOUTE_TOUTES_PHASES = -1 , AJOUTE_PHASE0 = 0 , AJOUTE_PHASE1 = 1 }
Static Public Member Functions inherited from Maillage_FT_Disc
static int deplacer_un_point (double &x, double &y, double &z, double x1, double y1, double z1, int &element_suivant, int &face_suivante, const Parcours_interface &parcours, const Domaine_VF &domaine_vf, const IntTab &face_voisins, int skip_facettes=0)
static int deplacer_un_sommet (double &x, double &y, double &z, double x1, double y1, double z1, int &element, int &face_bord, const int num_sommet, const Parcours_interface &parcours, const Domaine_VF &domaine_vf, const IntTab &face_voisins, ArrOfInt &sommets_envoyes, ArrOfInt &element_virtuel_arrivee, ArrOfInt &face_virtuelle_arrivee, DoubleTab &deplacement_restant, int skip_facettes=0)
static double angle_bidim_axi ()
 renvoie l'angle solide qui sert a calculer les surfaces et les volumes en bidim_axi
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 Maillage_FT_Disc
enum  enum_methode_calcul_courbure_contact_line_ {
  STANDARD =0 , MIRROR =1 , IMPROVED =2 , none =3 ,
  WEIGHTED =4 , HYSTERESIS =5
}
Static Protected Attributes inherited from Maillage_FT_Disc
static const int EFFACE = 1

Detailed Description

: class Maillage_FT_IJK

Definition at line 33 of file Maillage_FT_IJK.h.

Constructor & Destructor Documentation

◆ Maillage_FT_IJK()

Maillage_FT_IJK::Maillage_FT_IJK ( const Maillage_FT_IJK & )
default

Member Function Documentation

◆ ajouter_maillage()

void Maillage_FT_IJK::ajouter_maillage ( const Maillage_FT_Disc & maillage_tmp,
int skip_facettes = 0 )
overridevirtual

Reimplemented from Maillage_FT_Disc.

Definition at line 1325 of file Maillage_FT_IJK.cpp.

◆ ajouter_maillage_IJK()

void Maillage_FT_IJK::ajouter_maillage_IJK ( const Maillage_FT_IJK & added_mesh)

Definition at line 1343 of file Maillage_FT_IJK.cpp.

◆ calculer_compo_connexe_sommets()

void Maillage_FT_IJK::calculer_compo_connexe_sommets ( ArrOfIntFT & compo_connexe_sommets) const

Definition at line 1213 of file Maillage_FT_IJK.cpp.

◆ calculer_costheta_minmax()

void Maillage_FT_IJK::calculer_costheta_minmax ( DoubleTab & costheta) const
overrideprotectedvirtual

Pour chaque sommet du maillage, s'il est sur un bord, on calcule costheta min et max (hysteresis) correspondant a la condition aux limites ou.

se trouve le sommet. L'angle est constant par face de bord... possibilite de faire mieux pour un champ xyz

Reimplemented from Maillage_FT_Disc.

Definition at line 1373 of file Maillage_FT_IJK.cpp.

◆ check_mesh()

int Maillage_FT_IJK::check_mesh ( int error_is_fatal = 1,
int skip_facette_owner = 0,
int skip_facettes = 0 ) const
overridevirtual

Reimplemented from Maillage_FT_Disc.

Definition at line 1007 of file Maillage_FT_IJK.cpp.

◆ check_sommets()

int Maillage_FT_IJK::check_sommets ( int error_is_fatal = 1) const
overridevirtual

Reimplemented from Maillage_FT_Disc.

Definition at line 1036 of file Maillage_FT_IJK.cpp.

◆ compo_connexe_facettes()

const ArrOfInt & Maillage_FT_IJK::compo_connexe_facettes ( ) const
inline

Definition at line 42 of file Maillage_FT_IJK.h.

◆ compo_connexe_facettes_non_const()

ArrOfInt & Maillage_FT_IJK::compo_connexe_facettes_non_const ( )
inline

Definition at line 46 of file Maillage_FT_IJK.h.

◆ corriger_proprietaires_facettes()

void Maillage_FT_IJK::corriger_proprietaires_facettes ( )

Definition at line 857 of file Maillage_FT_IJK.cpp.

◆ creer_facettes_virtuelles()

void Maillage_FT_IJK::creer_facettes_virtuelles ( const ArrOfInt & liste_facettes,
const ArrOfInt & liste_facettes_pe,
const ArrOfInt & facettes_send_pe_list,
const ArrOfInt & facettes_recv_pe_list )
overrideprotectedvirtual

Creation de facettes virtuelles sur le pe specifie.

liste_facettes = liste de numeros de facettes reelles a envoyer sur le processeur distant (la liste peut comporter des doublons) Le processeur distant ne doit pas etre moi ! liste_pe = numero du pe a qui il faut envoyer chaque facette comm = un schema ou send_pe_list contient les PEs mentionnes dans la liste.

Algo: Il faut d'abord creer les sommets des facettes, s'ils n'existent pas encore, puis creer les facettes. Cas general, le processeur A possede la facette (au sens du descripteur des facettes), le processeur B possede un sommet 's' de la facette, on veut envoyer la facette au processeur C. Il faut: A envoie a B le numero du sommet 's' et le numero du processeur C B cree sur C le sommet virtuel 's' A envoie a C les numeros des sommets 's' de la facette, C peut maintenant creer la facette.

Reimplemented from Maillage_FT_Disc.

Definition at line 919 of file Maillage_FT_IJK.cpp.

◆ deplacer_sommets()

void Maillage_FT_IJK::deplacer_sommets ( const ArrOfInt & liste_sommets_initiale,
const DoubleTab & deplacement_initial,
ArrOfInt & liste_sommets_sortis,
ArrOfInt & numero_face_sortie,
int skip_facettes = 0 )
overridevirtual

Applique un vecteur deplacement aux noeuds dont le numero est dans "liste_noeud", puis echange les espaces virtuels.

Si un noeud traverse un joint, il change de proprietaire. Si un noeud rencontre une paroi, il s'arrete sur la paroi et on le transforme en noeud "ligne de contact". Si un noeud est sur une paroi (noeud "ligne de contact"), il longe la paroi (on deplace le noeud de face de bord en face de bord en minimisant la distance entre le noeud et le deplacement demande.

Parameters
(liste_sommets_initiale)une liste non redondante de noeuds REELS a deplacer
(deplacement_initial)le vecteur deplacement des noeuds de "liste_noeuds" ( dimension(0)==liste_noeuds.size_array() et dimension(1)==dimension )

Reimplemented from Maillage_FT_Disc.

Definition at line 76 of file Maillage_FT_IJK.cpp.

◆ echanger_facettes()

void Maillage_FT_IJK::echanger_facettes ( const ArrOfInt & liste_facettes,
const ArrOfInt & liste_elem_arrivee,
ArrOfInt & facettes_recues_numfacettes,
ArrOfInt & facettes_recues_numelement )

◆ get_domaine()

const Domaine_IJK & Maillage_FT_IJK::get_domaine ( ) const
inline

Definition at line 129 of file Maillage_FT_IJK.h.

◆ get_ijk_cell_index()

Int3 Maillage_FT_IJK::get_ijk_cell_index ( int num_sommet) const
inline

Definition at line 105 of file Maillage_FT_IJK.h.

◆ initialize()

void Maillage_FT_IJK::initialize ( const Domaine_IJK & dom,
const Domaine_dis_base & domaine_dis,
const Parcours_interface & parcours,
const bool use_tryggvason_interfacial_source = false )

Definition at line 57 of file Maillage_FT_IJK.cpp.

◆ initialize_processor_neighbourhood()

void Maillage_FT_IJK::initialize_processor_neighbourhood ( )

Definition at line 946 of file Maillage_FT_IJK.cpp.

◆ lire_maillage_ft_dans_lata()

void Maillage_FT_IJK::lire_maillage_ft_dans_lata ( const char * filename_with_path,
int tstep,
const char * geometryname )

Reading the FT mesh from a LATA file. Assumption: FT mesh is always small enough so that all indices fit within 32b. This check implicitely in the 'ref_as_small' methods.

Definition at line 459 of file Maillage_FT_IJK.cpp.

◆ minimum_longueur_arrete()

double Maillage_FT_IJK::minimum_longueur_arrete ( ) const

Definition at line 1388 of file Maillage_FT_IJK.cpp.

◆ nb_facettes_sans_duplicata()

int Maillage_FT_IJK::nb_facettes_sans_duplicata ( ) const

Definition at line 1426 of file Maillage_FT_IJK.cpp.

◆ nettoyer_maillage()

void Maillage_FT_IJK::nettoyer_maillage ( )
overridevirtual

Retire toutes les facettes virtuelles, toutes les facettes invalides (sommet0 == sommet1) et tous les sommets qui ne sont pas utilises.

Reimplemented from Maillage_FT_Disc.

Definition at line 879 of file Maillage_FT_IJK.cpp.

◆ OBS_PTR()

Maillage_FT_IJK::OBS_PTR ( Domaine_IJK )
protected

◆ operator=()

const Maillage_FT_IJK & Maillage_FT_IJK::operator= ( const Maillage_FT_IJK & )
inlineprotected

Definition at line 137 of file Maillage_FT_IJK.h.

◆ parcourir_maillage()

void Maillage_FT_IJK::parcourir_maillage ( )

Definition at line 794 of file Maillage_FT_IJK.cpp.

◆ recopie()

void Maillage_FT_IJK::recopie ( const Maillage_FT_Disc & source,
Statut_Maillage niveau_copie )
overridevirtual

Recopie une partie du maillage source dans *this.

Si niveau_copie == MINIMAL, seuls les membres de l'etat minimal sont copies.

Reimplemented from Maillage_FT_Disc.

Definition at line 1296 of file Maillage_FT_IJK.cpp.

◆ recopie_force_compo()

void Maillage_FT_IJK::recopie_force_compo ( const Maillage_FT_IJK & source_mesh,
const int icompo )

Definition at line 1280 of file Maillage_FT_IJK.cpp.

◆ sauv_facette_indexation_avant_transport()

void Maillage_FT_IJK::sauv_facette_indexation_avant_transport ( )

Definition at line 805 of file Maillage_FT_IJK.cpp.

◆ set_barycentrage()

void Maillage_FT_IJK::set_barycentrage ( bool bary)
inline

Definition at line 101 of file Maillage_FT_IJK.h.

◆ set_composante_connexe()

void Maillage_FT_IJK::set_composante_connexe ( const int i_facette,
const int icompo )
inline

Definition at line 121 of file Maillage_FT_IJK.h.

◆ set_ijk_cell_index()

void Maillage_FT_IJK::set_ijk_cell_index ( int num_sommet,
Int3 ijk )
inline

Definition at line 96 of file Maillage_FT_IJK.h.

◆ set_Surfactant_facettes()

void Maillage_FT_IJK::set_Surfactant_facettes ( ArrOfDouble Surfactant_field)

◆ set_Surfactant_facettes_sommets()

void Maillage_FT_IJK::set_Surfactant_facettes_sommets ( ArrOfDouble Surfactant_field)

◆ supprimer_facettes()

void Maillage_FT_IJK::supprimer_facettes ( const ArrOfInt & liste_facettes)

Definition at line 874 of file Maillage_FT_IJK.cpp.

◆ Surfactant_facettes()

const FT_Field & Maillage_FT_IJK::Surfactant_facettes ( ) const
inline

Definition at line 50 of file Maillage_FT_IJK.h.

◆ Surfactant_facettes_non_const()

FT_Field & Maillage_FT_IJK::Surfactant_facettes_non_const ( )
inline

Definition at line 54 of file Maillage_FT_IJK.h.

◆ transporter()

void Maillage_FT_IJK::transporter ( const DoubleTab & deplacement)
overridevirtual

Deplace les sommets de l'interface d'un vecteur "deplacement" fourni, Change eventuellement les sommets de processeur, cree eventuellement.

des lignes de contact et detecte les collisions.

Parameters
(deplacement)un tableau de taille (nb_sommets(), Objet_U::dimension) contenant le vecteur deplacement de chaque sommet. Les deplacements des sommets virtuels sont ignores.

Reimplemented from Maillage_FT_Disc.

Definition at line 781 of file Maillage_FT_IJK.cpp.

◆ update_gradient_laplacien_Surfactant()

void Maillage_FT_IJK::update_gradient_laplacien_Surfactant ( )
inline

Definition at line 59 of file Maillage_FT_IJK.h.

◆ update_sigma_and_interfacial_source_term_sommet()

DoubleTab Maillage_FT_IJK::update_sigma_and_interfacial_source_term_sommet ( const Domaine_IJK & splitting,
bool compute_interfacial_source,
bool use_tryggvason_formulation,
const double sigma_const = -1. )

Definition at line 1241 of file Maillage_FT_IJK.cpp.

◆ update_surfactant_apres_transport()

void Maillage_FT_IJK::update_surfactant_apres_transport ( )

Definition at line 828 of file Maillage_FT_IJK.cpp.

Member Data Documentation

◆ compo_connexe_facettes_

ArrOfIntFT Maillage_FT_IJK::compo_connexe_facettes_
protected

Definition at line 161 of file Maillage_FT_IJK.h.

◆ during_barycentrage_

bool Maillage_FT_IJK::during_barycentrage_ = false
protected

Definition at line 133 of file Maillage_FT_IJK.h.

◆ indexation_facettes_avant_transport_

DoubleTab Maillage_FT_IJK::indexation_facettes_avant_transport_
protected

Definition at line 163 of file Maillage_FT_IJK.h.

◆ liste_processeurs_voisins_aretes_

ArrOfInt Maillage_FT_IJK::liste_processeurs_voisins_aretes_
protected

Definition at line 157 of file Maillage_FT_IJK.h.

◆ liste_processeurs_voisins_coins_

ArrOfInt Maillage_FT_IJK::liste_processeurs_voisins_coins_
protected

Definition at line 158 of file Maillage_FT_IJK.h.

◆ liste_processeurs_voisins_faces_

ArrOfInt Maillage_FT_IJK::liste_processeurs_voisins_faces_
protected

Definition at line 156 of file Maillage_FT_IJK.h.

◆ nbmailles_euler_i_

int Maillage_FT_IJK::nbmailles_euler_i_ = 0
protected

Definition at line 151 of file Maillage_FT_IJK.h.

◆ nbmailles_euler_j_

int Maillage_FT_IJK::nbmailles_euler_j_ = 0
protected

Definition at line 152 of file Maillage_FT_IJK.h.

◆ nbmailles_euler_k_

int Maillage_FT_IJK::nbmailles_euler_k_ = 0
protected

Definition at line 153 of file Maillage_FT_IJK.h.

◆ Surfactant_facettes_

FT_Field Maillage_FT_IJK::Surfactant_facettes_

Definition at line 39 of file Maillage_FT_IJK.h.

◆ use_tryggvason_interfacial_source_

bool Maillage_FT_IJK::use_tryggvason_interfacial_source_ =false
protected

Definition at line 134 of file Maillage_FT_IJK.h.

◆ voisinage_processeur_

ArrOfInt Maillage_FT_IJK::voisinage_processeur_
protected

Definition at line 155 of file Maillage_FT_IJK.h.


The documentation for this class was generated from the following files:
  • /home/docs/checkouts/readthedocs.org/user_builds/triocfd-documentation/checkouts/next/src/Multiphase/Front_tracking_discontinu/IJK/Kernel/Geometrie/Maillage_FT_IJK.h
  • /home/docs/checkouts/readthedocs.org/user_builds/triocfd-documentation/checkouts/next/src/Multiphase/Front_tracking_discontinu/IJK/Kernel/Geometrie/Maillage_FT_IJK.cpp