C++ main module for emicrom Package  1.0
EMM_DisplacementFVM_VOGGROperator.h
Go to the documentation of this file.
1 #ifndef EMM_DisplacementFVM_VOGGROperator_H
2 #define EMM_DisplacementFVM_VOGGROperator_H
3 
5 
49 
51  // ATTRIBUTES
52 
53 
54 private:
55 
56 
57 
58 public:
59 
60 
61  // ASSOCIATION
62 
63 private:
64 
65 
66 
67 
68 protected:
69 
70  // METHODS
71 
72  // CONSTRUCTORS
73 
77 
78  // DESTRUCTORS
79 
83 
84 
85 public:
86 
87  //Get methods
88 
89 
90 
91  //Grad U reconstruction
92  //======================
93 
94 public:
127  virtual void computeGradUAtCell(const tBoolean& withConstraints,const tReal *h,
128  const tUInteger& xCell, const tUInteger& yCell,const tUInteger& zCell,
129  const tUInteger& Px, const tUInteger& Py,const tUInteger& Pz,
130  const tBoolean* periodicity,
131  const tUIndex* neighborsIndices,
132  const tDimension& dim,
133  const tReal *Ucells,const tReal *Ui,
134  const tLimitCondition* lc,const tBoolean& incU0, const tReal* U0,
135  tReal gradU[9]) const;
136 
137  protected:
138 
155  virtual void computeGradAlmostNullUAtCell(const tReal *h,
156  const tUInteger& xCell,
157  const tUInteger& yCell,
158  const tUInteger& zCell,
159  const tUInteger& Px,
160  const tUInteger& Py,
161  const tUInteger& Pz,
162  const tBoolean *periodicity,
163  const CORE_UIndexMorseArray& neighborsIndices,
164  const tDimension& dim,
165  const tReal *Ui,
166  tReal gradU[9]) const{
168  xCell,yCell,zCell,
169  Px,Py,Pz,
170  periodicity,
171  neighborsIndices,
172  dim,Ui,
173  gradU);
174  }
175 
195  const tUInteger& xCell,
196  const tUInteger& yCell,
197  const tUInteger& zCell,
198  const tUCInt& f,
199  const tUIndex& nextCell,
200  const tUInteger& Px,
201  const tUInteger& Py,
202  const tUInteger& Pz,
203  const tBoolean *periodicity,
204  const CORE_UIndexMorseArray& neighborsIndices,
205  const tDimension& dim,
206  const tReal *Ui,
207  tReal gradU[9]) const {
209  xCell,yCell,zCell,
210  f,
211  Px,Py,Pz,
212  periodicity,
213  neighborsIndices,
214  dim,
215  Ui,
216  gradU);
217 
218  }
219 
220 
221 private:
249  const tReal *h,
250  const tUInteger& xCell, const tUInteger& yCell,const tUInteger& zCell,
251  const tUInteger& Px, const tUInteger& Py,const tUInteger& Pz,
252  const tBoolean *periodicity,
253  const tDimension& dim,
254  const tReal *Upoints,
255  const tLimitCondition* lc,
256  tReal gradU[9]) const;
257 
278  const tUInteger& xCell, const tUInteger& yCell,const tUInteger& zCell,
279  const tUInteger& Px, const tUInteger& Py,const tUInteger& Pz,
280  const tBoolean *periodicity,
281  const CORE_UIndexMorseArray& neighbors,
282  const tDimension& dim,
283  const tReal *Ucell,
284  tReal gradU[9]) const;
306  const tUInteger& xCell, const tUInteger& yCell,const tUInteger& zCell,
307  const tUSInt& f,
308  const tUInteger& Px, const tUInteger& Py,const tUInteger& Pz,
309  const tBoolean *periodicity,
310  const CORE_UIndexMorseArray& neighbors,
311  const tDimension& dim,
312  const tReal *Ucell,
313  tReal gradU[9]) const;
314 
315 
316 
317 
318 
319 
320 };
321 
322 #endif
323 
#define tLimitCondition
Definition: EMM_Types.h:19
#define tUInteger
Definition: types.h:91
EMM_DisplacementFVM_VOGGROperator(void)
create
Definition: EMM_DisplacementFVM_VOGGROperator.cpp:8
#define tUCInt
Definition: types.h:21
DEFINE_SPTR(EMM_DisplacementFVM_VOGGROperator)
#define tUSInt
Definition: types.h:28
#define tBoolean
Definition: types.h:139
SP_OBJECT(EMM_DisplacementFVM_VOGGROperator)
void computeGradAlmostNullUAtNextCellByOstrogradskiGreenIntegration(const tReal *h, const tUInteger &xCell, const tUInteger &yCell, const tUInteger &zCell, const tUSInt &f, const tUInteger &Px, const tUInteger &Py, const tUInteger &Pz, const tBoolean *periodicity, const CORE_UIndexMorseArray &neighbors, const tDimension &dim, const tReal *Ucell, tReal gradU[9]) const
compute the value of Grad U on next cell using the Ostrogradski-Green formula base on value on displa...
Definition: EMM_DisplacementFVM_VOGGROperator.cpp:323
virtual void computeGradAlmostNullUAtCell(const tReal *h, const tUInteger &xCell, const tUInteger &yCell, const tUInteger &zCell, const tUInteger &Px, const tUInteger &Py, const tUInteger &Pz, const tBoolean *periodicity, const CORE_UIndexMorseArray &neighborsIndices, const tDimension &dim, const tReal *Ui, tReal gradU[9]) const
compute the value of Grad U on cell when U is almost null everywhere except at cell ...
Definition: EMM_DisplacementFVM_VOGGROperator.h:155
#define tDimension
Definition: EMM_Types.h:10
virtual void computeGradUAtCell(const tBoolean &withConstraints, const tReal *h, const tUInteger &xCell, const tUInteger &yCell, const tUInteger &zCell, const tUInteger &Px, const tUInteger &Py, const tUInteger &Pz, const tBoolean *periodicity, const tUIndex *neighborsIndices, const tDimension &dim, const tReal *Ucells, const tReal *Ui, const tLimitCondition *lc, const tBoolean &incU0, const tReal *U0, tReal gradU[9]) const
compute the value of Grad U on cell
Definition: EMM_DisplacementFVM_VOGGROperator.cpp:17
This class describes the method to interpolate U on points, faces and cells.
Definition: EMM_DisplacementFVM_VOGGROperator.h:48
This class describes the displacement operator defined on the cells of the mesh with Volume Gradient ...
Definition: EMM_DisplacementFVM_VIGROperator.h:24
void computeGradUAtCellByOstrogradskiGreenIntegration(const tBoolean &withConstraints, const tReal *h, const tUInteger &xCell, const tUInteger &yCell, const tUInteger &zCell, const tUInteger &Px, const tUInteger &Py, const tUInteger &Pz, const tBoolean *periodicity, const tDimension &dim, const tReal *Upoints, const tLimitCondition *lc, tReal gradU[9]) const
compute the value of Grad U on cell using the Ostrogradski-Green formula base on value on displacemen...
Definition: EMM_DisplacementFVM_VOGGROperator.cpp:45
virtual void computeGradAlmostNullUAtNextCell(const tReal *h, const tUInteger &xCell, const tUInteger &yCell, const tUInteger &zCell, const tUCInt &f, const tUIndex &nextCell, const tUInteger &Px, const tUInteger &Py, const tUInteger &Pz, const tBoolean *periodicity, const CORE_UIndexMorseArray &neighborsIndices, const tDimension &dim, const tReal *Ui, tReal gradU[9]) const
compute the value of Grad U on next cell when U is almost null everywhere except at cell...
Definition: EMM_DisplacementFVM_VOGGROperator.h:194
#define tUIndex
Definition: types.h:126
virtual ~EMM_DisplacementFVM_VOGGROperator(void)
destroy
Definition: EMM_DisplacementFVM_VOGGROperator.cpp:12
void computeGradAlmostNullUAtCellByOstrogradskiGreenIntegration(const tReal *h, const tUInteger &xCell, const tUInteger &yCell, const tUInteger &zCell, const tUInteger &Px, const tUInteger &Py, const tUInteger &Pz, const tBoolean *periodicity, const CORE_UIndexMorseArray &neighbors, const tDimension &dim, const tReal *Ucell, tReal gradU[9]) const
compute the value of Grad U on cell using the Ostrogradski-Green formula base on value on displacemen...
Definition: EMM_DisplacementFVM_VOGGROperator.cpp:212
#define tReal
Definition: types.h:118