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

: class Maillage_FT_Disc Cette classe decrit un maillage: More...

#include <Maillage_FT_Disc.h>

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

Public Types

enum  Statut_Maillage { RESET = 0 , MINIMAL = 1 , PARCOURU = 2 , COMPLET = 3 }
enum  AjoutPhase { AJOUTE_TOUTES_PHASES = -1 , AJOUTE_PHASE0 = 0 , AJOUTE_PHASE1 = 1 }

Public Member Functions

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.
virtual void ajouter_maillage (const Maillage_FT_Disc &maillage_tmp, int skip_facettes=0)
virtual void recopie (const Maillage_FT_Disc &maillage_source, Statut_Maillage niveau_copie)
 Recopie une partie du maillage source dans *this.
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.
virtual void transporter (const DoubleTab &deplacement)
 Deplace les sommets de l'interface d'un vecteur "deplacement" fourni, Change eventuellement les sommets de processeur, cree eventuellement.
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.
virtual void nettoyer_maillage ()
 Retire toutes les facettes virtuelles, toutes les facettes invalides (sommet0 == sommet1) 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
virtual void calculer_costheta_minmax (DoubleTab &costheta) const
 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.
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 ()

Static Public Member Functions

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)

Protected Types

enum  enum_methode_calcul_courbure_contact_line_ {
  STANDARD =0 , MIRROR =1 , IMPROVED =2 , none =3 ,
  WEIGHTED =4 , HYSTERESIS =5
}

Protected Member Functions

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.
virtual void creer_facettes_virtuelles (const ArrOfInt &liste_facettes, const ArrOfInt &liste_pe, const ArrOfInt &facettes_send_pe_list, const ArrOfInt &facettes_recv_pe_list)
 Creation de facettes virtuelles sur le pe specifie.
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
virtual void deplacer_sommets (const ArrOfInt &liste_sommets_initiale, const DoubleTab &deplacement_initial, ArrOfInt &liste_sommets_sortis, ArrOfInt &numero_face_sortie, int skip_facettes=0)
 Applique un vecteur deplacement aux noeuds dont le numero est dans "liste_noeud", puis echange les espaces virtuels.
virtual int check_sommets (int error_is_fatal=1) const
virtual int check_mesh (int error_is_fatal=1, int skip_facette_owner=0, int skip_facettes=0) 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

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_

Static Protected Attributes

static const int EFFACE = 1

Friends

class Post_Processing_Hydrodynamic_Forces
class Marching_Cubes
class Parcours_interface
class Remaillage_FT
class Remaillage_FT_IJK
class Topologie_Maillage_FT
class Remailleur_Collision_FT_Collision_Seq
class Sauvegarde_Reprise_Maillage_FT

Additional Inherited Members

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

Detailed Description

: class Maillage_FT_Disc Cette classe decrit un maillage:

un tableau de coordonnees des sommets, un tableau de facettes, drapeaux, intersections facettes / elements ...

Definition at line 46 of file Maillage_FT_Disc.h.

Member Enumeration Documentation

◆ AjoutPhase

Enumerator
AJOUTE_TOUTES_PHASES 
AJOUTE_PHASE0 
AJOUTE_PHASE1 

Definition at line 144 of file Maillage_FT_Disc.h.

◆ enum_methode_calcul_courbure_contact_line_

Enumerator
STANDARD 
MIRROR 
IMPROVED 
none 
WEIGHTED 
HYSTERESIS 

Definition at line 487 of file Maillage_FT_Disc.h.

◆ Statut_Maillage

Enumerator
RESET 
MINIMAL 
PARCOURU 
COMPLET 

Definition at line 52 of file Maillage_FT_Disc.h.

Constructor & Destructor Documentation

◆ Maillage_FT_Disc() [1/2]

Maillage_FT_Disc::Maillage_FT_Disc ( )

constructeur par defaut.

Definition at line 200 of file Maillage_FT_Disc.cpp.

◆ Maillage_FT_Disc() [2/2]

Maillage_FT_Disc::Maillage_FT_Disc ( const Maillage_FT_Disc & )

La construction par copie est interdite !

Definition at line 249 of file Maillage_FT_Disc.cpp.

Member Function Documentation

◆ ajouter_maillage()

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

Reimplemented in Maillage_FT_IJK.

Definition at line 691 of file Maillage_FT_Disc.cpp.

◆ angle_bidim_axi()

double Maillage_FT_Disc::angle_bidim_axi ( )
static

renvoie l'angle solide qui sert a calculer les surfaces et les volumes en bidim_axi

Definition at line 192 of file Maillage_FT_Disc.cpp.

◆ associer_domaine_dis_parcours()

void Maillage_FT_Disc::associer_domaine_dis_parcours ( const Domaine_dis_base & domaine_dis,
const Parcours_interface & parcours )

Definition at line 600 of file Maillage_FT_Disc.cpp.

◆ associer_equation_transport()

void Maillage_FT_Disc::associer_equation_transport ( const Equation_base & equation)
overridevirtual

on remplit refequation_transport_, schema_comm_domaine_ desc_sommets_.comm_group_ et desc_facettes_.comm_group_

Precondition: le domaine_dis de l'equation doit etre complete (joints)

Implements Ensemble_Lagrange_base.

Definition at line 590 of file Maillage_FT_Disc.cpp.

◆ buffer_envoyer_facette_PE()

void Maillage_FT_Disc::buffer_envoyer_facette_PE ( int num_facette,
int PE,
int num_element_sur_PE )
protected

◆ calcul_courbure_sommets()

void Maillage_FT_Disc::calcul_courbure_sommets ( ArrOfDouble & courbure_sommets,
const int call ) const
protected

Calcul de la courbure discrete du maillage aux sommets.

