ParMooN
 All Classes Functions Variables Friends Pages
NF_N_T_P1_3D.h
1 /*
2  TNodalFunctional3D(NodalFunctional3D id,
3  int n_allfunctionals, int *n_facefunctionals,
4  int B_T_Pointsall, int *B_T_Pointsface,
5  double *xi, double *eta, double *zeta,
6  double **xiarray, double **etaarray,
7  double **zetaarray,
8  DoubleFunctVect *evalall,
9  DoubleFunctVect *evalface);
10 */
11 
12 /* for all functionals */
13 static double NF_N_T_P1_3D_Xi[] = { 0.33333333333333333333,
14  0.33333333333333333333,
15  0.33333333333333333333,
16  0 };
17 
18 static double NF_N_T_P1_3D_Eta[] = { 0.33333333333333333333,
19  0,
20  0.33333333333333333333,
21  0.33333333333333333333 };
22 static double NF_N_T_P1_3D_Zeta[] = { 0,
23  0.33333333333333333333,
24  0.33333333333333333333,
25  0.33333333333333333333 };
26 
27 /* face 0 0 */
28 static double NF_N_T_P1_3D_F0_Xi[] = { 0.33333333333333333333 };
29 static double NF_N_T_P1_3D_F0_Eta[] = { 0.33333333333333333333 };
30 static double NF_N_T_P1_3D_F0_Zeta[] = { 0 };
31 
32 /* face 1 1 */
33 static double NF_N_T_P1_3D_F1_Xi[] = { 0.33333333333333333333 };
34 static double NF_N_T_P1_3D_F1_Eta[] = { 0 };
35 static double NF_N_T_P1_3D_F1_Zeta[] = { 0.33333333333333333333 };
36 
37 /* face 2 2 */
38 static double NF_N_T_P1_3D_F2_Xi[] = { 0.33333333333333333333 };
39 static double NF_N_T_P1_3D_F2_Eta[] = { 0.33333333333333333333 };
40 static double NF_N_T_P1_3D_F2_Zeta[] = { 0.33333333333333333333 };
41 
42 /* face 3 3 */
43 static double NF_N_T_P1_3D_F3_Xi[] = { 0 };
44 static double NF_N_T_P1_3D_F3_Eta[] = { 0.33333333333333333333 };
45 static double NF_N_T_P1_3D_F3_Zeta[] = { 0.33333333333333333333 };
46 
47 static double *NF_N_T_P1_3D_XiArray[6] = {
48  NF_N_T_P1_3D_F0_Xi,
49  NF_N_T_P1_3D_F1_Xi,
50  NF_N_T_P1_3D_F2_Xi,
51  NF_N_T_P1_3D_F3_Xi };
52 
53 static double *NF_N_T_P1_3D_EtaArray[4] = {
54  NF_N_T_P1_3D_F0_Eta,
55  NF_N_T_P1_3D_F1_Eta,
56  NF_N_T_P1_3D_F2_Eta,
57  NF_N_T_P1_3D_F3_Eta };
58 
59 static double *NF_N_T_P1_3D_ZetaArray[4] = {
60  NF_N_T_P1_3D_F0_Zeta,
61  NF_N_T_P1_3D_F1_Zeta,
62  NF_N_T_P1_3D_F2_Zeta,
63  NF_N_T_P1_3D_F3_Zeta };
64 
65 static double NF_N_T_P1_3D_T[1] = { 0.33333333333333333333 };
66 static double NF_N_T_P1_3D_S[1] = { 0.33333333333333333333 };
67 
68 void NF_N_T_P1_3D_EvalAll(TCollection *Coll, TBaseCell *Cell,
69  double *PointValues, double *Functionals)
70 {
71  memcpy(Functionals, PointValues, 4*SizeOfDouble);
72 }
73 
74 void NF_N_T_P1_3D_EvalFace(TCollection *Coll, TBaseCell *Cell, int Joint,
75  double *PointValues, double *Functionals)
76 {
77  Functionals[0] = PointValues[0];
78 }
79 
80 static int NF_N_T_P1_3D_N_AllFunctionals = 4;
81 static int NF_N_T_P1_3D_N_T_PointsAll = 4;
82 static int NF_N_T_P1_3D_N_FaceFunctionals[] = { 1, 1, 1, 1 };
83 static int NF_N_T_P1_3D_N_T_PointsFace[] = { 1, 1, 1, 1 };
84 
85 TNodalFunctional3D *NF_N_T_P1_3D_Obj = new TNodalFunctional3D
86  (NF_N_T_P1_3D, NF_N_T_P1_3D_N_AllFunctionals,
87  NF_N_T_P1_3D_N_FaceFunctionals, NF_N_T_P1_3D_N_T_PointsAll,
88  NF_N_T_P1_3D_N_T_PointsFace,
89  NF_N_T_P1_3D_Xi, NF_N_T_P1_3D_Eta, NF_N_T_P1_3D_Zeta,
90  NF_N_T_P1_3D_XiArray, NF_N_T_P1_3D_EtaArray,
91  NF_N_T_P1_3D_ZetaArray,
92  NF_N_T_P1_3D_T, NF_N_T_P1_3D_S,
93  NF_N_T_P1_3D_EvalAll, NF_N_T_P1_3D_EvalFace);
Definition: NodalFunctional3D.h:21
store cells in an array, used by cell iterators
Definition: Collection.h:18
information for finite element data structure
Definition: BaseCell.h:25