TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
ExtrudeBord.h
1/****************************************************************************
2* Copyright (c) 2025, 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 ExtrudeBord_included
17#define ExtrudeBord_included
18
19#include <Interprete_geometrique_base.h>
20#include <TRUSTTabs_forward.h>
21
22
23/*! @brief class ExtrudeBord
24 *
25 */
26/**
27 * Realise une extrusion d'un bord.
28 * ExtrudeBord peut extruder un bord maille soit en triangle soit en quadrangle
29 * - si le bord est maille en quadrangle, le domaine extrude sera compose d'hexaedre
30 * - si le bord est maille en triangle, le domaine extrude sera compose de tetraedres
31 * La syntaxte est la suivante :
32 * ExtrudeBord
33 * {
34 * domaine_init NOM_DOMAINE_DE_DEPART
35 * direction X Y Z
36 * nb_tranches N
37 * domaine_final NOM_DU_DOMAINE_EXTRUDE
38 * nom_bord NOM_BORD_A_EXTRUDER
39 * hexa_old //mot cle a mettre pour utiliser l'ancienne version de l'extrusion des hexas
40 * }
41 *
42 * (MODIF OC 12/2004)
43 */
44class ExtrudeBord : public Interprete_geometrique_base
45{
46 Declare_instanciable(ExtrudeBord);
47
48public :
49
50 Entree& interpreter_(Entree&) override;
51
52private:
53
54 void extruder_bord(Nom& nom_front, Nom& nom_dom2, DoubleVect& vect_dir, int nbpas);
55 void extruder_hexa_old(Nom& nom_front, Nom& nom_dom2, DoubleVect& vect_dir, int nbpas);
56 bool hexa_old=false; // flag pour ancienne version de l'extrusion des hexas : 0 = ancienne version
57 bool Trois_Tetra=false; // flag pour extrusion en trois tetraedres plutot qu'en 14 (option par defaut)
58 bool Vingt_Tetra=false; // flag pour extrusion en vingr tetraedres plutot qu'en 14 (option par defaut)
59 int en3D_=1;
60};
61
62
63#endif
64
class ExtrudeBord
Definition ExtrudeBord.h:45
Entree & interpreter_(Entree &) override
class Nom Une chaine de caractere pour nommer les objets de TRUST
Definition Nom.h:31
friend class Entree
Definition Objet_U.h:76