Methode de calcul : voir these B. Mathieu paragraphe 3.3.3 page 97 La courbure est egale a la differentielle de la surface d'interface par rapport au deplacement des sommets, divisee par la differentielle du volume.

Parameters
(courbure_sommets)Tableau dans lequel on veut stocker la courbure aux sommets. La valeur initiale du tableau est perdue. L'espace virtuel du tableau resultat est a jour.

Definition at line 5371 of file Maillage_FT_Disc.cpp.

◆ calcul_indicatrice()

void Maillage_FT_Disc::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.

que les elements reels). La fraction volumique de la phase 1 dans les elements traverses par une interface est determinee a partir des donnees du parcours dans "intersections_elem_facettes_". Les autres elements sont remplis par une methode heuristique utilisant l'indicatrice_precedente.

Precondition: statut >= PARCOURU Attention, l'algorithme est concu de sorte que l'on puisse utiliser le meme tableau "indicatrice" et "indicatrice_precedente".

Definition at line 888 of file Maillage_FT_Disc.cpp.

◆ calcul_normale_3D()

double Maillage_FT_Disc::calcul_normale_3D ( int num_facette,
double norme[3] ) const

Definition at line 1512 of file Maillage_FT_Disc.cpp.

◆ calcul_surface_normale()

void Maillage_FT_Disc::calcul_surface_normale ( ArrOfDouble & surface,
DoubleTab & normale ) const
protected

Calcul de la surface et de la normale aux facettes du maillage.

Stocke le resultat dans les tableaux en parametres.

Definition at line 1736 of file Maillage_FT_Disc.cpp.

◆ calcule_equation_plan_areteFa7()

int Maillage_FT_Disc::calcule_equation_plan_areteFa7 ( int fa7,
int iarete,
double & a,
double & b,
double & c,
double & d ) const
protected

Definition at line 1475 of file Maillage_FT_Disc.cpp.

◆ calculer_coord_noeuds()

void Maillage_FT_Disc::calculer_coord_noeuds ( const IntTab & def_noeud,
const DoubleTab & soms,
IntTab & renum )
protected

Definition at line 1395 of file Maillage_FT_Disc.cpp.

◆ calculer_costheta_minmax()

void Maillage_FT_Disc::calculer_costheta_minmax ( DoubleTab & costheta) const
virtual

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 in Maillage_FT_IJK.

Definition at line 97 of file Maillage_FT_Disc.cpp.

◆ calculer_costheta_objectif()

double Maillage_FT_Disc::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
protected

◆ calculer_voisinage_facettes()

int Maillage_FT_Disc::calculer_voisinage_facettes ( IntTab & fa7Voisines,
const Intersections_Elem_Facettes * ief = nullptr ) const

Definition at line 2036 of file Maillage_FT_Disc.cpp.

◆ calculer_voisins()

void Maillage_FT_Disc::calculer_voisins ( )
protected

Definition at line 1803 of file Maillage_FT_Disc.cpp.

◆ changer_temps()

double Maillage_FT_Disc::changer_temps ( double t)

return temps_physique_ = t

Definition at line 2165 of file Maillage_FT_Disc.cpp.

◆ check_mesh()

int Maillage_FT_Disc::check_mesh ( int error_is_fatal = 1,
int skip_facette_owner = 0,
int skip_facettes = 0 ) const
protectedvirtual

Reimplemented in Maillage_FT_IJK.

Definition at line 4137 of file Maillage_FT_Disc.cpp.

◆ check_sommets()

int Maillage_FT_Disc::check_sommets ( int error_is_fatal = 1) const
protectedvirtual

Reimplemented in Maillage_FT_IJK.

Definition at line 3860 of file Maillage_FT_Disc.cpp.

◆ completer_maillage()

void Maillage_FT_Disc::completer_maillage ( )

Complete les structures de donnees du maillage.

Le statut passe a COMPLET.

Precondition: statut >= MINIMAL

Definition at line 860 of file Maillage_FT_Disc.cpp.

◆ compute_gravity_center_fa7()

void Maillage_FT_Disc::compute_gravity_center_fa7 ( )

Definition at line 6451 of file Maillage_FT_Disc.cpp.

◆ compute_normale_element()

double Maillage_FT_Disc::compute_normale_element ( const int elem,
const bool normalize,
ArrOfDouble & normale ) const
virtual

Definition at line 1638 of file Maillage_FT_Disc.cpp.

◆ compute_surface_and_normale_element()

double Maillage_FT_Disc::compute_surface_and_normale_element ( const int elem,
const bool normalize,
double surface,
double normal[3] ) const
virtual

Definition at line 1600 of file Maillage_FT_Disc.cpp.

◆ construire_noeuds()

void Maillage_FT_Disc::construire_noeuds ( IntTab & def_noeud,
const DoubleTab & soms )
protected

Definition at line 1274 of file Maillage_FT_Disc.cpp.

◆ convertir_numero_distant_local() [1/2]

void Maillage_FT_Disc::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
protected

Conversion des couples (numeros_distants, pe) en numeros_locaux.

Parametres: descripteur = soit desc_sommets_, soit desc_facettes_, ou un autre element_num_owner = soit sommets_num_owner_, soit facettes_num_owner_, ou equivalent numeros_distants = une liste de numeros de facettes ou sommets qui appartiennent au pe_distant et qui sont virtuels chez moi. Le numero est le numero de la facette ou du sommet sur le pe_distant pe_distant = pour chaque numero de facette ou sommet, le pe proprietaire

