ParMooN
 All Classes Functions Variables Friends Pages
NF_D_Q_P2_2D.h
1 static double NF_D_Q_P2_2D_Xi[9]={ 0.774596669241483, -0.774596669241483,
2  0.774596669241483, -0.774596669241483,
3  0.774596669241483, -0.774596669241483,
4  0, 0,
5  0 };
6 static double NF_D_Q_P2_2D_Eta[9]={ 0.774596669241483, 0.774596669241483,
7  -0.774596669241483, -0.774596669241483,
8  0, 0,
9  0.774596669241483, -0.774596669241483,
10  0 };
11 // 3*xi**2-1
12 static double NF_D_Q_P2_2D_3Xi2_1[9]={ 0.8, 0.8,
13  0.8, 0.8,
14  0.8, 0.8,
15  -1.0, -1.0,
16  -1.0 };
17 // xi*eta
18 static double NF_D_Q_P2_2D_XiEta[9]={ 0.6, -0.6,
19  -0.6, 0.6,
20  0.0, 0.0,
21  0.0, 0.0,
22  0.0 };
23 // 3*eta**2-1
24 static double NF_D_Q_P2_2D_3Eta2_1[9]={ 0.8, 0.8,
25  0.8, 0.8,
26  -1.0, -1.0,
27  0.8, 0.8,
28  -1.0 };
29 
30 static double *NF_D_Q_P2_2D_t = NULL;
31 
32 void NF_D_Q_P2_2D_EvalAll(TCollection *Coll, TBaseCell *Cell, double *PointValues,
33  double *Functionals)
34 {
35  static double weights[9]={ 0.308641975308642, 0.308641975308642,
36  0.308641975308642, 0.308641975308642,
37  0.493827160493827, 0.493827160493827,
38  0.493827160493827, 0.493827160493827,
39  0.790123456790123 };
40  Functionals[0] = weights[0]*PointValues[0]
41  +weights[1]*PointValues[1]
42  +weights[2]*PointValues[2]
43  +weights[3]*PointValues[3]
44  +weights[4]*PointValues[4]
45  +weights[5]*PointValues[5]
46  +weights[6]*PointValues[6]
47  +weights[7]*PointValues[7]
48  +weights[8]*PointValues[8];
49  Functionals[1] = weights[0]*PointValues[0]*NF_D_Q_P2_2D_Xi[0]
50  +weights[1]*PointValues[1]*NF_D_Q_P2_2D_Xi[1]
51  +weights[2]*PointValues[2]*NF_D_Q_P2_2D_Xi[2]
52  +weights[3]*PointValues[3]*NF_D_Q_P2_2D_Xi[3]
53  +weights[4]*PointValues[4]*NF_D_Q_P2_2D_Xi[4]
54  +weights[5]*PointValues[5]*NF_D_Q_P2_2D_Xi[5]
55  +weights[6]*PointValues[6]*NF_D_Q_P2_2D_Xi[6]
56  +weights[7]*PointValues[7]*NF_D_Q_P2_2D_Xi[7]
57  +weights[8]*PointValues[8]*NF_D_Q_P2_2D_Xi[8];
58  Functionals[2] = weights[0]*PointValues[0]*NF_D_Q_P2_2D_Eta[0]
59  +weights[1]*PointValues[1]*NF_D_Q_P2_2D_Eta[1]
60  +weights[2]*PointValues[2]*NF_D_Q_P2_2D_Eta[2]
61  +weights[3]*PointValues[3]*NF_D_Q_P2_2D_Eta[3]
62  +weights[4]*PointValues[4]*NF_D_Q_P2_2D_Eta[4]
63  +weights[5]*PointValues[5]*NF_D_Q_P2_2D_Eta[5]
64  +weights[6]*PointValues[6]*NF_D_Q_P2_2D_Eta[6]
65  +weights[7]*PointValues[7]*NF_D_Q_P2_2D_Eta[7]
66  +weights[8]*PointValues[8]*NF_D_Q_P2_2D_Eta[8];
67  Functionals[3] = weights[0]*PointValues[0]*NF_D_Q_P2_2D_3Xi2_1[0]
68  +weights[1]*PointValues[1]*NF_D_Q_P2_2D_3Xi2_1[1]
69  +weights[2]*PointValues[2]*NF_D_Q_P2_2D_3Xi2_1[2]
70  +weights[3]*PointValues[3]*NF_D_Q_P2_2D_3Xi2_1[3]
71  +weights[4]*PointValues[4]*NF_D_Q_P2_2D_3Xi2_1[4]
72  +weights[5]*PointValues[5]*NF_D_Q_P2_2D_3Xi2_1[5]
73  +weights[6]*PointValues[6]*NF_D_Q_P2_2D_3Xi2_1[6]
74  +weights[7]*PointValues[7]*NF_D_Q_P2_2D_3Xi2_1[7]
75  +weights[8]*PointValues[8]*NF_D_Q_P2_2D_3Xi2_1[8];
76  Functionals[4] = weights[0]*PointValues[0]*NF_D_Q_P2_2D_XiEta[0]
77  +weights[1]*PointValues[1]*NF_D_Q_P2_2D_XiEta[1]
78  +weights[2]*PointValues[2]*NF_D_Q_P2_2D_XiEta[2]
79  +weights[3]*PointValues[3]*NF_D_Q_P2_2D_XiEta[3]
80  +weights[4]*PointValues[4]*NF_D_Q_P2_2D_XiEta[4]
81  +weights[5]*PointValues[5]*NF_D_Q_P2_2D_XiEta[5]
82  +weights[6]*PointValues[6]*NF_D_Q_P2_2D_XiEta[6]
83  +weights[7]*PointValues[7]*NF_D_Q_P2_2D_XiEta[7]
84  +weights[8]*PointValues[8]*NF_D_Q_P2_2D_XiEta[8];
85  Functionals[5] = weights[0]*PointValues[0]*NF_D_Q_P2_2D_3Eta2_1[0]
86  +weights[1]*PointValues[1]*NF_D_Q_P2_2D_3Eta2_1[1]
87  +weights[2]*PointValues[2]*NF_D_Q_P2_2D_3Eta2_1[2]
88  +weights[3]*PointValues[3]*NF_D_Q_P2_2D_3Eta2_1[3]
89  +weights[4]*PointValues[4]*NF_D_Q_P2_2D_3Eta2_1[4]
90  +weights[5]*PointValues[5]*NF_D_Q_P2_2D_3Eta2_1[5]
91  +weights[6]*PointValues[6]*NF_D_Q_P2_2D_3Eta2_1[6]
92  +weights[7]*PointValues[7]*NF_D_Q_P2_2D_3Eta2_1[7]
93  +weights[8]*PointValues[8]*NF_D_Q_P2_2D_3Eta2_1[8];
94 
95  Functionals[0] *= 0.25;
96  Functionals[1] *= 0.25;
97  Functionals[2] *= 0.25;
98  Functionals[3] *= 0.25;
99  Functionals[4] *= 0.25;
100  Functionals[5] *= 0.25;
101 }
102 
103 void NF_D_Q_P2_2D_EvalEdge(TCollection *Coll, TBaseCell *Cell, int Joint, double *PointValues,
104  double *Functionals)
105 {
106 }
107 
108 /*
109  TNodalFunctional2D(NodalFunctional2D id,
110  int n_allfunctionals, int n_edgefunctionals,
111  int n_pointsall, int n_pointsedge,
112  double *xi, double *eta, double *t,
113  DoubleFunctVect *evalall,
114  DoubleFunctVect *evaledge);
115 */
116 
117 TNodalFunctional2D *NF_D_Q_P2_2D_Obj = new TNodalFunctional2D
118  (NF_D_Q_P2_2D, 6, 0, 9, 0, NF_D_Q_P2_2D_Xi, NF_D_Q_P2_2D_Eta,
119  NF_D_Q_P2_2D_t, NF_D_Q_P2_2D_EvalAll, NULL);
120 
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