TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Domaine_Cl_VDF.h
1/****************************************************************************
2* Copyright (c) 2024, 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 Domaine_Cl_VDF_included
17#define Domaine_Cl_VDF_included
18
19#include <Domaine_Cl_dis_base.h>
20
21
22class Domaine_VDF;
23
25{
37} // namespace TypeAreteBordVDF
38
40{
55} // namespace TypeAreteCoinVDF
56
57/*! @brief class Domaine_Cl_VDF
58 *
59 * @sa Domaine_Cl_dis_base
60 */
61
63{
64 Declare_instanciable(Domaine_Cl_VDF);
65public :
66 void associer(const Domaine_dis_base&) override;
67 void completer(const Domaine_dis_base&) override;
68 void imposer_cond_lim(Champ_Inc_base&, double) override;
69 int nb_faces_sortie_libre() const;
70 int nb_faces_bord() const;
72 const Domaine_VDF& domaine_VDF() const;
73
74 inline int num_Cl_face(int numfa) const { return num_Cl_face_[numfa]; }
75 inline const Cond_lim& la_cl_de_la_face(int numfa) const override { return les_conditions_limites_[num_Cl_face_[numfa]]; }
76 inline int type_arete_bord(int num_arete) const { return type_arete_bord_[num_arete]; }
77 inline const IntVect& type_arete_bord() const { return type_arete_bord_; }
78 inline const int& type_arete_coin(int num_arete) const { return type_arete_coin_[num_arete]; }
79 inline const IntVect& type_arete_coin() const { return type_arete_coin_; }
80
81private:
82 // type des aretes bord:
83 // type = 0 si l'arete separe deux faces de paroi
84 // type = 1 si l'arete separe deux faces "fluide"
85 // type = 2 si l'arete separe une face de paroi et une face "fluide"
86 // type = 3 si l'arete separe deux faces de navier (symmetrie/paroi frottante)
87 // type = 3 si l'arete separe deux faces de periodicite
88 // type = 5 si l'arete separe une face de navier (symmetrie/paroi frottante) et une face de paroi
89 // type = 6 si l'arete separe une face de navier (symmetrie/paroi frottante) et une face "fluide"
90 IntVect type_arete_bord_;
91
92 // type des aretes coin:
93 // type = 0 si l'arete contient deux faces de periodicite
94 // type = 1 si l'arete contient une face de periodicite et une face de paroi
95 IntVect type_arete_coin_;
96
97 // pour chaque face de bord numero de la condition limite a laquelle elle se rattache
98 IntVect num_Cl_face_;
99};
100
101#endif /* Domaine_Cl_VDF_included */
Classe Champ_Inc_base.
classe Cond_lim Classe generique servant a representer n'importe quelle classe
Definition Cond_lim.h:31
class Domaine_Cl_VDF
void imposer_cond_lim(Champ_Inc_base &, double) override
Impose les conditions aux limites a la valeur temporelle "temps" du Champ_Inc.
const Cond_lim & la_cl_de_la_face(int numfa) const override
A partir d'un indice de face de bord dans le Domaine_VF, renvoie la condition aux limites a laquelle ...
int type_arete_bord(int num_arete) const
void associer(const Domaine_dis_base &) override
int nb_faces_bord() const
Domaine_VDF & domaine_VDF()
const IntVect & type_arete_coin() const
int nb_faces_sortie_libre() const
const IntVect & type_arete_bord() const
int num_Cl_face(int numfa) const
const int & type_arete_coin(int num_arete) const
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
void completer()
Appel Cond_lim_base::completer() sur chaque condition aux limites.
class Domaine_VDF
Definition Domaine_VDF.h:64
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.