Parameters
(numeros_locaux)tableau rempli par cette methode. Le contenu initial est efface. La taille est identique a celle de numeros_distants. On y met le numero local des elements (ce sont des numeros d'elements virtuels). Attention: numeros_locaux et numeros_distants peuvent referencer le meme tableau

Definition at line 3398 of file Maillage_FT_Disc.cpp.

◆ convertir_numero_distant_local() [2/2]

void Maillage_FT_Disc::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
protected

Definition at line 3441 of file Maillage_FT_Disc.cpp.

◆ coords_fa7()

Vecteur3 Maillage_FT_Disc::coords_fa7 ( int fa7) const

Definition at line 1686 of file Maillage_FT_Disc.cpp.

◆ copier_sommet()

int Maillage_FT_Disc::copier_sommet ( int som)
protected

fonction qui cree un nouveau sommet par copie d'une existant utilise dans Remailleur_Collision_FT_Collision_Seq

Definition at line 2297 of file Maillage_FT_Disc.cpp.

◆ copier_sommet_interne()

int Maillage_FT_Disc::copier_sommet_interne ( int som)
protected

Definition at line 2332 of file Maillage_FT_Disc.cpp.

◆ correction_costheta()

void Maillage_FT_Disc::correction_costheta ( const double c,
const int s0,
const int facette,
double ps ) const
protected

◆ corriger_proprietaires_facettes()

void Maillage_FT_Disc::corriger_proprietaires_facettes ( )
protected

Sans changer les sommets existants ni la numerotation des facettes, on change le proprietaire des facettes de sorte que ce soit aussi le proprietaire.

du premier sommet de la facette. Pour cela on doit eventuellement creer des sommets virtuels supplementaire et des facettes. Aucune facette n'est supprimee. Certaines facettes reelles sont creees, Certaines facettes reelles deviennent virtuelles. Le maillage retourne a l'etat minimal. Cette methode est utilisee lors de l'algorithme Marching-Cubes, du transport et du remaillage pour amener le maillage dans son etat conforme aux conventions.

Precondition: Les membres suivants doivent etre valides :

  • Memes membres que creer_facettes_virtuelles
  • desc_facettes_ (remarque) (remarque) desc_facettes_ doit etre un descripteur valide (correspondance entre elements distants et elements virtuels). En revanche, on suppose que la facette peut etre reelle sur n'importe quel processeur (pas forcement le proprietaire du premier sommet). Postcondition:
  • Toutes les conditions qui definissent l'etat MINIMAL sont remplies.

Definition at line 2818 of file Maillage_FT_Disc.cpp.

◆ creer_facettes_virtuelles()

void Maillage_FT_Disc::creer_facettes_virtuelles ( const ArrOfInt & liste_facettes,
const ArrOfInt & liste_facettes_pe,
const ArrOfInt & facettes_send_pe_list,
const ArrOfInt & facettes_recv_pe_list )
protectedvirtual

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 in Maillage_FT_IJK.

Definition at line 2918 of file Maillage_FT_Disc.cpp.

◆ creer_sommets_virtuels()

void Maillage_FT_Disc::creer_sommets_virtuels ( const ArrOfInt & liste_sommets,
const ArrOfInt & liste_pe,
const Schema_Comm & comm )
protected

Envoi des sommets dont le numero est donne dans liste_sommets au processeur dont le numero est donne dans liste_pe (on cree un.

sommet virtuel sur ce processeur). Parmi les sommets de la liste_sommets, seuls ceux qui ne sont pas encore dans l'espace virtuel sont crees.

Precondition: Les membres suivants doivent etre valides:

  • sommets_,
  • desc_sommets_,
  • drapeaux_sommets_,
  • sommet_elem_,
  • sommet_PE_owner_,
  • sommet_num_owner_

Postcondition: Les memes tableaux sont valides a la sortie de la fonction.

Parameters
(liste_sommets)une liste de numeros de sommets REELS qui peut contenir des doublons.
(liste_pe)une liste de meme taille que liste_sommets contenant le numero du processeur sur lequel il faut creer un noeud virtuel. Le processeur ne doit pas etre moi.
(comm)un schema de comm valide, dans lequel send_pe_list contient au moins les processeurs cites dans liste_pe.

Definition at line 2365 of file Maillage_FT_Disc.cpp.

◆ creer_sommets_virtuels_numowner()

void Maillage_FT_Disc::creer_sommets_virtuels_numowner ( const ArrOfInt & request_sommets_pe,
const ArrOfInt & request_sommets_num )
protected

Cree chez moi les sommets virtuels specifies par le couple (pe,num) si le sommet n'existe pas encore.

Le sommet est suppose etre reel sur "pe" et le sommet virtuel est cree sur "me()". (c'est l'inverse de "creer_sommets_virtuels" qui cree des sommets virtuels chez chez le pe demande). Fait appel a creer_sommets_virtuels, donc meme preconditions.

Parameters
(request_sommets_pe)une liste de numeros de processeurs DIFFERENTS de me()
(request_sommets_num)une liste de numeros de sommets. Chaque couple pe[i],num[i] designe un sommet reel d'indice "num" sur le processeur "pe". Pour chaque sommet, on cree un sommet virtuel sur me() s'il n'existe pas deja.

Definition at line 2458 of file Maillage_FT_Disc.cpp.

◆ creer_tableau_elements()

void Maillage_FT_Disc::creer_tableau_elements ( Array_base & x,
RESIZE_OPTIONS opt = RESIZE_OPTIONS::COPY_INIT ) const

creation d'un tableau aux sommets du maillage Meme principe que Domaine::creer_tableau_elements()

Definition at line 6445 of file Maillage_FT_Disc.cpp.

◆ creer_tableau_sommets()

void Maillage_FT_Disc::creer_tableau_sommets ( Array_base & x,
RESIZE_OPTIONS opt = RESIZE_OPTIONS::COPY_INIT ) const

creation d'un tableau aux sommets du maillage Meme principe que Domaine::creer_tableau_sommets()

Definition at line 6436 of file Maillage_FT_Disc.cpp.

◆ deplacer_sommets()

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

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 in Maillage_FT_IJK.

Definition at line 3699 of file Maillage_FT_Disc.cpp.

◆ deplacer_un_point()

int Maillage_FT_Disc::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

Definition at line 3498 of file Maillage_FT_Disc.cpp.

◆ deplacer_un_sommet()

int Maillage_FT_Disc::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

Definition at line 3606 of file Maillage_FT_Disc.cpp.

◆ desc_facettes()

const Desc_Structure_FT & Maillage_FT_Disc::desc_facettes ( ) const

renvoie le descripteur des facettes (espace_distant/virtuel)

Definition at line 2101 of file Maillage_FT_Disc.cpp.

◆ desc_sommets()

const Desc_Structure_FT & Maillage_FT_Disc::desc_sommets ( ) const

renvoie le descripteur des sommets (espace_distant/virtuel)

Definition at line 2093 of file Maillage_FT_Disc.cpp.

◆ drapeaux_sommets()

const ArrOfInt & Maillage_FT_Disc::drapeaux_sommets ( ) const

Pour postraitement uniquement : la signification precise des drapeaux est de la cuisine interne a la classe.

..

Definition at line 2084 of file Maillage_FT_Disc.cpp.

◆ echanger_facettes()

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

Echange des facettes dont les numeros sont fournis dans "liste_facettes" : Pour chaque facette a ajouter,.

  • On determine le processeur destinataire de la facette (c'est le processeur qui possede l'element_arrivee)
  • On ajoute la facette sur ce processeur si elle n'existe pas encore (creation d'une facette virtuelle et des sommets de la facette).
  • On envoie a ce processeur le numero de l'element_arrivee. Le numero est converti en numero local d'un element reel sur ce processeur. Cette methode est essentiellement utilisee dans le parcours de l'interface.

