ParMooN
 All Classes Functions Variables Friends Pages
NF_C_Q_Q3_2D.h
1 /*
2  TNodalFunctional2D(NodalFunctional2D id,
3  int n_allfunctionals, int n_edgefunctionals,
4  int n_pointsall, int n_pointsedge,
5  double *xi, double *eta, double *t,
6  DoubleFunctVect *evalall,
7  DoubleFunctVect *evaledge);
8 */
9 
10 static double NF_C_Q_Q3_2D_Xi[] = { -1, -0.33333333333333333333,
11  0.33333333333333333333, 1,
12  -1, -0.33333333333333333333,
13  0.33333333333333333333, 1,
14  -1, -0.33333333333333333333,
15  0.33333333333333333333, 1,
16  -1, -0.33333333333333333333,
17  0.33333333333333333333, 1 };
18 static double NF_C_Q_Q3_2D_Eta[] = { -1, -1, -1, -1,
19  -0.33333333333333333333,
20  -0.33333333333333333333,
21  -0.33333333333333333333,
22  -0.33333333333333333333,
23  0.33333333333333333333,
24  0.33333333333333333333,
25  0.33333333333333333333,
26  0.33333333333333333333,
27  1, 1, 1, 1 };
28 static double NF_C_Q_Q3_2D_T[] = { -1, -0.33333333333333333333,
29  0.33333333333333333333, 1 };
30 
31 void NF_C_Q_Q3_2D_EvalAll(TCollection *Coll, TBaseCell *Cell, double *PointValues,
32  double *Functionals)
33 {
34 /*
35  Functionals[0] = PointValues[0];
36  Functionals[1] = PointValues[1];
37  Functionals[2] = PointValues[2];
38  Functionals[3] = PointValues[3];
39  Functionals[4] = PointValues[4];
40  Functionals[5] = PointValues[5];
41  Functionals[6] = PointValues[6];
42  Functionals[7] = PointValues[7];
43  Functionals[8] = PointValues[8];
44  Functionals[9] = PointValues[9];
45  Functionals[10] = PointValues[10];
46  Functionals[11] = PointValues[11];
47  Functionals[12] = PointValues[12];
48  Functionals[13] = PointValues[13];
49  Functionals[14] = PointValues[14];
50  Functionals[15] = PointValues[15];
51 */
52  memcpy(Functionals, PointValues, 16*SizeOfDouble);
53 }
54 
55 void NF_C_Q_Q3_2D_EvalEdge(TCollection *Coll, TBaseCell *Cell, int Joint, double *PointValues,
56  double *Functionals)
57 {
58 /*
59  Functionals[0] = PointValues[0];
60  Functionals[1] = PointValues[1];
61  Functionals[2] = PointValues[2];
62  Functionals[3] = PointValues[3];
63 */
64  memcpy(Functionals, PointValues, 4*SizeOfDouble);
65 }
66 
67 TNodalFunctional2D *NF_C_Q_Q3_2D_Obj = new TNodalFunctional2D
68  (NF_C_Q_Q3_2D, 16, 4, 16, 4, NF_C_Q_Q3_2D_Xi, NF_C_Q_Q3_2D_Eta,
69  NF_C_Q_Q3_2D_T, NF_C_Q_Q3_2D_EvalAll, NF_C_Q_Q3_2D_EvalEdge);
store cells in an array, used by cell iterators
Definition: Collection.h:18
Definition: NodalFunctional2D.h:20
information for finite element data structure
Definition: BaseCell.h:25