ParMooN
 All Classes Functions Variables Friends Pages
NSE2DErrorEstimator.h
1 // =======================================================================
2 // @(#)NS2DErrorEstimator.h 1.3 11/15/99
3 //
4 // Class: TNS2DErrorEstimator
5 //
6 // Purpose: define error estimator
7 //
8 // Author: Volker John
9 //
10 // History: 29.01.98 start implementation
11 //
12 // =======================================================================
13 #ifdef __2D__
14 
15 #ifndef __NS_ERROR_ESTIMATOR__
16 #define __NS_ERROR_ESTIMATOR__
17 
18 #include <FEFunction2D.h>
19 #include <FEVectFunct2D.h>
20 
21 #define ns_gradient_indicator 0
22 #define ns_residual_estimator_h1 1
23 #define ns_residual_estimator_l2 2
24 #define ns_residual_estimator_energy_quasi_robust 3
25 #define ns_gradient_recovery 4
26 #define ns_implicit_estimator_neumann 5
27 
29 {
30  protected:
33  TCollection *Collection_P;
34 
37  TFESpace2D *FESpace2D_P;
38 
41  TFEFunction2D *P;
42 
45 
48 
51 
52 public:
54  TNS2DErrorEstimator(int fe_local_estimator,
55  TFEVectFunct2D *u,
56  TFEFunction2D *p,
57  int error_control,
58  int navierstokes);
59 
62  { return Collection_U; };
63  TCollection *GetCollection_P()
64  { return Collection_P; };
65 
68  { return U;};
69 
70  TFEFunction2D *GetP()
71  { return P;};
72 
75  { return FELocalEstimator;};
76 
79  { return ErrorControl;}
80 
83  { return NavierStokes;}
84 
86  void GetErrorEstimate(int N_Derivatives,
87  MultiIndex2D *NeededDerivatives,
88  int N_DerivativesP,
89  MultiIndex2D *NeededDerivativesP,
90  CoeffFct2D *Coeff,
91  BoundCondFunct2D **BoundaryConds,
92  BoundValueFunct2D **BoundaryValues,
93  TAuxParam2D *Aux,
94  int n_fespaces,
95  TFESpace2D **fespaces,
96  double *eta_K,
97  double *eta_max,
98  double *estimated_global_error);
99 
101  void EstimateCellError(TFESpace2D **fespaces,
102  TBaseCell *cell,
103  int N_Points,
104  double *X,
105  double *Y,
106  double *AbsDetjk,
107  double *weights,
108  double **Derivatives,
109  double **AuxArray,
110  BoundCondFunct2D **BoundaryConds,
111  BoundValueFunct2D **BoundaryValues,
112  int N_Points1D,
113  double *zeta,
114  double *X1D[4],
115  double *Y1D[4],
116  double *weights1D,
117  double *xyval_ref1D[4],
118  double *xderiv_ref1D[4],
119  double *yderiv_ref1D[4],
120  int *GlobalNumbers,
121  int *BeginIndex,
122  int *DOF,
123  double *Values,
124  int *GlobalNumbersP,
125  int *BeginIndexP,
126  int *DOFP,
127  double *ValuesP,
128  double *local_error);
129 
130 };
131 
132 #endif
133 
134 #endif // #ifdef __2D__
int NavierStokes
Definition: NSE2DErrorEstimator.h:50
TNS2DErrorEstimator(int fe_local_estimator, TFEVectFunct2D *u, TFEFunction2D *p, int error_control, int navierstokes)
Definition: NSE2DErrorEstimator.C:35
Definition: AuxParam2D.h:22
TCollection * Collection_U
Definition: NSE2DErrorEstimator.h:32
TCollection * GetCollection_U()
Definition: NSE2DErrorEstimator.h:61
Definition: FESpace2D.h:28
int FELocalEstimator
Definition: NSE2DErrorEstimator.h:44
store cells in an array, used by cell iterators
Definition: Collection.h:18
int GetFELocalEstimator()
Definition: NSE2DErrorEstimator.h:74
void EstimateCellError(TFESpace2D **fespaces, TBaseCell *cell, int N_Points, double *X, double *Y, double *AbsDetjk, double *weights, double **Derivatives, double **AuxArray, BoundCondFunct2D **BoundaryConds, BoundValueFunct2D **BoundaryValues, int N_Points1D, double *zeta, double *X1D[4], double *Y1D[4], double *weights1D, double *xyval_ref1D[4], double *xderiv_ref1D[4], double *yderiv_ref1D[4], int *GlobalNumbers, int *BeginIndex, int *DOF, double *Values, int *GlobalNumbersP, int *BeginIndexP, int *DOFP, double *ValuesP, double *local_error)
Definition: NSE2DErrorEstimator.C:586
int GetErrorControl()
Definition: NSE2DErrorEstimator.h:78
Definition: FEVectFunct2D.h:23
TFEVectFunct2D * GetU()
Definition: NSE2DErrorEstimator.h:67
TFEVectFunct2D * U
Definition: NSE2DErrorEstimator.h:40
information for finite element data structure
Definition: BaseCell.h:25
Definition: NSE2DErrorEstimator.h:28
void GetErrorEstimate(int N_Derivatives, MultiIndex2D *NeededDerivatives, int N_DerivativesP, MultiIndex2D *NeededDerivativesP, CoeffFct2D *Coeff, BoundCondFunct2D **BoundaryConds, BoundValueFunct2D **BoundaryValues, TAuxParam2D *Aux, int n_fespaces, TFESpace2D **fespaces, double *eta_K, double *eta_max, double *estimated_global_error)
Definition: NSE2DErrorEstimator.C:52
int ErrorControl
Definition: NSE2DErrorEstimator.h:47
int GetNavierStokes()
Definition: NSE2DErrorEstimator.h:82
Definition: FEFunction2D.h:24
TFESpace2D * FESpace2D_U
Definition: NSE2DErrorEstimator.h:36