Precondition: Le maillage doit etre dans l'etat minimal (en particulier, il doit respecter la convention "proprietaire facette=proprietaire 1er sommet").

Trois categories de processeurs vont se parler: le processeur A qui connait le numero de la facette a envoyer, le processeur B qui possede la facette, le processeur C a qui on veut envoyer la facette.

Parameters
(liste_facettes)un tableau contenant des numeros de facettes reelles ou virtuelles, eventuellement avec doublons.
(liste_elem_arrivee)tableau de taille identique a liste_facettes, contenant pour chacune un numero d'element virtuel.
(facettes_recues_numfacettes)tableau rempli lors de l'echange avec la liste des facettes qui ont ete recues (meme si elles existaient deja et avec les doublons eventuels). Le contenu initial du tableau est efface. Aliasing ave liste_facettes autorise.
(facettes_recues_numelement)tableau rempli lors de l'echange: pour chaque facette recue, numero de l'element d'arrivee (c'est la traduction du numero d'element virtuel "liste_elem_arrivee" en numero d'element reel sur le processeur qui a recu la facette. Aliasing avec liste_elem_arrivee autorise.

Definition at line 3184 of file Maillage_FT_Disc.cpp.

◆ echanger_sommets_PE()

void Maillage_FT_Disc::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 )
protected

Realise l'ensemble des echanges de noeuds specifies dans liste_sommets, liste_elem_virtuel_arrivee et deplacement.

Met a jour les sommets, facettes, espaces distants et virtuels. Le maillage retourne a l'etat minimal. Le buffer d'echange est reinitialise. On stocke dans liste_nouveaux_sommets la liste des numeros des sommets reels fraichement arrives sur le domaine, ainsi que le deplacement restant pour chacun de ces sommets (tableau a 3 colonnes (meme en dimension 2 !), de taille le nombre de nouveaux sommets).

Precondition: Les membres suivants doivent etre valides a l'entree de la fonction: (Meme liste que pour creer_sommets_virtuels(...) ) Postcondition: Les memes membres sont valides a la sortie. Attention: on ne met PAS a jour les facettes, la regle de propriete des facettes n'est donc pas verifiee au retour de la fonction. Il faut appeler corriger_proprietaire_facettes.

Definition at line 2571 of file Maillage_FT_Disc.cpp.

◆ ecrire_plot()

void Maillage_FT_Disc::ecrire_plot ( const Nom & nom,
double temps,
int niveau_requete ) const

Definition at line 436 of file Maillage_FT_Disc.cpp.

◆ equation_associee()

const Equation_base & Maillage_FT_Disc::equation_associee ( ) const
overridevirtual

Implements Ensemble_Lagrange_base.

Definition at line 6410 of file Maillage_FT_Disc.cpp.

◆ equation_transport() [1/2]

Transport_Interfaces_FT_Disc & Maillage_FT_Disc::equation_transport ( )

Definition at line 6400 of file Maillage_FT_Disc.cpp.

◆ equation_transport() [2/2]

const Transport_Interfaces_FT_Disc & Maillage_FT_Disc::equation_transport ( ) const

Definition at line 6405 of file Maillage_FT_Disc.cpp.

◆ facette_PE_owner()

void Maillage_FT_Disc::facette_PE_owner ( ArrOfInt & facette_pe) const

pour postraitement, remplit le tableau en parametre avec le numero du PE proprietaire de chaque facette.

Definition at line 2127 of file Maillage_FT_Disc.cpp.

◆ facette_virtuelle()

int Maillage_FT_Disc::facette_virtuelle ( int i) const
inline

Renvoie 0 si la facette m'appartient, 1 sinon.

(le test est "le premier sommet de la facette m'appartient-t-il ?")

Definition at line 528 of file Maillage_FT_Disc.h.

◆ facettes()

const IntTab & Maillage_FT_Disc::facettes ( ) const

renvoie le tableau des facettes (reelles et virtuelles) dimension(0) = nombre de facettes,

dimension(1) = nombre de sommets par facette (2 en 2D, 3 en 3D) contenu = numero des sommets de chaque facette dans le tableau des sommets

