ParMooN
 All Classes Functions Variables Friends Pages
NF_C_T_P1_3D.h
1 /*
2  TNodalFunctional3D(NodalFunctional3D id,
3  int n_allfunctionals, int *n_facefunctionals,
4  int n_pointsall, int *n_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_C_T_P1_3D_Xi[] = { 0, 1, 0, 0 };
14 static double NF_C_T_P1_3D_Eta[] = { 0, 0, 1, 0 };
15 static double NF_C_T_P1_3D_Zeta[] = { 0, 0, 0, 1 };
16 
17 /* face 0 0 1 2 */
18 static double NF_C_T_P1_3D_F0_Xi[] = { 0, 1, 0 };
19 static double NF_C_T_P1_3D_F0_Eta[] = { 0, 0, 1 };
20 static double NF_C_T_P1_3D_F0_Zeta[] = { 0, 0, 0 };
21 
22 /* face 1 0 3 1 */
23 static double NF_C_T_P1_3D_F1_Xi[] = { 0, 0, 1 };
24 static double NF_C_T_P1_3D_F1_Eta[] = { 0, 0, 0 };
25 static double NF_C_T_P1_3D_F1_Zeta[] = { 0, 1, 0 };
26 
27 /* face 2 2 1 3 */
28 static double NF_C_T_P1_3D_F2_Xi[] = { 0, 1, 0 };
29 static double NF_C_T_P1_3D_F2_Eta[] = { 1, 0, 0 };
30 static double NF_C_T_P1_3D_F2_Zeta[] = { 0, 0, 1 };
31 
32 /* face 3 0 2 3 */
33 static double NF_C_T_P1_3D_F3_Xi[] = { 0, 0, 0 };
34 static double NF_C_T_P1_3D_F3_Eta[] = { 0, 1, 0 };
35 static double NF_C_T_P1_3D_F3_Zeta[] = { 0, 0, 1 };
36 
37 static double *NF_C_T_P1_3D_XiArray[4] = {
38  NF_C_T_P1_3D_F0_Xi,
39  NF_C_T_P1_3D_F1_Xi,
40  NF_C_T_P1_3D_F2_Xi,
41  NF_C_T_P1_3D_F3_Xi };
42 
43 static double *NF_C_T_P1_3D_EtaArray[4] = {
44  NF_C_T_P1_3D_F0_Eta,
45  NF_C_T_P1_3D_F1_Eta,
46  NF_C_T_P1_3D_F2_Eta,
47  NF_C_T_P1_3D_F3_Eta };
48 
49 static double *NF_C_T_P1_3D_ZetaArray[4] = {
50  NF_C_T_P1_3D_F0_Zeta,
51  NF_C_T_P1_3D_F1_Zeta,
52  NF_C_T_P1_3D_F2_Zeta,
53  NF_C_T_P1_3D_F3_Zeta };
54 
55 static double NF_C_T_P1_3D_T[3] = { 0, 1, 0 };
56 static double NF_C_T_P1_3D_S[3] = { 0, 0, 1 };
57 
58 void NF_C_T_P1_3D_EvalAll(TCollection *Coll, TBaseCell *Cell,
59  double *PointValues, double *Functionals)
60 {
61  Functionals[0] = PointValues[0];
62  Functionals[1] = PointValues[1];
63  Functionals[2] = PointValues[2];
64  Functionals[3] = PointValues[3];
65 }
66 
67 void NF_C_T_P1_3D_EvalFace(TCollection *Coll, TBaseCell *Cell, int Joint,
68  double *PointValues, double *Functionals)
69 {
70  Functionals[0] = PointValues[0];
71  Functionals[1] = PointValues[1];
72  Functionals[2] = PointValues[2];
73 }
74 
75 static int NF_C_T_P1_3D_N_AllFunctionals = 4;
76 static int NF_C_T_P1_3D_N_PointsAll = 4;
77 static int NF_C_T_P1_3D_N_FaceFunctionals[] = { 3, 3, 3, 3 };
78 static int NF_C_T_P1_3D_N_PointsFace[] = { 3, 3, 3, 3 };
79 
80 TNodalFunctional3D *NF_C_T_P1_3D_Obj = new TNodalFunctional3D
81  (NF_C_T_P1_3D, NF_C_T_P1_3D_N_AllFunctionals,
82  NF_C_T_P1_3D_N_FaceFunctionals, NF_C_T_P1_3D_N_PointsAll,
83  NF_C_T_P1_3D_N_PointsFace,
84  NF_C_T_P1_3D_Xi, NF_C_T_P1_3D_Eta, NF_C_T_P1_3D_Zeta,
85  NF_C_T_P1_3D_XiArray, NF_C_T_P1_3D_EtaArray,
86  NF_C_T_P1_3D_ZetaArray,
87  NF_C_T_P1_3D_T, NF_C_T_P1_3D_S,
88  NF_C_T_P1_3D_EvalAll, NF_C_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