ParMooN
 All Classes Functions Variables Friends Pages
NF_C_Q_UL2_2D.h
1 static double NF_C_Q_UL2_2D_Xi[] = {
2 -1, 0, 1, 1, 1, 0, -1, -1, -.7745966692414833770358530, 0., .7745966692414833770358530,
3 -.7745966692414833770358530, 0., .7745966692414833770358530, -.7745966692414833770358530, 0.,
4 .7745966692414833770358530
5 };
6 static double NF_C_Q_UL2_2D_Eta[] = {
7 -1, -1, -1, 0, 1, 1, 1, 0, -.7745966692414833770358530, -.7745966692414833770358530,
8 -.7745966692414833770358530, 0., 0., 0., .7745966692414833770358530, .7745966692414833770358530,
9 .7745966692414833770358530
10 };
11 static double NF_C_Q_UL2_2D_T[] = { -1, 0, 1 };
12 
13 static double NF_C_Q_UL2_2D_W8[] = {
14 .3086419753086419753086424, .4938271604938271604938270, .3086419753086419753086424,
15 .4938271604938271604938270, .7901234567901234567901219, .4938271604938271604938270,
16 .3086419753086419753086424, .4938271604938271604938270, .3086419753086419753086424
17 };
18 
19 static double NF_C_Q_UL2_2D_W9[] = {
20 -.2390730460621862274802019, -.3825168736994979639683223, -.2390730460621862274802019, 0., 0.,
21 0., .2390730460621862274802019, .3825168736994979639683223, .2390730460621862274802019
22 };
23 
24 static double NF_C_Q_UL2_2D_W10[] = {
25 -.2390730460621862274802019, 0., .2390730460621862274802019, -.3825168736994979639683223, 0.,
26 .3825168736994979639683223, -.2390730460621862274802019, 0., .2390730460621862274802019
27 };
28 
29 void NF_C_Q_UL2_2D_EvalAll(TCollection *Coll, TBaseCell *Cell, double *PointValues,
30  double *Functionals)
31 {
32  Functionals[0] = PointValues[0];
33  Functionals[1] = PointValues[1];
34  Functionals[2] = PointValues[2];
35  Functionals[3] = PointValues[3];
36  Functionals[4] = PointValues[4];
37  Functionals[5] = PointValues[5];
38  Functionals[6] = PointValues[6];
39  Functionals[7] = PointValues[7];
40 
41  Functionals[8] = NF_C_Q_UL2_2D_W8[0]*PointValues[ 8]
42  +NF_C_Q_UL2_2D_W8[1]*PointValues[ 9]
43  +NF_C_Q_UL2_2D_W8[2]*PointValues[10]
44  +NF_C_Q_UL2_2D_W8[3]*PointValues[11]
45  +NF_C_Q_UL2_2D_W8[4]*PointValues[12]
46  +NF_C_Q_UL2_2D_W8[5]*PointValues[13]
47  +NF_C_Q_UL2_2D_W8[6]*PointValues[14]
48  +NF_C_Q_UL2_2D_W8[7]*PointValues[15]
49  +NF_C_Q_UL2_2D_W8[8]*PointValues[16];
50 
51  Functionals[9] = NF_C_Q_UL2_2D_W9[0]*PointValues[ 8]
52  +NF_C_Q_UL2_2D_W9[1]*PointValues[ 9]
53  +NF_C_Q_UL2_2D_W9[2]*PointValues[10]
54  +NF_C_Q_UL2_2D_W9[3]*PointValues[11]
55  +NF_C_Q_UL2_2D_W9[4]*PointValues[12]
56  +NF_C_Q_UL2_2D_W9[5]*PointValues[13]
57  +NF_C_Q_UL2_2D_W9[6]*PointValues[14]
58  +NF_C_Q_UL2_2D_W9[7]*PointValues[15]
59  +NF_C_Q_UL2_2D_W9[8]*PointValues[16];
60 
61  Functionals[10] = NF_C_Q_UL2_2D_W10[0]*PointValues[ 8]
62  +NF_C_Q_UL2_2D_W10[1]*PointValues[ 9]
63  +NF_C_Q_UL2_2D_W10[2]*PointValues[10]
64  +NF_C_Q_UL2_2D_W10[3]*PointValues[11]
65  +NF_C_Q_UL2_2D_W10[4]*PointValues[12]
66  +NF_C_Q_UL2_2D_W10[5]*PointValues[13]
67  +NF_C_Q_UL2_2D_W10[6]*PointValues[14]
68  +NF_C_Q_UL2_2D_W10[7]*PointValues[15]
69  +NF_C_Q_UL2_2D_W10[8]*PointValues[16];
70 }
71 
72 void NF_C_Q_UL2_2D_EvalEdge(TCollection *Coll, TBaseCell *Cell, int Joint, double *PointValues,
73  double *Functionals)
74 {
75  Functionals[0] = PointValues[0];
76  Functionals[1] = PointValues[1];
77  Functionals[2] = PointValues[2];
78 }
79 
80 /*
81  TNodalFunctional2D(NodalFunctional2D id,
82  int n_allfunctionals, int n_edgefunctionals,
83  int n_pointsall, int n_pointsedge,
84  double *xi, double *eta, double *t,
85  DoubleFunctVect *evalall,
86  DoubleFunctVect *evaledge);
87 */
88 
89 TNodalFunctional2D *NF_C_Q_UL2_2D_Obj = new TNodalFunctional2D
90  (NF_C_Q_UL2_2D, 11, 3, 17, 3, NF_C_Q_UL2_2D_Xi, NF_C_Q_UL2_2D_Eta,
91  NF_C_Q_UL2_2D_T, NF_C_Q_UL2_2D_EvalAll, NF_C_Q_UL2_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