Definition at line 1841 of file Maillage_FT_Disc.cpp.

◆ facettes_voisines()

int Maillage_FT_Disc::facettes_voisines ( int fa70,
int fa71,
int & iarete0,
int & iarete1 ) const

Cette methode teste si les facettes sont voisines : Des facettes sont voisines si :

-elles ont 1 sommet commun en 2D -elles ont 2 sommets communs en 3D La methode renvoie -1 si les facettes ne sont pas voisines. Elle renvoie l'indice (local) de l'arete (dans fa70) par laquelle les facettes sont voisines A OPTIMISER eventuellement

Definition at line 1911 of file Maillage_FT_Disc.cpp.

◆ generer_structure()

void Maillage_FT_Disc::generer_structure ( )

Definition at line 1167 of file Maillage_FT_Disc.cpp.

◆ get_gravity_center_fa7()

const DoubleTab & Maillage_FT_Disc::get_gravity_center_fa7 ( ) const
inline

Definition at line 234 of file Maillage_FT_Disc.h.

◆ get_is_solid_particle()

const bool & Maillage_FT_Disc::get_is_solid_particle ( ) const
inline

Definition at line 231 of file Maillage_FT_Disc.h.

◆ get_liste_facette_supprimees_et_voisines()

const IntTabFT & Maillage_FT_Disc::get_liste_facette_supprimees_et_voisines ( ) const
inline

Definition at line 158 of file Maillage_FT_Disc.h.

◆ get_mesh_tag()

int Maillage_FT_Disc::get_mesh_tag ( ) const
inline

return mesh_state_tag_

Definition at line 76 of file Maillage_FT_Disc.h.

◆ get_nb_facette_supprimees()

const int & Maillage_FT_Disc::get_nb_facette_supprimees ( ) const
inline

Definition at line 166 of file Maillage_FT_Disc.h.

◆ get_normale_facettes()

const DoubleTab & Maillage_FT_Disc::get_normale_facettes ( ) const
virtual

Definition at line 1680 of file Maillage_FT_Disc.cpp.

◆ get_schema_comm_FT()

const Schema_Comm & Maillage_FT_Disc::get_schema_comm_FT ( ) const
inline

Definition at line 232 of file Maillage_FT_Disc.h.

◆ get_surface_facettes()

const ArrOfDouble & Maillage_FT_Disc::get_surface_facettes ( ) const
virtual

Definition at line 1674 of file Maillage_FT_Disc.cpp.

◆ get_update_courbure_sommets()

const ArrOfDouble & Maillage_FT_Disc::get_update_courbure_sommets ( ) const
virtual

Calcule la grandeur demandee, stocke le resultat dans un tableau interne a la classe et renvoie le resultat.

Si le maillage n'a pas change depuis le dernier calcul (mesh_tag identique) alors on ne recalcule pas la valeur. Attention, cette methode doit etre appelee simultanement sur tous les processeurs.

Definition at line 1713 of file Maillage_FT_Disc.cpp.

◆ get_update_normale_facettes()

const DoubleTab & Maillage_FT_Disc::get_update_normale_facettes ( ) const
virtual

Calcule la grandeur demandee, stocke le resultat dans un tableau interne a la classe et renvoie le resultat.

Si le maillage n'a pas change depuis le dernier calcul (mesh_tag identique) alors on ne recalcule pas la valeur. Attention, cette methode doit etre appelee simultanement sur tous les processeurs.

Definition at line 1586 of file Maillage_FT_Disc.cpp.

◆ get_update_surface_facettes()

const ArrOfDouble & Maillage_FT_Disc::get_update_surface_facettes ( ) const
virtual

Calcule la grandeur demandee, stocke le resultat dans un tableau interne a la classe et renvoie le resultat.

Si le maillage n'a pas change depuis le dernier calcul (mesh_tag identique) alors on ne recalcule pas la valeur. Attention, cette methode doit etre appelee simultanement sur tous les processeurs.

Definition at line 1563 of file Maillage_FT_Disc.cpp.

◆ intersections_elem_facettes()

const Intersections_Elem_Facettes & Maillage_FT_Disc::intersections_elem_facettes ( ) const

Definition at line 6394 of file Maillage_FT_Disc.cpp.

◆ lire_param_maillage()

Entree & Maillage_FT_Disc::lire_param_maillage ( Entree & is)
virtual

Cette fonction permet de lire les parametres pour le maillage des interfaces.

Parameters
(is)flot d'entree
Returns
(Entree) le flot d'entree

Definition at line 564 of file Maillage_FT_Disc.cpp.

◆ maillage_modifie()

void Maillage_FT_Disc::maillage_modifie ( Statut_Maillage nouveau_statut)
protected

Cette methode change le statut du maillage et invalide le cache de valeurs calculees (surface, courbure, .

..) Il faut l'appeler chaque fois que le maillage est modifie et avant le prochain appel a get_update_xxx. Cette methode est appelee par les methode publiques non constantes de Maillage_FT_Disc et par les methodes de Remaillage, ...

Definition at line 237 of file Maillage_FT_Disc.cpp.

◆ mesh_data_cache()

Maillage_FT_Disc_Data_Cache & Maillage_FT_Disc::mesh_data_cache ( ) const
protected

renvoie une ref non const au cache de valeurs calculees sur le maillage (courbure, surface, normale, .

..) On fait un cast de l'objet en non const (voir commentaire sur mesh_data_cache_ dans Maillage_FT_Disc.h)

Definition at line 221 of file Maillage_FT_Disc.cpp.

◆ mesh_tag_increase()

void Maillage_FT_Disc::mesh_tag_increase ( ) const
inline

Definition at line 71 of file Maillage_FT_Disc.h.

◆ nb_facettes()

int Maillage_FT_Disc::nb_facettes ( ) const

