C++ main module for emicrom Package  1.0
EMM_DisplacementFVM_VGROperator.h
Go to the documentation of this file.
1 #ifndef EMM_DisplacementFVM_VGROperator_H
2 #define EMM_DisplacementFVM_VGROperator_H
3 
5 
26 
28  // ATTRIBUTES
29 
30 
31 private:
32 
33 
34 
35 public:
36 
37 
38  // ASSOCIATION
39 
40 private:
41 
42 
43 
44 protected:
45 
46  // METHODS
47 
48  // CONSTRUCTORS
49 
53 
54  // DESTRUCTORS
55 
59 
60 
61 public:
62 
63  //Get methods
64 
65 
103  virtual void computeGradUAtFace(const tBoolean& withConstraints,
104  const tReal *h,
105  const tUInteger& xCell,const tUInteger& yCell,const tUInteger& zCell,
106  const tUCInt& f,const tUIndex& nextCell,
107  const tUInteger& Px,const tUInteger& Py,const tUInteger& Pz,
108  const tBoolean *periodicity,
109  const CORE_UIndexMorseArray& neighborsIndices,
110  const tDimension& dim,
111  const tReal * Ucells,
112  const tReal* Ui,
113  const tLimitCondition* lc,const tBoolean& incU0, const tReal* U0,
114  tReal gradU[9]) const;
115 
116 protected:
148  virtual void computeGradAlmostNullUAtFace(const tReal *h,
149  const tUInteger& xCell,const tUInteger& yCell,const tUInteger& zCell,
150  const tUCInt& f, const tUIndex& nextCell,
151  const tUInteger& Px,const tUInteger& Py,const tUInteger& Pz,
152  const tBoolean* periodicity,
153  const CORE_UIndexMorseArray& neighborsIndices,
154  const tLimitCondition* lc,
155  const tDimension& dim,
156  const tReal* Ui,
157  tReal gradU[9]) const;
158 
159 
160 protected:
161 
178  virtual void computeGradAlmostNullUAtCell(const tReal *h,
179  const tUInteger& xCell,
180  const tUInteger& yCell,
181  const tUInteger& zCell,
182  const tUInteger& Px,
183  const tUInteger& Py,
184  const tUInteger& Pz,
185  const tBoolean *periodicity,
186  const CORE_UIndexMorseArray& neighborsIndices,
187  const tDimension& dim,
188  const tReal *Ui,
189  tReal gradU[9]) const=0;
190 
209  virtual void computeGradAlmostNullUAtNextCell(const tReal *h,
210  const tUInteger& xCell,
211  const tUInteger& yCell,
212  const tUInteger& zCell,
213  const tUCInt& f,
214  const tUIndex& nextCell,
215  const tUInteger& Px,
216  const tUInteger& Py,
217  const tUInteger& Pz,
218  const tBoolean *periodicity,
219  const CORE_UIndexMorseArray& neighborsIndices,
220  const tDimension& dim,
221  const tReal *Ui,
222  tReal gradU[9]) const=0;
223 
224 
225 
226 };
227 
228 #endif
229 
#define tLimitCondition
Definition: EMM_Types.h:19
#define tUInteger
Definition: types.h:91
This class describes the displacement operator defined on the cells of the mesh.
Definition: EMM_DisplacementFVMOperator.h:90
#define tUCInt
Definition: types.h:21
#define tBoolean
Definition: types.h:139
#define tDimension
Definition: EMM_Types.h:10
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 =0
compute the value of Grad U on cell when U is almost null everywhere except at cell ...
virtual void computeGradAlmostNullUAtFace(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 tLimitCondition *lc, const tDimension &dim, const tReal *Ui, tReal gradU[9]) const
computes the gradient U at the center of net cell of the cell (xCell,yCell,zCell) with the interface ...
Definition: EMM_DisplacementFVM_VGROperator.cpp:173
DEFINE_SPTR(EMM_DisplacementFVM_VGROperator)
virtual ~EMM_DisplacementFVM_VGROperator(void)
destroy
Definition: EMM_DisplacementFVM_VGROperator.cpp:12
#define tUIndex
Definition: types.h:126
EMM_DisplacementFVM_VGROperator(void)
create
Definition: EMM_DisplacementFVM_VGROperator.cpp:8
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 =0
compute the value of Grad U on next cell when U is almost null everywhere except at cell...
virtual void computeGradUAtFace(const tBoolean &withConstraints, 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 *Ucells, const tReal *Ui, const tLimitCondition *lc, const tBoolean &incU0, const tReal *U0, tReal gradU[9]) const
compute the gradient U at the center of the face f of a cell whch is either an interior face or a Dir...
Definition: EMM_DisplacementFVM_VGROperator.cpp:17
#define tReal
Definition: types.h:118
This class describes the displacement operator defined on the cells of the mesh with Volume Gradient ...
Definition: EMM_DisplacementFVM_VGROperator.h:25
SP_OBJECT(EMM_DisplacementFVM_VGROperator)