TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Topologie_Maillage_FT.h
1/****************************************************************************
2* Copyright (c) 2015 - 2016, CEA
3* All rights reserved.
4*
5* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9*
10* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
12* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13*
14*****************************************************************************/
15
16#ifndef Topologie_Maillage_FT_included
17#define Topologie_Maillage_FT_included
18
19#include <FTd_tools.h>
20#include <TRUSTTabFT.h>
21#include <Remailleur_Collision_FT_base.h>
22#include <TRUSTTabs_forward.h>
23
25class Domaine_VF;
26class Motcle;
27class Champ_base;
28class Remaillage_FT;
29
30/*! @brief : class Topologie_Maillage_FT Cette classe implemente les procedures de remaillage des interfaces pour le Front-Tracking :
31 *
32 *
33 *
34 * @sa Transport_Interfaces_FT_Disc Maillage_FT_Disc
35 */
36
38{
39 Declare_instanciable_sans_constructeur(Topologie_Maillage_FT);
40public:
42
43 virtual void remailler_interface(const double temps,
44 Maillage_FT_Disc& maillage,
45 Champ_base& indicatrice,
46 Remaillage_FT& algo_remaillage_local);
47
49 const DoubleTab& indicatrice,
50 IntVect& num_compo) const;
51
52 virtual double suppression_interfaces(const IntVect& num_compo,
53 const ArrOfInt& flags_compo_a_supprimer,
54 Maillage_FT_Disc& maillage,
55 DoubleTab& indicatrice);
56
57 int get_phase_continue() const;
58
59protected:
61
62 int test_collision_facettes(const Maillage_FT_Disc& maillage,
63 ArrOfInt& liste_elements_collision) const;
64
65 int test_intersection_facettes_3D(int fa70, int fa71,
66 const Maillage_FT_Disc& maillage) const;
67 int test_intersection_facettes_2D(int fa70, int fa71,
68 const Maillage_FT_Disc& maillage) const;
69
70 bool active_ = false;
71
72 OWN_PTR(Remailleur_Collision_FT_base) remailleur_Collision_;
73
74 double Erreur_max_coordonnees_ = -1; // donnee par Parcours_interface
75 bool juric_local_ = false;
76
77 // B.M. j'aurais bien mis -1 mais il faut rendre coherent avec phase_marquee de Transport_Marqueur_FT
79};
80
81#endif
classe Champ_base Cette classe est la base de la hierarchie des champs.
Definition Champ_base.h:43
class Domaine_VF
Definition Domaine_VF.h:44
: class Maillage_FT_Disc Cette classe decrit un maillage:
Une chaine de caractere (Nom) en majuscules.
Definition Motcle.h:26
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
Definition Objet_U.cpp:55
: class Remaillage_FT Cette classe implemente les procedures de remaillage des interfaces pour le Fro...
classe Remailleur_Collision_FT_base Classe de base pour la hierarchie des remailleurs d'interfaces en...
int test_collision_facettes(const Maillage_FT_Disc &maillage, ArrOfInt &liste_elements_collision) const
Teste s'il existe deux facettes du maillage qui se coupent (avec test_intersection_facettes_2D/3D).
OWN_PTR(Remailleur_Collision_FT_base) remailleur_Collision_
virtual int calculer_composantes_connexes_pour_suppression(const Domaine_VF &domaine_vf, const DoubleTab &indicatrice, IntVect &num_compo) const
Computes eulerian connex components of the phase indicator function "indicatrice" according to the ge...
int test_RuptureCoalescenceInterfaces(const Maillage_FT_Disc &maillage)
int test_intersection_facettes_3D(int fa70, int fa71, const Maillage_FT_Disc &maillage) const
Teste si les facettes fa70 et fa71 se coupent.
virtual void remailler_interface(const double temps, Maillage_FT_Disc &maillage, Champ_base &indicatrice, Remaillage_FT &algo_remaillage_local)
Remaillage de l'interface: - amelioration petites et grandes facettes,.
virtual double suppression_interfaces(const IntVect &num_compo, const ArrOfInt &flags_compo_a_supprimer, Maillage_FT_Disc &maillage, DoubleTab &indicatrice)
Removes all interfaces contained in eulerian elements marked by the "flags_" array,...
int test_intersection_facettes_2D(int fa70, int fa71, const Maillage_FT_Disc &maillage) const
Voir test_intersection_facettes_3D.