renvoie le nombre de facettes (reelles et virtuelles) (egal a facettes().

dimension(0))

Definition at line 1852 of file Maillage_FT_Disc.cpp.

◆ nb_facettes_reelle_totale()

int Maillage_FT_Disc::nb_facettes_reelle_totale ( ) const

Definition at line 1874 of file Maillage_FT_Disc.cpp.

◆ nb_facettes_reelles()

int Maillage_FT_Disc::nb_facettes_reelles ( ) const

Definition at line 1859 of file Maillage_FT_Disc.cpp.

◆ nb_facettes_totale()

int Maillage_FT_Disc::nb_facettes_totale ( ) const

Definition at line 1890 of file Maillage_FT_Disc.cpp.

◆ nb_sommets()

int Maillage_FT_Disc::nb_sommets ( ) const

renvoie le nombre de sommets (reels et virtuels) (egal a sommets().

dimension(0))

Definition at line 1827 of file Maillage_FT_Disc.cpp.

◆ nettoyer_elements_virtuels()

void Maillage_FT_Disc::nettoyer_elements_virtuels ( )

Retire toutes les facettes virtuelles et tous les sommets qui ne sont pas utilises.

Definition at line 4347 of file Maillage_FT_Disc.cpp.

◆ nettoyer_maillage()

void Maillage_FT_Disc::nettoyer_maillage ( )
virtual

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

Reimplemented in Maillage_FT_IJK.

Definition at line 4357 of file Maillage_FT_Disc.cpp.

◆ nettoyer_noeuds_virtuels_et_frontieres()

void Maillage_FT_Disc::nettoyer_noeuds_virtuels_et_frontieres ( )

Definition at line 4631 of file Maillage_FT_Disc.cpp.

◆ nettoyer_phase()

void Maillage_FT_Disc::nettoyer_phase ( const Nom & nom_eq,
const int phase )

Definition at line 4845 of file Maillage_FT_Disc.cpp.

◆ OBS_PTR() [1/3]

Maillage_FT_Disc::OBS_PTR ( Domaine_dis_base )
protected

◆ OBS_PTR() [2/3]

Maillage_FT_Disc::OBS_PTR ( Parcours_interface )
protected

◆ OBS_PTR() [3/3]

Maillage_FT_Disc::OBS_PTR ( Transport_Interfaces_FT_Disc )
protected

◆ operator=()

const Maillage_FT_Disc & Maillage_FT_Disc::operator= ( const Maillage_FT_Disc & )
protected

L'operateur = est interdit !

Definition at line 258 of file Maillage_FT_Disc.cpp.

◆ OWN_PTR()

Maillage_FT_Disc::OWN_PTR ( Maillage_FT_Disc_Data_Cache )
protected

◆ parcourir_maillage()

void Maillage_FT_Disc::parcourir_maillage ( )

Remplit la structure intersections_elem_facettes_.

Le statut passe a PARCOURU.

Precondition: statut >= MINIMAL

Definition at line 834 of file Maillage_FT_Disc.cpp.

◆ pre_lissage_courbure()

void Maillage_FT_Disc::pre_lissage_courbure ( ArrOfDouble & store_courbure_sommets,
const int niter ) const
protected

◆ preparer_tableau_avant_transport() [1/3]

void Maillage_FT_Disc::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.

Le transport modifie le descripteur et augmente le nombre de sommets ou de facettes. En general les tableaux qui contiennent des valeurs aux sommets ou aux facettes ne sont donc plus valables apres le transport. On peut les rendre valables comme suit (exemple avec le tableau courbure aux sommets) : preparer_tableau_avant_transport(courbure, desc_sommets()); transporter(deplacement); update_tableau_apres_transport(courbure, desc_sommets()); Attention, le tableau ne devient valable qu'apres avoir appele update_tableau_apres_transport.

Definition at line 6265 of file Maillage_FT_Disc.cpp.

◆ preparer_tableau_avant_transport() [2/3]

void Maillage_FT_Disc::preparer_tableau_avant_transport ( ArrOfInt & tableau,
const Desc_Structure_FT & descripteur ) const

Definition at line 6286 of file Maillage_FT_Disc.cpp.

◆ preparer_tableau_avant_transport() [3/3]

void Maillage_FT_Disc::preparer_tableau_avant_transport ( DoubleTab & tableau,
const Desc_Structure_FT & descripteur ) const

Voir preparer_tableau_avant_transport.

Definition at line 6311 of file Maillage_FT_Disc.cpp.

◆ printFa7()

Sortie & Maillage_FT_Disc::printFa7 ( int fa7,
int affsom,
Sortie & os ) const

Definition at line 385 of file Maillage_FT_Disc.cpp.

◆ printSom()

Sortie & Maillage_FT_Disc::printSom ( int som,
Sortie & os ) const

Definition at line 419 of file Maillage_FT_Disc.cpp.

◆ recopie()

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

Recopie une partie du maillage source dans *this.

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

Reimplemented in Maillage_FT_IJK.

Definition at line 645 of file Maillage_FT_Disc.cpp.

◆ remplir_structure()

void Maillage_FT_Disc::remplir_structure ( const DoubleTab & soms)

Definition at line 1186 of file Maillage_FT_Disc.cpp.

◆ reprendre()

int Maillage_FT_Disc::reprendre ( Entree & )
overridevirtual

Reprise d'un Objet_U sur un flot d'entree Methode a surcharger.

Parameters
(Entree&)flot d'entree a utiliser pour la reprise
Returns
(int) code de retour

Reimplemented from Objet_U.

Definition at line 2231 of file Maillage_FT_Disc.cpp.

◆ reset()

void Maillage_FT_Disc::reset ( )

vide toutes les structures du maillage, le statut passe a RESET.

Definition at line 622 of file Maillage_FT_Disc.cpp.

◆ sauvegarder()

