ParMooN
 All Classes Functions Variables Friends Pages
NodalFunctional3D.h
1 // =======================================================================
2 // %W% %G%
3 //
4 // Class: TNodalFunctional3D
5 // Purpose: realize nodal functionals in 3D
6 //
7 // Author: Gunar Matthies (30.05.00)
8 //
9 // History: start of implementation 30.05.00 (Gunar Matthies)
10 //
11 // =======================================================================
12 
13 #ifndef __NODALFUNCTIONAL3D__
14 #define __NODALFUNCTIONAL3D__
15 
16 #include <Enumerations.h>
17 #include <Constants.h>
18 #include <Collection.h>
19 
22 {
23  protected:
26 
29 
32 
35  double *Xi;
36 
39  double *Eta;
40 
43  double *Zeta;
44 
46  EvalAllNF *EvalAll;
47 
50 
52  double **XiArray;
53 
55  double **EtaArray;
56 
58  double **ZetaArray;
59 
61  double *T;
62 
64  double *S;
65 
67  EvalJointNF *EvalFace;
68 
70  NodalFunctional3D ID;
71 
72  public:
74  TNodalFunctional3D(NodalFunctional3D id,
75  int n_allfunctionals, int *n_facefunctionals,
76  int n_pointsall, int *n_pointsface,
77  double *xi, double *eta, double *zeta,
78  double **xiarray, double **etaarray,
79  double **zetaarray,
80  double *t, double *s,
81  EvalAllNF *evalall,
82  EvalJointNF *evalface);
83 
85  void GetPointsForAll(int &n_points, double* &xi, double* &eta,
86  double* &zeta);
87 
90  void GetPointsForFace(int j, int &n_points, double* &xi, double* &eta,
91  double* &zeta);
92 
94  void GetPointsForFace(int &n_points, double* &t, double* &s);
95 
98  double *PointValues, double *Functionals)
99  { EvalAll(Coll, Cell, PointValues, Functionals); }
100 
102  void GetFaceFunctionals(TCollection *Coll, TBaseCell *Cell, int Joint,
103  double *PointValues, double *Functionals)
104  { EvalFace(Coll, Cell, Joint, PointValues, Functionals); }
105 
107  NodalFunctional3D GetID() const
108  { return ID; }
109 
110  int n_functionals() const
111  {return N_AllFunctionals; }
112 
113  int n_face_functionals(int face) const
114  {return N_FaceFunctionals[face]; }
115 
116  int n_points() const
117  { return N_PointsAll; }
118 
119 };
120 
121 #endif
int * N_FaceFunctionals
Definition: NodalFunctional3D.h:28
EvalAllNF * EvalAll
Definition: NodalFunctional3D.h:46
int N_AllFunctionals
Definition: NodalFunctional3D.h:25
double * S
Definition: NodalFunctional3D.h:64
double * Xi
Definition: NodalFunctional3D.h:35
void GetPointsForFace(int j, int &n_points, double *&xi, double *&eta, double *&zeta)
Definition: NodalFunctional3D.C:60
int * N_PointsFace
Definition: NodalFunctional3D.h:49
void GetFaceFunctionals(TCollection *Coll, TBaseCell *Cell, int Joint, double *PointValues, double *Functionals)
Definition: NodalFunctional3D.h:102
double * T
Definition: NodalFunctional3D.h:61
EvalJointNF * EvalFace
Definition: NodalFunctional3D.h:67
void GetAllFunctionals(TCollection *Coll, TBaseCell *Cell, double *PointValues, double *Functionals)
Definition: NodalFunctional3D.h:97
Definition: NodalFunctional3D.h:21
store cells in an array, used by cell iterators
Definition: Collection.h:18
double * Eta
Definition: NodalFunctional3D.h:39
double ** XiArray
Definition: NodalFunctional3D.h:52
NodalFunctional3D GetID() const
Definition: NodalFunctional3D.h:107
information for finite element data structure
Definition: BaseCell.h:25
double * Zeta
Definition: NodalFunctional3D.h:43
void GetPointsForAll(int &n_points, double *&xi, double *&eta, double *&zeta)
Definition: NodalFunctional3D.C:49
int N_PointsAll
Definition: NodalFunctional3D.h:31
TNodalFunctional3D(NodalFunctional3D id, int n_allfunctionals, int *n_facefunctionals, int n_pointsall, int *n_pointsface, double *xi, double *eta, double *zeta, double **xiarray, double **etaarray, double **zetaarray, double *t, double *s, EvalAllNF *evalall, EvalJointNF *evalface)
Definition: NodalFunctional3D.C:16
double ** ZetaArray
Definition: NodalFunctional3D.h:58
double ** EtaArray
Definition: NodalFunctional3D.h:55
NodalFunctional3D ID
Definition: NodalFunctional3D.h:70