ParMooN
 All Classes Functions Variables Friends Pages
CD2DErrorEstimator.h
1 // =======================================================================
2 // @(#)CD2DErrorEstimator.h 1.3 11/15/99
3 //
4 // Class: TCD2DErrorEstimator
5 //
6 // Purpose: define error estimator
7 //
8 // Author: Volker John
9 //
10 // History: 29.01.98 start implementation
11 //
12 // =======================================================================
13 
14 #ifndef __CD2D_ERROR_ESTIMATOR__
15 #define __CD2D_ERROR_ESTIMATOR__
16 
17 #ifdef __2D__
18 
19 #include <FEFunction2D.h>
20 
21 #define cd_gradient_indicator 0
22 #define cd_residual_estimator_h1 1
23 #define cd_residual_estimator_l2 2
24 #define cd_residual_estimator_energy_quasi_robust 3
25 #define cd_gradient_recovery 4
26 #define cd_implicit_estimator_neumann 5
27 
29 {
30  protected:
33 
36 
39 
42 
45 
46 public:
48  TCD2DErrorEstimator(int fe_local_estimator,
49  TFEFunction2D *fe_function, int error_control);
50 
53  { return Collection; };
54 
57  { return FESpace2D; };
58 
61  { return FEFunction2D;};
62 
65  { return FELocalEstimator;};
66 
69  { return ErrorControl;}
70 
71 
73  void GetErrorEstimate(int N_Derivatives,
74  MultiIndex2D *NeededDerivatives,
75  CoeffFct2D *Coeff,
76  BoundCondFunct2D **BoundaryConds,
77  BoundValueFunct2D **BoundaryValues,
78  TAuxParam2D *Aux,
79  int n_fespaces,
80  TFESpace2D **fespaces,
81  double *eta_K,
82  double *eta_max,
83  double *estimated_global_error);
84 
86  void EstimateCellError_new(TFESpace2D *fespace,
87  TBaseCell *cell,
88  int N_Points,
89  double *X,
90  double *Y,
91  double *AbsDetjk,
92  double *weights,
93  double **Derivatives,
94  double **AuxArray,
95  BoundCondFunct2D **BoundaryConds,
96  BoundValueFunct2D **BoundaryValues,
97  int N_Points1D,
98  double *zeta,
99  double *X1D[4],
100  double *Y1D[4],
101  double *weights1D,
102  double *xyval_ref1D[4],
103  double *xderiv_ref1D[4],
104  double *yderiv_ref1D[4],
105  int MaxN_BaseFunctions2D_loc,
106  int *GlobalNumbers,
107  int *BeginIndex,
108  int *DOF,
109  double *Values,
110  double *local_error);
111 
112  void EstimateCellError(TFESpace2D *fespace,
113  TBaseCell *cell,
114  int N_Points,
115  double *X,
116  double *Y,
117  double *AbsDetjk,
118  double *weights,
119  double **Derivatives,
120  double **AuxArray,
121  BoundCondFunct2D **BoundaryConds,
122  BoundValueFunct2D **BoundaryValues,
123  int N_Points1D,
124  double *zeta,
125  double *X1D[4],
126  double *Y1D[4],
127  double *weights1D,
128  double *xyval_ref1D[4],
129  double *xderiv_ref1D[4],
130  double *yderiv_ref1D[4],
131  int *GlobalNumbers,
132  int *BeginIndex,
133  int *DOF,
134  double *Values,
135  double *local_error);
136 
137 };
138 #endif
139 
140 #endif // #ifdef __2D__
TFESpace2D * FESpace2D
Definition: CD2DErrorEstimator.h:35
TFESpace * GetAnsatzSpace()
Definition: CD2DErrorEstimator.h:56
Definition: AuxParam2D.h:22
TCD2DErrorEstimator(int fe_local_estimator, TFEFunction2D *fe_function, int error_control)
Definition: CD2DErrorEstimator.C:45
Definition: FESpace2D.h:28
void GetErrorEstimate(int N_Derivatives, MultiIndex2D *NeededDerivatives, CoeffFct2D *Coeff, BoundCondFunct2D **BoundaryConds, BoundValueFunct2D **BoundaryValues, TAuxParam2D *Aux, int n_fespaces, TFESpace2D **fespaces, double *eta_K, double *eta_max, double *estimated_global_error)
Definition: CD2DErrorEstimator.C:56
int FELocalEstimator
Definition: CD2DErrorEstimator.h:41
int GetErrorControl()
Definition: CD2DErrorEstimator.h:68
store cells in an array, used by cell iterators
Definition: Collection.h:18
int ErrorControl
Definition: CD2DErrorEstimator.h:44
Definition: FESpace.h:30
TCollection * GetCollection()
Definition: CD2DErrorEstimator.h:52
TFEFunction2D * GetFEFunction2D()
Definition: CD2DErrorEstimator.h:60
void EstimateCellError_new(TFESpace2D *fespace, 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 MaxN_BaseFunctions2D_loc, int *GlobalNumbers, int *BeginIndex, int *DOF, double *Values, double *local_error)
Definition: CD2DErrorEstimator.C:581
information for finite element data structure
Definition: BaseCell.h:25
TCollection * Collection
Definition: CD2DErrorEstimator.h:32
TFEFunction2D * FEFunction2D
Definition: CD2DErrorEstimator.h:38
int GetFELocalEstimator()
Definition: CD2DErrorEstimator.h:64
Definition: CD2DErrorEstimator.h:28
Definition: FEFunction2D.h:24