int Maillage_FT_Disc::sauvegarder ( Sortie & ) const
overridevirtual

Sauvegarde d'un Objet_U sur un flot de sortie Methode a surcharger.

Parameters
(Sortie&)flot de sortie a utiliser pour la sauvegarde
Returns
(int) code de retour

Reimplemented from Objet_U.

Definition at line 2179 of file Maillage_FT_Disc.cpp.

◆ set_is_solid_particle()

void Maillage_FT_Disc::set_is_solid_particle ( const bool is_solid_particle)
inline

Definition at line 230 of file Maillage_FT_Disc.h.

◆ set_liste_facette_supprimees_et_voisines()

void Maillage_FT_Disc::set_liste_facette_supprimees_et_voisines ( IntTabFT tab)
inline

Definition at line 162 of file Maillage_FT_Disc.h.

◆ set_nb_facette_supprimees()

void Maillage_FT_Disc::set_nb_facette_supprimees ( int nb)
inline

Definition at line 170 of file Maillage_FT_Disc.h.

◆ set_niveau_plot()

int Maillage_FT_Disc::set_niveau_plot ( int niv)
inline

Definition at line 534 of file Maillage_FT_Disc.h.

◆ som_init_util()

const ArrOfInt & Maillage_FT_Disc::som_init_util ( ) const

return som_init_util_

Definition at line 2174 of file Maillage_FT_Disc.cpp.

◆ sommet_elem()

const ArrOfInt & Maillage_FT_Disc::sommet_elem ( ) const

pour postraitement, renvoie sommet_elem_

Definition at line 2137 of file Maillage_FT_Disc.cpp.

◆ sommet_face_bord() [1/2]

const ArrOfInt & Maillage_FT_Disc::sommet_face_bord ( ) const

pour postraitement, renvoie sommet_face_bord_

Definition at line 2146 of file Maillage_FT_Disc.cpp.

◆ sommet_face_bord() [2/2]

int Maillage_FT_Disc::sommet_face_bord ( int i) const
inline

Definition at line 516 of file Maillage_FT_Disc.h.

◆ sommet_ligne_contact()

int Maillage_FT_Disc::sommet_ligne_contact ( int i) const
inline

Definition at line 509 of file Maillage_FT_Disc.h.

◆ sommet_num_owner()

const ArrOfInt & Maillage_FT_Disc::sommet_num_owner ( ) const

pour postraitement, renvoie le numero des sommets sur le PE proprietaire des sommets

Definition at line 2118 of file Maillage_FT_Disc.cpp.

◆ sommet_PE_owner()

const ArrOfInt & Maillage_FT_Disc::sommet_PE_owner ( ) const

pour postraitement, renvoie le numero du PE proprietaire des sommets

Definition at line 2110 of file Maillage_FT_Disc.cpp.

◆ sommet_virtuel()

int Maillage_FT_Disc::sommet_virtuel ( int i) const
inline

Definition at line 500 of file Maillage_FT_Disc.h.

◆ sommets()

const DoubleTab & Maillage_FT_Disc::sommets ( ) const

renvoie le tableau des sommets (reels et virtuels) dimension(0) = nombre de sommets,

dimension(1) = dimension du probleme (2 ou 3) contenu = coordonnees des sommets

Definition at line 1816 of file Maillage_FT_Disc.cpp.

◆ supprimer_facettes()

void Maillage_FT_Disc::supprimer_facettes ( const ArrOfInt & liste_facettes)

Supprime les facettes dont les indices locaux sont donnes en parametre.

Le maillage est nettoye et retourne a l'etat MINIMAL.

Definition at line 4617 of file Maillage_FT_Disc.cpp.

◆ temps()

double Maillage_FT_Disc::temps ( ) const

return temps_physique_ (temps_physique_ ne sert a rien en interne.

..)

Definition at line 2157 of file Maillage_FT_Disc.cpp.

◆ transporter()

void Maillage_FT_Disc::transporter ( const DoubleTab & deplacement)
virtual

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 in Maillage_FT_IJK.

Definition at line 1114 of file Maillage_FT_Disc.cpp.

◆ transporter_simple()

void Maillage_FT_Disc::transporter_simple ( const DoubleTab & deplacement)

Definition at line 1431 of file Maillage_FT_Disc.cpp.

◆ type_statut()

int Maillage_FT_Disc::type_statut ( ) const

Definition at line 6415 of file Maillage_FT_Disc.cpp.

◆ update_tableau_apres_transport() [1/3]

void Maillage_FT_Disc::update_tableau_apres_transport ( ArrOfDouble & tableau,
int nb_elements,
const Desc_Structure_FT & descripteur ) const

Voir preparer_tableau_avant_transport.

Definition at line 6336 of file Maillage_FT_Disc.cpp.

◆ update_tableau_apres_transport() [2/3]

void Maillage_FT_Disc::update_tableau_apres_transport ( ArrOfInt & tableau,
int nb_elements,
const Desc_Structure_FT & descripteur ) const

Definition at line 6356 of file Maillage_FT_Disc.cpp.

◆ update_tableau_apres_transport() [3/3]

void Maillage_FT_Disc::update_tableau_apres_transport ( DoubleTab & tableau,
int nb_elements,
const Desc_Structure_FT & descripteur ) const

Voir preparer_tableau_avant_transport.

Definition at line 6379 of file Maillage_FT_Disc.cpp.

◆ Marching_Cubes

friend class Marching_Cubes
friend

Definition at line 472 of file Maillage_FT_Disc.h.

◆ Parcours_interface

friend class Parcours_interface
friend

Definition at line 473 of file Maillage_FT_Disc.h.

◆ Post_Processing_Hydrodynamic_Forces

Definition at line 50 of file Maillage_FT_Disc.h.

◆ Remaillage_FT

friend class Remaillage_FT
friend

