|
TrioCFD 1.9.8
TrioCFD documentation
|
: class Remaillage_FT Cette classe implemente les procedures de remaillage des interfaces pour le Front-Tracking : More...
#include <Remaillage_FT.h>
Public Member Functions | |
| Remaillage_FT () | |
| void | set_param (Param &p) const override |
| Methode appelee par readOn. | |
| void | associer_domaine (const Domaine_dis_base &domaine_dis) |
| Cette fonction stocke le domaine_dis dans refdomaine_dis_. | |
| int | supprimer_facettes_nulles (Maillage_FT_Disc &maillage) const |
| Cette fonction "supprime" les facettes de surface nulle : Elle les reduit a 1 sommet (le sommet 0, pour ne pas changer de processeur). | |
| int | traite_adherence (Maillage_FT_Disc &maillage) const |
| Cette fonction permet de gerer l'adherence de l'interface a la paroi Si une facette possede 3 sommets sur un paroi, elle est supprimee. | |
| int | traite_decollement (Maillage_FT_Disc &maillage, const DoubleTab &deplacement) const |
| Cette fonction permet de gerer le decollement de l'interface de la paroi Si un sommet de bord n'a pas de sommet voisin de bord. | |
| int | a_remailler (double temps, const Maillage_FT_Disc &maillage) const |
| int | a_lisser (double temps) const |
| void | remaillage_local_interface (double temps, Maillage_FT_Disc &maillage) |
| Verifie les criteres de remaillage locaux (longueur des aretes) et effectue les remaillages locaux si necessaires. | |
| void | corriger_volume (Maillage_FT_Disc &maillage, ArrOfDouble &var_volume) |
| deplacement des sommets se sorte a produire la variation de volume prescrite a chaque sommet. | |
| void | corriger_volume_ (Maillage_FT_Disc &maillage, ArrOfDouble &var_volume, const int nb_iter_corrections_vol) |
| void | barycentrer_lisser_systematique (double temps, Maillage_FT_Disc &maillage) |
| applique barycentrage, lissage et correction de volume. | |
| void | barycentrer_lisser_apres_remaillage (Maillage_FT_Disc &maillage, ArrOfDouble &var_volume) |
| idem mais avec le nombre d'iterations de lissage si remaillage | |
| int | sauvegarder (Sortie &) const override |
| Sauvegarde d'un Objet_U sur un flot de sortie Methode a surcharger. | |
| int | reprendre (Entree &) override |
| Reprise d'un Objet_U sur un flot d'entree Methode a surcharger. | |
| double | calculer_variation_volume (const Maillage_FT_Disc &maillage, const DoubleTab &position_initiale, ArrOfDouble &varVolume) const |
| Cette fonction calcule le volume de phase 0 engendre par chaque sommet lors du deplacement de l'interface entre la position initiale et la position actuelle. | |
| void | lisser_dvolume (const Maillage_FT_Disc &maillage, ArrOfDouble &var_volume, const int nb_iterations) const |
| Regularise le champ scalaire "var_volume" defini aux sommets du "maillage". | |
| virtual void | regulariser_courbure (Maillage_FT_Disc &maillage, const double coeff, ArrOfDouble &dvolume) const |
| Regularise le maillage en deplacant les sommets pour reduire les gradients de courbure. | |
| int | get_nb_iter_bary_volume_seul () |
| void | set_is_solid_particle (const bool is_solid_particle) |
| const bool & | get_is_solid_particle () const |
| Public Member Functions inherited from Objet_U | |
| ~Objet_U () override | |
| Destructeur, supprime l'objet de la liste d'objets enregistres dans "memoire". | |
| int | numero () const |
| Renvoie l'indice de l'objet dans Memoire::data. | |
| virtual int | duplique () const =0 |
| virtual Sortie & | printOn (Sortie &) const |
| Ecriture de l'objet sur un flot de sortie Methode a surcharger. | |
| virtual Entree & | readOn (Entree &) |
| Lecture d'un Objet_U sur un flot d'entree Methode a surcharger. | |
| virtual unsigned | taille_memoire () const =0 |
| virtual int | est_egal_a (const Objet_U &) const |
| Renvoie 1 si l'objet x et *this sont une seule et meme instance (meme adresse en memoire). | |
| virtual const Nom & | le_nom () const |
| Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation. | |
| virtual void | nommer (const Nom &) |
| Donne un nom a l'Objet_U Methode virtuelle a surcharger. | |
| int | get_object_id () const |
| Renvoie l'identifiant unique de l'objet object_id_. | |
| virtual const Type_info * | get_info () const |
| Donne des informations sur le type de l'Objet_U. | |
| const Nom & | que_suis_je () const |
| renvoie la chaine identifiant la classe. | |
| const char * | le_type () const |
| Donne le nom du type de l'Objet_U. | |
| virtual int | change_num (const int *const) |
| Change le numero interne de l'Objet_U. | |
| virtual int | 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 Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
Protected Member Functions | |
| int | tester_a_remailler (const Maillage_FT_Disc &maillage) const |
| double | regulariser_maillage (Maillage_FT_Disc &maillage, ArrOfDouble &var_volume, const double facteur_barycentrage_tangent, const double coeff_lissage, const int nb_iter_barycentrage, const int nb_iter_lissage, const int max_nb_iter_correction_volume, const double seuil_dvolume) const |
| Algorithme general de lissage du maillage. | |
| double | redistribuer_sommets (Maillage_FT_Disc &maillage, const double relaxation_direction_tangente, const double relaxation_direction_normale, ArrOfDouble &var_volume_impose, ArrOfDouble &var_volume_obtenu) const |
| Deplace les sommets du maillage pour les redistribuer de facon homogene. | |
| int | calculer_barycentre_facettes_voisines (const Maillage_FT_Disc &maillage, DoubleTab &barycentres) const |
| Cette fonction calcule pour chaque sommet le barycentre de l'ensemble des facettes voisines du sommet. | |
| int | calculer_connectivites_sommetFacettes (const Maillage_FT_Disc &maillage, ArrOfInt &fa7VoisinesSom_index, IntTab &fa7VoisinesSom_data) const |
| Cette fonction calcule les connectivites sommet ->facettes voisines Les facettes voisines des sommets sont stockees dans le tableau fa7VoisinesSom_data. | |
| int | calculer_correction_deplacement (DoubleTab &deplacement, const ArrOfDouble &varVolume, const DoubleTab &deplacement_varVolume, const ArrOfDouble &norme2_deplacement_varVolume) const |
| Cette fonction calcule une correction sur un deplacement liee a une variation de volume imposee Utile pour IJK. | |
| int | calculer_differentielle_volume (const Maillage_FT_Disc &maillage, DoubleTab &differentielle_volume) const |
| Calcul de la differentielle du volume de phase 0 par rapport au deplacement de chaque sommet de l'interface. | |
| double | calculer_variation_volume_facette_2D (int fa7, const Maillage_FT_Disc &maillage, const DoubleTab &position_initiale) const |
| Cette fonction calcule la difference de volume au niveau d'une facette par rapport a une position initiale des sommets. | |
| double | calculer_variation_volume_facette_3D (int fa7, const Maillage_FT_Disc &maillage, const DoubleTab &position_initiale) const |
| virtual double | calculer_longueurIdeale2_arete (const Maillage_FT_Disc &maillage, int som0, double x, double y, double z) const |
| Cette fonction calcule le carre de la longueur ideale d'une arete Dans un premier, cette longueur ideale est la racine cubique (en 3D) de la moyenne. | |
| int | supprimer_petites_aretes (Maillage_FT_Disc &maillage, ArrOfDouble &varVolume) const |
| A l'aide de "marquer_aretes", on determine les aretes trop petites du maillage. | |
| int | diviser_grandes_aretes (Maillage_FT_Disc &maillage) const |
| Cette fonction divise les grandes aretes en 2. | |
| int | marquer_aretes (Maillage_FT_Disc &maillage, IntTab &tab_aretesMarquees, ArrOfInt &tab_somD, DoubleTab &tab_deplacement_somD, int drap) const |
| int | inserer_tab_aretes (int &nb_tab_aretes, IntTab &tab_aretes, DoubleTab &tab_criteres, int pe0, int numOwner0, int pe1, int numOwner1, int face_bord1, int peRequete, int fa7_peR, int iarete_fa7_peR) const |
| int | chercher_arete_tab (int tmp, const ArrOfInt &tab_index, const IntTab &tab_aretes, int pe0, int numOwner0, int pe1, int numOwner1) const |
| double | calculer_volume_sommets_supprimes (const Maillage_FT_Disc &maillage, const ArrOfInt &tab_somSupp, ArrOfDouble &varVolume) const |
| Cette fonction calcule la variation de volume liee a la suppression de sommets. | |
| int | supprimer_facettes_bord (Maillage_FT_Disc &maillage) const |
| Cette fonction marque a supprimer les facettes ayant leurs 3 sommets de bord Marquer a supprimer = condenser les 3 sommets en un seul (le sommet 0). | |
| int | supprimer_doublons_facettes (Maillage_FT_Disc &maillage) const |
| Cette fonction marque a supprimer les facettes en double. | |
| int | permuter_aretes (Maillage_FT_Disc &maillage) const |
| Cette fonction effectue des permutations d'aretes afin d'ameliorer la qualite du maillage. | |
| double | qualiteTriangle (const FTd_vecteur3 &som0, const FTd_vecteur3 &som1, const FTd_vecteur3 &som2, double &aire) const |
| Cette methode calcule, pour un triangle donne, sa qualite : celle-ci est comprise dans ]0,1], et vaut 1 pour un triangle equilateral. | |
| int | nettoyer_maillage (Maillage_FT_Disc &maillage) const |
| Cette fonction nettoie le maillage : Elle supprime les facettes reduites a 1 sommet. | |
| OBS_PTR (Domaine_VF) refdomaine_VF_ | |
| Protected Member Functions inherited from Objet_U | |
| Objet_U () | |
| Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_), et enregistre l'objet en "memoire". | |
| Objet_U (const Objet_U &) | |
| Constructeur par copie. | |
| const Objet_U & | operator= (const Objet_U &) |
| Operateur= : ne fait rien (on conserve le numero et l'identifiant). | |
Protected Attributes | |
| double | temps_ = 0 |
| double | temps_dernier_remaillage_ = -1.e40 |
| double | temps_dernier_lissage_ = -1.e40 |
| double | dt_remaillage_ = -1. |
| double | dt_lissage_ = -1. |
| int | nb_iter_remaillage_ = 1 |
| int | nb_iter_barycentrage_ = 1 |
| int | nb_iter_bary_volume_seul_ = 3 |
| double | seuil_dvolume_residuel_ = 0. |
| double | relax_barycentrage_ = 1. |
| double | critere_arete_ = 0.35 |
| int | impr_ = -1 |
| double | valeur_longueur_fixe_ = -1. |
| double | facteur_longueur_ideale_ = -1. |
| int | equilateral_ = 0 |
| double | variation_volume_ = 0. |
| double | surface_interface_ = 0. |
| double | lissage_courbure_coeff_ = -0.05 |
| int | lissage_courbure_iterations_systematique_ = 0 |
| int | lissage_courbure_iterations_si_remaillage_ = 0 |
| int | lissage_courbure_iterations_old_ = -1 |
| double | lissage_critere_ = 0. |
| bool | is_solid_particle_ =false |
Additional Inherited Members | |
| Static Public Member Functions inherited from Objet_U | |
| static const Nom & | nom_du_cas () |
| Renvoie une reference constante vers le nom du cas. | |
| static Nom & | get_set_nom_du_cas () |
| Renvoie une reference non constante vers le nom du cas (pour pouvoir le modifier). | |
| static const Type_info * | info () |
| Donne des informations sur le type de l'Objet_U. | |
| static const Objet_U & | self_cast (const Objet_U &) |
| methode ajoutee pour caster en python | |
| static Objet_U & | self_cast (Objet_U &) |
| Static Public Member Functions inherited from Process | |
| static int | me () |
| renvoie mon rang dans le groupe de communication courant. | |
| static int | nproc () |
| renvoie le nombre de processeurs dans le groupe courant Voir Comm_Group::nproc() et PE_Groups::current_group() | |
| static bool | is_parallel () |
| static void | exit (int exit_code=-1) |
| Routine de sortie de TRUST dans une region Kokkos. | |
| static double | mp_sum (double) |
| Calcule la somme de x sur tous les processeurs du groupe courant. | |
| static float | mp_sum (float) |
| static trustIdType | mp_sum (trustIdType) |
| Calcule la somme de x sur tous les processeurs du groupe courant. | |
| static double | mp_max (double) |
| static double | mp_min (double) |
| static int | mp_max (int) |
| renvoie le plus grand int i sur l'ensemble des processeurs du groupe courant. | |
| static int | mp_min (int) |
| renvoie le plus petit int i sur l'ensemble des processeurs du groupe courant. | |
| static double | mp_sum_as_double (int v) |
| static trustIdType | mppartial_sum (trustIdType i) |
| Calul de la somme partielle de i sur les processeurs 0 a me()-1 (renvoie 0 sur le processeur 0). | |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_sum_for_each: combine multiple mp_sum calls into one collective operation Usage: mp_sum_for_each(a, b); mp_sum_for_each(a, b, c); mp_sum_for_each(a, b, c, d); mp_sum_for_each(a, b, c, d, e); All arguments must be of the same type (double or int) and are modified in place. Supports 2-5 parameters. | |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_max_for_each: combine multiple mp_max calls into one collective operation. | |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_min_for_each: combine multiple mp_min calls into one collective operation. | |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename _TYPE_> | |
| static void | mp_sum_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| template<typename _TYPE_> | |
| static void | mp_max_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| template<typename _TYPE_> | |
| static void | mp_min_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| static bool | mp_and (bool) |
| Calcule le 'et' logique de b sur tous les processeurs du groupe courant. | |
| static bool | mp_or (bool) |
| static int | check_int_overflow (trustIdType) |
| static int | je_suis_maitre () |
| renvoie 1 si on est sur le processeur maitre du groupe courant (c'est a dire me() == 0), 0 sinon. | |
| static KOKKOS_INLINE_FUNCTION void | Kokkos_exit (const char *) |
| Routine de sortie de TRUST dans une region Kokkos. | |
| static int | node_master () |
| renvoie 1 si on est sur le processeur maitre du noeud numa, 0 sinon. | |
| static void | exit (const Nom &message, int exit_code=-1) |
| static bool | is_sequential () |
| static void | barrier () |
| Synchronise tous les processeurs du groupe courant (attend que tous les processeurs soient arrives a la barriere). | |
| static void | abort () |
| Routine de sortie de Trio-U sur une erreur abort(). | |
| static Sortie & | Journal (int message_level=0) |
| Renvoie un objet statique de type Sortie qui sert de journal d'evenements. | |
| static double | ram_processeur () |
| static void | imprimer_ram_totale (int all_process=0) |
| static bool | force_single_file (const int ranks, const Nom &filename) |
| Static Public Attributes inherited from Objet_U | |
| static double | precision_geom = 1e-10 |
| static constexpr bool | HAS_POINTER = false |
| static int | dimension =0 |
| static int | format_precision_geom =11 |
| static int | axi =0 |
| static int | bidim_axi =0 |
| static int | DEACTIVATE_SIGINT_CATCH =0 |
| static Type_info | info_obj |
| static bool | disable_TU =false |
| Flag to disable or not the writing of the .TU files. | |
| static bool | stat_per_proc_perf_log =false |
| Flag to enable the writing of the statistics detailed per processor in _csv.TU file. | |
| Static Public Attributes inherited from Process | |
| static int | exception_sur_exit =0 |
| static int | multiple_files =5120 |
: class Remaillage_FT Cette classe implemente les procedures de remaillage des interfaces pour le Front-Tracking :
Definition at line 38 of file Remaillage_FT.h.
| Remaillage_FT::Remaillage_FT | ( | ) |
Definition at line 38 of file Remaillage_FT.cpp.
| int Remaillage_FT::a_lisser | ( | double | temps | ) | const |
Definition at line 202 of file Remaillage_FT.cpp.
| int Remaillage_FT::a_remailler | ( | double | temps, |
| const Maillage_FT_Disc & | maillage ) const |
Definition at line 193 of file Remaillage_FT.cpp.
| void Remaillage_FT::associer_domaine | ( | const Domaine_dis_base & | domaine_dis | ) |
Cette fonction stocke le domaine_dis dans refdomaine_dis_.
| (domaine_dis) | domaine discretisee de calcul |
Definition at line 187 of file Remaillage_FT.cpp.
| void Remaillage_FT::barycentrer_lisser_apres_remaillage | ( | Maillage_FT_Disc & | maillage, |
| ArrOfDouble & | var_volume ) |
idem mais avec le nombre d'iterations de lissage si remaillage
Precondition: pas d'elements virtuels (on doit avoir appele nettoyer_elements_virtuels())
Definition at line 1242 of file Remaillage_FT.cpp.
| void Remaillage_FT::barycentrer_lisser_systematique | ( | double | temps, |
| Maillage_FT_Disc & | maillage ) |
applique barycentrage, lissage et correction de volume.
On applique le nombre d'iterations de lissage systematique.
Precondition: pas de facettes virtuelles
Definition at line 1215 of file Remaillage_FT.cpp.
|
protected |
Cette fonction calcule pour chaque sommet le barycentre de l'ensemble des facettes voisines du sommet.
Les "dimension" premieres colonnes contiennent les coordonnees du barycentre, la colonne "dimension" contient la somme des surfaces des facettes voisines du sommet.
| (maillage) | maillage a barycentrer |
| (barycentres) | par sommet, barycentres de ses facettes voisines |
Definition at line 875 of file Remaillage_FT.cpp.
|
protected |
Cette fonction calcule les connectivites sommet ->facettes voisines Les facettes voisines des sommets sont stockees dans le tableau fa7VoisinesSom_data.
sous forme de liste chainee. Pour le sommet som, le premier index de la liste est index = fa7VoisinesSom_index[som] la premiere facette est alors fa7VoisinesSom_data(index,1) et l'indice suivant index = fa7VoisinesSom_data(index,0) La chaine est terminee lorsque index==-1.
| (maillage) | maillage a barycentrer |
| (fa7VoisinesSom_index) | premier index pour le sommet som |
| (fa7VoisinesSom_data) | premier liste des index et facettes voisines pour le sommet som |
Definition at line 279 of file Remaillage_FT.cpp.
|
protected |
Cette fonction calcule une correction sur un deplacement liee a une variation de volume imposee Utile pour IJK.
| (deplacement) | delacement a corriger |
| (varVolume) | la variation de volume |
| (deplacement_varVolume) | la normale au plan de conservation de volume |
| (norme2_deplacement_varVolume) | carre de la normale au plan |
Definition at line 771 of file Remaillage_FT.cpp.
|
protected |
Calcul de la differentielle du volume de phase 0 par rapport au deplacement de chaque sommet de l'interface.
C'est une forme lineaire qu'on exprime sous la forme d'un vecteur v tel que differentielle(deplacement) = deplacement scalaire v. En un certain sens, v est la normale a l'interface evaluee aux sommets. Si on deplace le sommet dans un plan orthogonal au vecteur, le volume des phases est conserve a l'ordre 1 par rapport a l'amplitude du deplacement.
| (maillage) | |
| (differentielle_volume) |
Definition at line 360 of file Remaillage_FT.cpp.
|
protectedvirtual |
Cette fonction calcule le carre de la longueur ideale d'une arete Dans un premier, cette longueur ideale est la racine cubique (en 3D) de la moyenne.
des volumes des elements euleriens contenant les sommets
| (som0) | indice du 1er sommet de l'arete |
| (som1) | indice du 2e sommet de l'arete |
Reimplemented in Remaillage_FT_IJK.
Definition at line 2244 of file Remaillage_FT.cpp.
| double Remaillage_FT::calculer_variation_volume | ( | const Maillage_FT_Disc & | maillage, |
| const DoubleTab & | position_initiale, | ||
| ArrOfDouble & | varVolume ) const |
Cette fonction calcule le volume de phase 0 engendre par chaque sommet lors du deplacement de l'interface entre la position initiale et la position actuelle.
du maillage (le volume engendre est positif si l'interface se deplace dans la direction de la normale aux facettes). On definit d'abord le volume engendre par le deplacement de chaque facette : C'est le volume d'un polyedre construit comme reunion de trois tetraedres, engendres par deplacement successifs des trois sommets dans un ordre conventionnel (deux sommets d'une arete sont toujours deplaces dans le meme ordre pour que les deux triangles voisins engendrent des tetraedres conformes, sans laisser de trous et sans se chevaucher) Ensuite, le volume engendre par chaque facette est divise en trois parts egales et reparti sur les trois sommets de la facette.
| (maillage) | maillage |
| (position_initiale) | position initiale des sommets (doit avoir la meme taille que maillage.sommets(), et l'espace virtuel doit etre a jour) |
| (varVolume) | la variation de volume pour chaque sommet (on lui donne la bonne taille et on met a jour l'espace virtuel) |
Definition at line 712 of file Remaillage_FT.cpp.
|
protected |
Cette fonction calcule la difference de volume au niveau d'une facette par rapport a une position initiale des sommets.
version 2D
| (fa7) | indice de la facette de calcul |
| (maillage) | maillage a barycentrer |
| (position_initiale) | position initiale des sommets |
Definition at line 452 of file Remaillage_FT.cpp.
|
protected |
Definition at line 635 of file Remaillage_FT.cpp.
|
protected |
Cette fonction calcule la variation de volume liee a la suppression de sommets.
| (maillage) | maillage a barycentrer |
| (tab_somSupp) | tableau des sommets a supprimer tab[som] < 0 : sommet a conserver tab[som] >=0 : sommet a remplacer par tab[som] |
| (varVolume) | la variation de volume |
Definition at line 2351 of file Remaillage_FT.cpp.
|
protected |
Definition at line 2715 of file Remaillage_FT.cpp.
| void Remaillage_FT::corriger_volume | ( | Maillage_FT_Disc & | maillage, |
| ArrOfDouble & | var_volume ) |
deplacement des sommets se sorte a produire la variation de volume prescrite a chaque sommet.
Precondition: pas de facettes virtuelles
Definition at line 1192 of file Remaillage_FT.cpp.
| void Remaillage_FT::corriger_volume_ | ( | Maillage_FT_Disc & | maillage, |
| ArrOfDouble & | var_volume, | ||
| const int | nb_iter_corrections_vol ) |
Definition at line 1196 of file Remaillage_FT.cpp.
|
protected |
Cette fonction divise les grandes aretes en 2.
| (maillage) | maillage a remailler |
Definition at line 2446 of file Remaillage_FT.cpp.
|
inline |
Definition at line 83 of file Remaillage_FT.h.
|
inline |
Definition at line 77 of file Remaillage_FT.h.
|
protected |
Definition at line 2686 of file Remaillage_FT.cpp.
| void Remaillage_FT::lisser_dvolume | ( | const Maillage_FT_Disc & | maillage, |
| ArrOfDouble & | var_volume, | ||
| const int | nb_iterations ) const |
Regularise le champ scalaire "var_volume" defini aux sommets du "maillage".
On regularise en faisant calculant une valeur moyenne par facette, puis en recalculant une moyenne aux sommets en fonction de la moyenne aux faces. Les moyennes sont ponderees par la surface des facettes... Le lissage est repete un nombre donne de fois. Cette methode est utilisee pour lisser les corrections de volume et eviter l'apparition de pointes sur les interfaces.
| (maillage) | le support du champ a regulariser |
| (var_volume) | le champ a regulariser (champ aux sommets du maillage) |
| (nb_iterations) | nombre d'iterations de l'operation de regularisation. |
Definition at line 1437 of file Remaillage_FT.cpp.
|
protected |
Definition at line 2779 of file Remaillage_FT.cpp.
|
protected |
Cette fonction nettoie le maillage : Elle supprime les facettes reduites a 1 sommet.
Elle supprime les sommets non utilises
| (maillage) | maillage a remailler |
Definition at line 3522 of file Remaillage_FT.cpp.
|
protected |
|
protected |
Cette fonction effectue des permutations d'aretes afin d'ameliorer la qualite du maillage.
| (maillage) | maillage a remailler |
Definition at line 2424 of file Remaillage_FT.cpp.
|
protected |
Cette methode calcule, pour un triangle donne, sa qualite : celle-ci est comprise dans ]0,1], et vaut 1 pour un triangle equilateral.
| (som0) | id du premier sommet |
| (som1) | id du second sommet |
| (som2) | id du troisieme sommet |
| (CoordSom) | coordonnees des sommets |
Definition at line 3417 of file Remaillage_FT.cpp.
|
protected |
Deplace les sommets du maillage pour les redistribuer de facon homogene.
Le deplacement est la somme d'une composante tangentielle et d'une composante normale a l'interface. La composante tangentielle ramene le sommet vers le barycentre des facettes voisines du sommet. La composante normale est calculee de sorte a produire la variation de volume imposee. Traitement des lignes de contact: le deplacement est decompose en une composante normale a la ligne de contact et une composante tangente.
| (maillage) | le maillage a redistribuer (il retourne dans l'etat minimal) |
| (relaxation_direction_tangente) | si ce parametre vaut 1, le sommet est deplace sur le barycentre. le parametre fixe la fraction du deplacement a realiser. |
| (relaxation_direction_normale) |
Definition at line 1030 of file Remaillage_FT.cpp.
|
virtual |
Regularise le maillage en deplacant les sommets pour reduire les gradients de courbure.
L'equation d'evolution du maillage est une diffusion de masse le long de l'interface proportionnelle au gradient de courbure.
Definition at line 3541 of file Remaillage_FT.cpp.
|
protected |
Algorithme general de lissage du maillage.
Permet de barycentrer, regulariser la courbure, et d'appliquer une correction de volume en deplacant les noeuds dans la direction normale.
| (maillage) | maillage a barycentrer |
| (var_volume) | pour chaque sommet du maillage initial, variation de volume a obtenir lors du deplacement. En retour, on y met le residu (difference entre var_volume initial et var_volume obtenu lors du deplacement). |
Definition at line 1269 of file Remaillage_FT.cpp.
| void Remaillage_FT::remaillage_local_interface | ( | double | temps, |
| Maillage_FT_Disc & | maillage ) |
Verifie les criteres de remaillage locaux (longueur des aretes) et effectue les remaillages locaux si necessaires.
Definition at line 213 of file Remaillage_FT.cpp.
|
overridevirtual |
Reprise d'un Objet_U sur un flot d'entree Methode a surcharger.
| (Entree&) | flot d'entree a utiliser pour la reprise |
Reimplemented from Objet_U.
Definition at line 105 of file Remaillage_FT.cpp.
|
overridevirtual |
Sauvegarde d'un Objet_U sur un flot de sortie Methode a surcharger.
| (Sortie&) | flot de sortie a utiliser pour la sauvegarde |
Reimplemented from Objet_U.
Definition at line 129 of file Remaillage_FT.cpp.
|
inline |
Definition at line 82 of file Remaillage_FT.h.
|
overridevirtual |
Methode appelee par readOn.
Declaration des parametres a lire dans le .data
Reimplemented from Objet_U.
Definition at line 161 of file Remaillage_FT.cpp.
|
protected |
Cette fonction marque a supprimer les facettes en double.
Lorsque 2 facettes se trouvent avoir 3 de leur sommets en commun, il faut supprimer les 2 facettes? Marquer a supprimer = condenser les 3 sommets en un seul (le sommet 0)
Precondition: Le maillage doit verifier la propriete "proprietaire facette = premier sommet"
| (maillage) | maillage a remailler |
Definition at line 2111 of file Remaillage_FT.cpp.
|
protected |
Cette fonction marque a supprimer les facettes ayant leurs 3 sommets de bord Marquer a supprimer = condenser les 3 sommets en un seul (le sommet 0).
MODIF GB 21/07/2015 : Pour le cas sloshing par exemple, si le domaine a des coins, l'interface peut contenir un element dont les 3 sommets sont sur le bord sans pour autant que la facette soit integralement sur le bord. Elle peut avoir son 3eme cote dans le domaine. Dans ce cas, on la conserve.
| (maillage) | maillage a remailler |
Definition at line 1620 of file Remaillage_FT.cpp.
| int Remaillage_FT::supprimer_facettes_nulles | ( | Maillage_FT_Disc & | maillage | ) | const |
Cette fonction "supprime" les facettes de surface nulle : Elle les reduit a 1 sommet (le sommet 0, pour ne pas changer de processeur).
| (maillage) | maillage a remailler |
Definition at line 3477 of file Remaillage_FT.cpp.
|
protected |
A l'aide de "marquer_aretes", on determine les aretes trop petites du maillage.
On les supprime en remplacant un sommet d'une extremite de l'arete par le sommet de l'autre extremite. Pour cela, on cree des sommets virtuels, des facettes nulles (deux ou trois sommets confondus) et on change le volume des phases. La variation de volume engendree est ajoutee a varVolume.
| (maillage) | Le maillage a optimiser. Le maillage retourne a l'etat minimal, Le volume change, Certaines facettes sont "nulles" (plusieurs sommets confondus), On cree des sommets virtuels. |
| (varVolume) | Un tableau de taille nb_sommets() contenant une valeur initiale de variation de volume. On augmente la taille du tableau (creation de sommets virtuels) et on ajoute la variation de volume du maillage due a la suppression des aretes. L'espace virtuel est a jour. Valeur de retour: nombre total (sur tous les procs) de sommets du maillage supprimes |
Definition at line 1872 of file Remaillage_FT.cpp.
|
protected |
| int Remaillage_FT::traite_adherence | ( | Maillage_FT_Disc & | maillage | ) | const |
Cette fonction permet de gerer l'adherence de l'interface a la paroi Si une facette possede 3 sommets sur un paroi, elle est supprimee.
| (maillage) | maillage a traiter |
Definition at line 1584 of file Remaillage_FT.cpp.
| int Remaillage_FT::traite_decollement | ( | Maillage_FT_Disc & | maillage, |
| const DoubleTab & | deplacement ) const |
Cette fonction permet de gerer le decollement de l'interface de la paroi Si un sommet de bord n'a pas de sommet voisin de bord.
et que son deplacement tend a le faire rentrer dans le domaine, il est marque comme sommet interne
| (maillage) | maillage a traiter |
| (deplacement) | vecteur deplacement des sommets |
Definition at line 1497 of file Remaillage_FT.cpp.
|
protected |
Definition at line 156 of file Remaillage_FT.h.
|
protected |
Definition at line 148 of file Remaillage_FT.h.
|
protected |
Definition at line 147 of file Remaillage_FT.h.
|
protected |
Definition at line 161 of file Remaillage_FT.h.
|
protected |
Definition at line 160 of file Remaillage_FT.h.
|
protected |
Definition at line 157 of file Remaillage_FT.h.
|
protected |
Definition at line 184 of file Remaillage_FT.h.
|
protected |
Definition at line 173 of file Remaillage_FT.h.
|
protected |
Definition at line 180 of file Remaillage_FT.h.
|
protected |
Definition at line 178 of file Remaillage_FT.h.
|
protected |
Definition at line 175 of file Remaillage_FT.h.
|
protected |
Definition at line 182 of file Remaillage_FT.h.
|
protected |
Definition at line 151 of file Remaillage_FT.h.
|
protected |
Definition at line 150 of file Remaillage_FT.h.
|
protected |
Definition at line 149 of file Remaillage_FT.h.
|
protected |
Definition at line 153 of file Remaillage_FT.h.
|
protected |
Definition at line 152 of file Remaillage_FT.h.
|
protected |
Definition at line 168 of file Remaillage_FT.h.
|
protected |
Definition at line 142 of file Remaillage_FT.h.
|
protected |
Definition at line 144 of file Remaillage_FT.h.
|
protected |
Definition at line 143 of file Remaillage_FT.h.
|
protected |
Definition at line 159 of file Remaillage_FT.h.
|
protected |
Definition at line 167 of file Remaillage_FT.h.