TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
TRUSTTabFT_cut_cell.h
1/****************************************************************************
2* Copyright (c) 2019, 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 TRUSTTabFT_cut_cell_included
17#define TRUSTTabFT_cut_cell_included
18
19#include <Objet_U.h>
20#include <TRUSTTabFT.h>
21#include <TRUST_Ref.h>
22#include <IJK_Field_local_template.h>
23
25
26/*! @brief : class TRUSTTabFT_cut_cell
27 *
28 */
29template<typename _TYPE_>
30class TRUSTTabFT_cut_cell : public TRUSTTabFT<_TYPE_>
31{
32public :
34 void associer_ephemere(Cut_cell_FT_Disc& cut_cell_disc, int dimension);
36 const Cut_cell_FT_Disc& get_cut_cell_disc() const { return cut_cell_disc_.valeur(); }
37
38 void sort_tot(int colum);
39 void sort_tot(int column_1, int column_2);
40
41 void echange_espace_virtuel(IsExchangeBlocking exchange_type = IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname") override;
43
44protected :
45 OBS_PTR(Cut_cell_FT_Disc) cut_cell_disc_;
46};
47
48/*! @brief : class TRUSTTabFT_cut_cell_scalar
49 *
50 */
51template<typename _TYPE_>
53{
54public :
58
59protected :
60};
61
62/*! @brief : class TRUSTTabFT_cut_cell_vector2
63 *
64 */
65template<typename _TYPE_>
67{
68public :
72
73protected :
74};
75
76
77/*! @brief : class TRUSTTabFT_cut_cell_vector3
78 *
79 */
80template<typename _TYPE_>
82{
83public :
87
88protected :
89};
90
91/*! @brief : class TRUSTTabFT_cut_cell_vector6
92 *
93 */
94template<typename _TYPE_>
96{
97public :
101
102protected :
103};
104
105using IntTabFT_cut_cell = TRUSTTabFT_cut_cell<int>;
106using DoubleTabFT_cut_cell = TRUSTTabFT_cut_cell<double>;
107
108using IntTabFT_cut_cell_scalar = TRUSTTabFT_cut_cell_scalar<int>;
109using DoubleTabFT_cut_cell_scalar = TRUSTTabFT_cut_cell_scalar<double>;
110
111using IntTabFT_cut_cell_vector2 = TRUSTTabFT_cut_cell_vector2<int>;
112using DoubleTabFT_cut_cell_vector2 = TRUSTTabFT_cut_cell_vector2<double>;
113
114using IntTabFT_cut_cell_vector3 = TRUSTTabFT_cut_cell_vector3<int>;
115using DoubleTabFT_cut_cell_vector3 = TRUSTTabFT_cut_cell_vector3<double>;
116
117using IntTabFT_cut_cell_vector6 = TRUSTTabFT_cut_cell_vector6<int>;
118using DoubleTabFT_cut_cell_vector6 = TRUSTTabFT_cut_cell_vector6<double>;
119
120/*! @brief : class Cut_cell_data
121 *
122 */
124{
125public :
126 void associer_persistant(Cut_cell_FT_Disc& cut_cell_disc, int dimension);
127 void associer_ephemere(Cut_cell_FT_Disc& cut_cell_disc, int dimension);
128 void associer_paresseux(Cut_cell_FT_Disc& cut_cell_disc, int dimension);
129 const Cut_cell_FT_Disc& get_cut_cell_disc() const { return cut_cell_disc_.valeur(); }
130
131 DoubleTabFT_cut_cell diph_l_;
132 DoubleTabFT_cut_cell diph_v_;
133
136
137protected :
138 OBS_PTR(Cut_cell_FT_Disc) cut_cell_disc_;
139};
140
141/*! @brief : class Cut_cell_double
142 *
143 */
145{
146public :
147 void associer_persistant(Cut_cell_FT_Disc& cut_cell_disc);
148 void associer_ephemere(Cut_cell_FT_Disc& cut_cell_disc);
149 void associer_paresseux(Cut_cell_FT_Disc& cut_cell_disc);
150
151 bool verify_consistency_within_layer(int dir, int k_layer, const IJK_Field_local_double& flux);
152
153protected :
154};
155
156#endif /* TRUSTTabFT_cut_cell_included */
: class Cut_cell_data
void associer_ephemere(Cut_cell_FT_Disc &cut_cell_disc, int dimension)
DoubleTabFT_cut_cell diph_v_
DoubleTabFT_cut_cell diph_l_
OBS_PTR(Cut_cell_FT_Disc) cut_cell_disc_
void associer_persistant(Cut_cell_FT_Disc &cut_cell_disc, int dimension)
void associer_paresseux(Cut_cell_FT_Disc &cut_cell_disc, int dimension)
const Cut_cell_FT_Disc & get_cut_cell_disc() const
: class Cut_cell_double
void associer_ephemere(Cut_cell_FT_Disc &cut_cell_disc)
void associer_persistant(Cut_cell_FT_Disc &cut_cell_disc)
void associer_paresseux(Cut_cell_FT_Disc &cut_cell_disc)
bool verify_consistency_within_layer(int dir, int k_layer, const IJK_Field_local_double &flux)
: class TRUSTTabFT_cut_cell_scalar
void associer_paresseux(Cut_cell_FT_Disc &cut_cell_disc)
void associer_persistant(Cut_cell_FT_Disc &cut_cell_disc)
void associer_ephemere(Cut_cell_FT_Disc &cut_cell_disc)
: class TRUSTTabFT_cut_cell_vector2
void associer_persistant(Cut_cell_FT_Disc &cut_cell_disc)
void associer_ephemere(Cut_cell_FT_Disc &cut_cell_disc)
void associer_paresseux(Cut_cell_FT_Disc &cut_cell_disc)
: class TRUSTTabFT_cut_cell_vector3
void associer_paresseux(Cut_cell_FT_Disc &cut_cell_disc)
void associer_persistant(Cut_cell_FT_Disc &cut_cell_disc)
void associer_ephemere(Cut_cell_FT_Disc &cut_cell_disc)
: class TRUSTTabFT_cut_cell_vector6
void associer_persistant(Cut_cell_FT_Disc &cut_cell_disc)
void associer_ephemere(Cut_cell_FT_Disc &cut_cell_disc)
void associer_paresseux(Cut_cell_FT_Disc &cut_cell_disc)
: class TRUSTTabFT_cut_cell
void associer_paresseux(Cut_cell_FT_Disc &cut_cell_disc, int dimension)
const Cut_cell_FT_Disc & get_cut_cell_disc() const
void echange_espace_virtuel(MD_Vector_tools::Operations_echange op)
void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname") override
void associer_persistant(Cut_cell_FT_Disc &cut_cell_disc, int dimension)
void sort_tot(int column_1, int column_2)
void associer_ephemere(Cut_cell_FT_Disc &cut_cell_disc, int dimension)
OBS_PTR(Cut_cell_FT_Disc) cut_cell_disc_
void sort_tot(int colum)
_SIZE_ dimension(int d) const
Definition TRUSTTab.tpp:133