Definition at line 474 of file Maillage_FT_Disc.h.

◆ Remaillage_FT_IJK

friend class Remaillage_FT_IJK
friend

Definition at line 475 of file Maillage_FT_Disc.h.

◆ Remailleur_Collision_FT_Collision_Seq

friend class Remailleur_Collision_FT_Collision_Seq
friend

Definition at line 477 of file Maillage_FT_Disc.h.

◆ Sauvegarde_Reprise_Maillage_FT

friend class Sauvegarde_Reprise_Maillage_FT
friend

Definition at line 478 of file Maillage_FT_Disc.h.

◆ Topologie_Maillage_FT

friend class Topologie_Maillage_FT
friend

Definition at line 476 of file Maillage_FT_Disc.h.

Member Data Documentation

◆ calcul_courbure_iterations_

int Maillage_FT_Disc::calcul_courbure_iterations_
protected

Definition at line 485 of file Maillage_FT_Disc.h.

◆ correction_contact_courbure_coeff_

double Maillage_FT_Disc::correction_contact_courbure_coeff_
protected

Definition at line 484 of file Maillage_FT_Disc.h.

◆ desc_facettes_

Desc_Structure_FT Maillage_FT_Disc::desc_facettes_
protected

Definition at line 431 of file Maillage_FT_Disc.h.

◆ desc_sommets_

Desc_Structure_FT Maillage_FT_Disc::desc_sommets_
protected

Definition at line 430 of file Maillage_FT_Disc.h.

◆ drapeaux_sommets_

ArrOfIntFT Maillage_FT_Disc::drapeaux_sommets_
protected

Definition at line 435 of file Maillage_FT_Disc.h.

◆ EFFACE

const int Maillage_FT_Disc::EFFACE = 1
staticprotected

Definition at line 437 of file Maillage_FT_Disc.h.

◆ facette_num_owner_

ArrOfIntFT Maillage_FT_Disc::facette_num_owner_
protected

Definition at line 417 of file Maillage_FT_Disc.h.

◆ facettes_

IntTabFT Maillage_FT_Disc::facettes_
protected

Definition at line 396 of file Maillage_FT_Disc.h.

◆ gravity_center_fa7_

DoubleTab Maillage_FT_Disc::gravity_center_fa7_
protected

Definition at line 492 of file Maillage_FT_Disc.h.

◆ intersections_elem_facettes_

Intersections_Elem_Facettes Maillage_FT_Disc::intersections_elem_facettes_
protected

Definition at line 448 of file Maillage_FT_Disc.h.

◆ is_solid_particle_

bool Maillage_FT_Disc::is_solid_particle_ =false
protected

Definition at line 491 of file Maillage_FT_Disc.h.

◆ liste_facette_supprimees_et_voisines_

IntTabFT Maillage_FT_Disc::liste_facette_supprimees_et_voisines_
protected

Definition at line 397 of file Maillage_FT_Disc.h.

◆ mesh_state_tag_

int Maillage_FT_Disc::mesh_state_tag_
mutableprotected

Definition at line 367 of file Maillage_FT_Disc.h.

◆ methode_calcul_courbure_contact_line_

int Maillage_FT_Disc::methode_calcul_courbure_contact_line_
protected

Definition at line 488 of file Maillage_FT_Disc.h.

◆ nb_facette_supprimees_

int Maillage_FT_Disc::nb_facette_supprimees_
protected

Definition at line 398 of file Maillage_FT_Disc.h.

◆ niter_pre_lissage_

int Maillage_FT_Disc::niter_pre_lissage_
protected

Definition at line 486 of file Maillage_FT_Disc.h.

◆ niveau_plot_

int Maillage_FT_Disc::niveau_plot_
protected

Definition at line 483 of file Maillage_FT_Disc.h.

◆ schema_comm_domaine_

Schema_Comm Maillage_FT_Disc::schema_comm_domaine_
protected

Definition at line 332 of file Maillage_FT_Disc.h.

◆ som_init_util_

ArrOfIntFT Maillage_FT_Disc::som_init_util_
protected

Definition at line 327 of file Maillage_FT_Disc.h.

◆ sommet_elem_

ArrOfIntFT Maillage_FT_Disc::sommet_elem_
protected

Definition at line 404 of file Maillage_FT_Disc.h.

◆ sommet_face_bord_

ArrOfIntFT Maillage_FT_Disc::sommet_face_bord_
protected

Definition at line 409 of file Maillage_FT_Disc.h.

◆ sommet_num_owner_

ArrOfIntFT Maillage_FT_Disc::sommet_num_owner_
protected

Definition at line 415 of file Maillage_FT_Disc.h.

◆ sommet_PE_owner_

ArrOfIntFT Maillage_FT_Disc::sommet_PE_owner_
protected

Definition at line 413 of file Maillage_FT_Disc.h.

◆ sommets_

DoubleTabFT Maillage_FT_Disc::sommets_
protected

Definition at line 382 of file Maillage_FT_Disc.h.

◆ statut_

Statut_Maillage Maillage_FT_Disc::statut_
protected

Definition at line 360 of file Maillage_FT_Disc.h.

◆ temps_physique_

double Maillage_FT_Disc::temps_physique_
protected

Definition at line 370 of file Maillage_FT_Disc.h.

◆ voisins_

IntTabFT Maillage_FT_Disc::voisins_
protected

Definition at line 452 of file Maillage_FT_Disc.h.

◆ weight_CL_

double Maillage_FT_Disc::weight_CL_
protected

Definition at line 489 of file Maillage_FT_Disc.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/Geometrie/Maillage_FT_Disc.h
  • /home/docs/checkouts/readthedocs.org/user_builds/triocfd-documentation/checkouts/next/src/Multiphase/Front_tracking_discontinu/Geometrie/Maillage_FT_Disc.cpp