C++ main module for emicrom Package  1.0
EMM_DisplacementFVM_STEGROperator.h
Go to the documentation of this file.
1 #ifndef EMM_DisplacementFVM_STEGROperator_H
2 #define EMM_DisplacementFVM_STEGROperator_H
3 
5 
48 
50  // ATTRIBUTES
51 
52 
53 private:
54 
55 
56 
57 public:
58 
59 
60  // ASSOCIATION
61 
62 private:
63 
64 
65 
66 
67 protected:
68 
69  // METHODS
70 
71  // CONSTRUCTORS
72 
76 
77  // DESTRUCTORS
78 
82 
83 
84 public:
85 
86 
87  //SET Methods
88  //============
89 
90 
91 
92  //grad U reconstruction
93  //======================
133  virtual void computeGradUAtFace(const tBoolean& withConstraints,
134  const tReal *h,
135  const tUInteger& xCell,const tUInteger& yCell,const tUInteger& zCell,
136  const tUCInt& f,const tUIndex& nextCell,
137  const tUInteger& Px,const tUInteger& Py,const tUInteger& Pz,
138  const tBoolean *periodicity,
139  const CORE_UIndexMorseArray& neighborsIndices,
140  const tDimension& dim,
141  const tReal * Ucells,
142  const tReal* Ui,
143  const tLimitCondition* lc,const tBoolean& incU0, const tReal* U0,
144  tReal gradU[9]) const {
145 
146 
147  computeGradUAtFaceByTaylorExpansion(withConstraints,
148  h,
149  xCell,yCell,zCell,f,
150  periodicity,
151  Px,Py,Pz,
152  neighborsIndices,
153  neighborsIndices[xCell+(Px-1)*(yCell+(Py-1)*zCell)],
154  dim,
155  Ucells,Ui,
156  lc,incU0,U0,
157  gradU);
158  }
159 
160 
161 protected:
184  virtual void computeGradAlmostNullUAtFace(const tReal *h,
185  const tUInteger& xCell,const tUInteger& yCell,const tUInteger& zCell,
186  const tUCInt& f,
187  const tUIndex& nextCell,
188  const tUInteger& Px,const tUInteger& Py,const tUInteger& Pz,
189  const tBoolean *periodicity,
190  const CORE_UIndexMorseArray& neighborsIndices,
191  const tLimitCondition* lc,
192  const tDimension& dim,
193  const tReal* Ui,
194  tReal gradU[9]) const {
196  xCell,yCell,zCell,f,nextCell,
197  Px,Py,Pz,
198  periodicity,
199  neighborsIndices,
200  dim,Ui,gradU);
201  }
202 
203 
204 
205 private:
242  void computeGradUAtFaceByTaylorExpansion(const tBoolean& withConstraints,
243  const tReal *h,
244  const tUInteger& xCell, const tUInteger& yCell,const tUInteger& zCell,
245  const tUCInt& f,
246  const tBoolean * periodicity,
247  const tUInteger& Px,const tUInteger& Py,const tUInteger& Pz,
248  const CORE_UIndexMorseArray &neighbors,const tUIndex* Ni,
249  const tDimension& dim,
250  const tReal *Ucells,const tReal* Ui,
251  const tLimitCondition* lc,const tBoolean& incU0, const tReal* U0,
252  tReal gradU[9]) const;
253 
254 
287  const tUInteger& xCell, const tUInteger& yCell,const tUInteger& zCell,
288  const tUCInt& f,
289  const tUIndex& nextCell,
290  const tUInteger& Px,const tUInteger& Py,const tUInteger& Pz,
291  const tBoolean* periodicity,
292  const CORE_UIndexMorseArray &neighbors,
293  const tDimension& dim,
294  const tReal* Ui,
295  tReal gradU[9]) const;
296  //STRING representation
297  //=======================
298 
301  virtual tString toString() const {
303  return ret;
304  }
305 
306 
307 
308 };
309 
310 #endif
311 
virtual tString toString() const
turn the class into string
Definition: EMM_DisplacementFVMOperator.h:721
This class describes the displacement operator defined on the cells of the mesh with Surface Gradient...
Definition: EMM_DisplacementFVM_STEGROperator.h:47
#define tLimitCondition
Definition: EMM_Types.h:19
#define tUInteger
Definition: types.h:91
void computeGradAlmostNullUAtFaceByTaylorExpansion(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 &neighbors, const tDimension &dim, const tReal *Ui, tReal gradU[9]) const
compute the gradient U on face by using the Taylor Expansion of U
Definition: EMM_DisplacementFVM_STEGROperator.cpp:185
#define tUCInt
Definition: types.h:21
#define tBoolean
Definition: types.h:139
#define tDimension
Definition: EMM_Types.h:10
void computeGradUAtFaceByTaylorExpansion(const tBoolean &withConstraints, const tReal *h, const tUInteger &xCell, const tUInteger &yCell, const tUInteger &zCell, const tUCInt &f, const tBoolean *periodicity, const tUInteger &Px, const tUInteger &Py, const tUInteger &Pz, const CORE_UIndexMorseArray &neighbors, const tUIndex *Ni, 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 on face by using the Taylor Expansion of U
Definition: EMM_DisplacementFVM_STEGROperator.cpp:19
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
compute the gradient U at the center of the face f of a cell when U is almost null ...
Definition: EMM_DisplacementFVM_STEGROperator.h:184
#define tUIndex
Definition: types.h:126
EMM_DisplacementFVM_STEGROperator(void)
create
Definition: EMM_DisplacementFVM_STEGROperator.cpp:8
#define tString
Definition: types.h:135
This class describes the displacement operator defined on the cells of the mesh with Volume Gradient ...
Definition: EMM_DisplacementFVM_VTEGROperator.h:49
SP_OBJECT(EMM_DisplacementFVM_STEGROperator)
DEFINE_SPTR(EMM_DisplacementFVM_STEGROperator)
virtual tString toString() const
turn the class into string
Definition: EMM_DisplacementFVM_STEGROperator.h:301
#define tReal
Definition: types.h:118
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. f is either an interior face or a Diric...
Definition: EMM_DisplacementFVM_STEGROperator.h:133
virtual ~EMM_DisplacementFVM_STEGROperator(void)
destroy
Definition: EMM_DisplacementFVM_STEGROperator.cpp:12