ParMooN
 All Classes Functions Variables Friends Pages
NF_C_Q_UL3_2D.h
1 static double NF_C_Q_UL3_2D_Xi[] = {
2 -1., -.3333333333333333333333333, .3333333333333333333333333, 1., 1., 1., 1.,
3 .3333333333333333333333333, -.3333333333333333333333333, -1., -1., -1., -.8611363115940525752239466,
4 -.3399810435848562648026657, .3399810435848562648026657, .8611363115940525752239466,
5 -.8611363115940525752239466, -.3399810435848562648026657, .3399810435848562648026657,
6 .8611363115940525752239466, -.8611363115940525752239466, -.3399810435848562648026657,
7 .3399810435848562648026657, .8611363115940525752239466, -.8611363115940525752239466,
8 -.3399810435848562648026657, .3399810435848562648026657, .8611363115940525752239466
9 };
10 
11 static double NF_C_Q_UL3_2D_Eta[] = {
12 -1., -1., -1., -1., -.3333333333333333333333333, .3333333333333333333333333, 1., 1., 1., 1.,
13 .3333333333333333333333333, -.3333333333333333333333333, -.8611363115940525752239466,
14 -.8611363115940525752239466, -.8611363115940525752239466, -.8611363115940525752239466,
15 -.3399810435848562648026657, -.3399810435848562648026657, -.3399810435848562648026657,
16 -.3399810435848562648026657, .3399810435848562648026657, .3399810435848562648026657,
17 .3399810435848562648026657, .3399810435848562648026657, .8611363115940525752239466,
18 .8611363115940525752239466, .8611363115940525752239466, .8611363115940525752239466
19 };
20 
21 static double NF_C_Q_UL3_2D_T[] = { -1, -0.33333333333333333333,
22  0.33333333333333333333, 1 };
23 
24 static double NF_C_Q_UL3_2D_W12[] = {
25 .1210029932856020055212120, .2268518518518518518518517, .2268518518518518518518520,
26 .1210029932856020055212121, .2268518518518518518518517, .4252933030106942907750839,
27 .4252933030106942907750845, .2268518518518518518518518, .2268518518518518518518520,
28 .4252933030106942907750845, .4252933030106942907750852, .2268518518518518518518521,
29 .1210029932856020055212121, .2268518518518518518518518, .2268518518518518518518521,
30 .1210029932856020055212121
31 };
32 
33 static double NF_C_Q_UL3_2D_W13[] = {
34 -.1042000713298032202198559, -.1953503669819841490091359, -.1953503669819841490091362,
35 -.1042000713298032202198560, -0.7712532933174980081171578e-1, -.1445916609872263377762813,
36 -.1445916609872263377762815, -0.7712532933174980081171581e-1, 0.7712532933174980081171588e-1,
37 .1445916609872263377762815, .1445916609872263377762817, 0.7712532933174980081171591e-1,
38 .1042000713298032202198560, .1953503669819841490091360, .1953503669819841490091362,
39 .1042000713298032202198560
40 };
41 
42 static double NF_C_Q_UL3_2D_W14[] = {
43 -.1042000713298032202198559, -0.7712532933174980081171578e-1, 0.7712532933174980081171588e-1,
44 .1042000713298032202198560, -.1953503669819841490091359, -.1445916609872263377762813,
45 .1445916609872263377762815, .1953503669819841490091360, -.1953503669819841490091362,
46 -.1445916609872263377762815, .1445916609872263377762817, .1953503669819841490091362,
47 -.1042000713298032202198560, -0.7712532933174980081171581e-1, 0.7712532933174980081171591e-1,
48 .1042000713298032202198560
49 };
50 
51 static double NF_C_Q_UL3_2D_W15[] = {
52 0.8973046509278393012803587e-1, 0.6641542163121961915050669e-1,
53 -0.6641542163121961915050678e-1, -0.8973046509278393012803594e-1, 0.6641542163121961915050669e-1,
54 0.4915842379610495876085292e-1, -0.4915842379610495876085299e-1, -0.6641542163121961915050672e-1,
55 -0.6641542163121961915050678e-1, -0.4915842379610495876085299e-1, 0.4915842379610495876085307e-1,
56 0.6641542163121961915050681e-1, -0.8973046509278393012803594e-1, -0.6641542163121961915050672e-1,
57 0.6641542163121961915050681e-1, 0.8973046509278393012803594e-1
58 };
59 
60 static double NF_C_Q_UL3_2D_W16[] = {
61 0.7409420099637489243144783e-1, .1389090158111897072462627, .1389090158111897072462628,
62 0.7409420099637489243144789e-1, -0.7409420099637489243144779e-1, -.1389090158111897072462626,
63 -.1389090158111897072462628, -0.7409420099637489243144782e-1, -0.7409420099637489243144789e-1,
64 -.1389090158111897072462628, -.1389090158111897072462630, -0.7409420099637489243144792e-1,
65 0.7409420099637489243144789e-1, .1389090158111897072462627, .1389090158111897072462629,
66 0.7409420099637489243144789e-1
67 };
68 
69 static double NF_C_Q_UL3_2D_W17[] = {
70 0.7409420099637489243144783e-1, -0.7409420099637489243144779e-1,
71 -0.7409420099637489243144789e-1, 0.7409420099637489243144789e-1, .1389090158111897072462627,
72 -.1389090158111897072462626, -.1389090158111897072462628, .1389090158111897072462627,
73 .1389090158111897072462628, -.1389090158111897072462628, -.1389090158111897072462630,
74 .1389090158111897072462629, 0.7409420099637489243144789e-1, -0.7409420099637489243144782e-1,
75 -0.7409420099637489243144792e-1, 0.7409420099637489243144789e-1
76 };
77 
78 void NF_C_Q_UL3_2D_EvalAll(TCollection *Coll, TBaseCell *Cell, double *PointValues,
79  double *Functionals)
80 {
81  Functionals[0] = PointValues[0];
82  Functionals[1] = PointValues[1];
83  Functionals[2] = PointValues[2];
84  Functionals[3] = PointValues[3];
85  Functionals[4] = PointValues[4];
86  Functionals[5] = PointValues[5];
87  Functionals[6] = PointValues[6];
88  Functionals[7] = PointValues[7];
89  Functionals[8] = PointValues[8];
90  Functionals[9] = PointValues[9];
91  Functionals[10] = PointValues[10];
92  Functionals[11] = PointValues[11];
93  Functionals[12] = NF_C_Q_UL3_2D_W12[0]*PointValues[12]
94  +NF_C_Q_UL3_2D_W12[1]*PointValues[13]
95  +NF_C_Q_UL3_2D_W12[2]*PointValues[14]
96  +NF_C_Q_UL3_2D_W12[3]*PointValues[15]
97  +NF_C_Q_UL3_2D_W12[4]*PointValues[16]
98  +NF_C_Q_UL3_2D_W12[5]*PointValues[17]
99  +NF_C_Q_UL3_2D_W12[6]*PointValues[18]
100  +NF_C_Q_UL3_2D_W12[7]*PointValues[19]
101  +NF_C_Q_UL3_2D_W12[8]*PointValues[20]
102  +NF_C_Q_UL3_2D_W12[9]*PointValues[21]
103  +NF_C_Q_UL3_2D_W12[10]*PointValues[22]
104  +NF_C_Q_UL3_2D_W12[11]*PointValues[23]
105  +NF_C_Q_UL3_2D_W12[12]*PointValues[24]
106  +NF_C_Q_UL3_2D_W12[13]*PointValues[25]
107  +NF_C_Q_UL3_2D_W12[14]*PointValues[26]
108  +NF_C_Q_UL3_2D_W12[15]*PointValues[27];
109  Functionals[13] = NF_C_Q_UL3_2D_W13[0]*PointValues[12]
110  +NF_C_Q_UL3_2D_W13[1]*PointValues[13]
111  +NF_C_Q_UL3_2D_W13[2]*PointValues[14]
112  +NF_C_Q_UL3_2D_W13[3]*PointValues[15]
113  +NF_C_Q_UL3_2D_W13[4]*PointValues[16]
114  +NF_C_Q_UL3_2D_W13[5]*PointValues[17]
115  +NF_C_Q_UL3_2D_W13[6]*PointValues[18]
116  +NF_C_Q_UL3_2D_W13[7]*PointValues[19]
117  +NF_C_Q_UL3_2D_W13[8]*PointValues[20]
118  +NF_C_Q_UL3_2D_W13[9]*PointValues[21]
119  +NF_C_Q_UL3_2D_W13[10]*PointValues[22]
120  +NF_C_Q_UL3_2D_W13[11]*PointValues[23]
121  +NF_C_Q_UL3_2D_W13[12]*PointValues[24]
122  +NF_C_Q_UL3_2D_W13[13]*PointValues[25]
123  +NF_C_Q_UL3_2D_W13[14]*PointValues[26]
124  +NF_C_Q_UL3_2D_W13[15]*PointValues[27];
125  Functionals[14] = NF_C_Q_UL3_2D_W14[0]*PointValues[12]
126  +NF_C_Q_UL3_2D_W14[1]*PointValues[13]
127  +NF_C_Q_UL3_2D_W14[2]*PointValues[14]
128  +NF_C_Q_UL3_2D_W14[3]*PointValues[15]
129  +NF_C_Q_UL3_2D_W14[4]*PointValues[16]
130  +NF_C_Q_UL3_2D_W14[5]*PointValues[17]
131  +NF_C_Q_UL3_2D_W14[6]*PointValues[18]
132  +NF_C_Q_UL3_2D_W14[7]*PointValues[19]
133  +NF_C_Q_UL3_2D_W14[8]*PointValues[20]
134  +NF_C_Q_UL3_2D_W14[9]*PointValues[21]
135  +NF_C_Q_UL3_2D_W14[10]*PointValues[22]
136  +NF_C_Q_UL3_2D_W14[11]*PointValues[23]
137  +NF_C_Q_UL3_2D_W14[12]*PointValues[24]
138  +NF_C_Q_UL3_2D_W14[13]*PointValues[25]
139  +NF_C_Q_UL3_2D_W14[14]*PointValues[26]
140  +NF_C_Q_UL3_2D_W14[15]*PointValues[27];
141  Functionals[15] = NF_C_Q_UL3_2D_W15[0]*PointValues[12]
142  +NF_C_Q_UL3_2D_W15[1]*PointValues[13]
143  +NF_C_Q_UL3_2D_W15[2]*PointValues[14]
144  +NF_C_Q_UL3_2D_W15[3]*PointValues[15]
145  +NF_C_Q_UL3_2D_W15[4]*PointValues[16]
146  +NF_C_Q_UL3_2D_W15[5]*PointValues[17]
147  +NF_C_Q_UL3_2D_W15[6]*PointValues[18]
148  +NF_C_Q_UL3_2D_W15[7]*PointValues[19]
149  +NF_C_Q_UL3_2D_W15[8]*PointValues[20]
150  +NF_C_Q_UL3_2D_W15[9]*PointValues[21]
151  +NF_C_Q_UL3_2D_W15[10]*PointValues[22]
152  +NF_C_Q_UL3_2D_W15[11]*PointValues[23]
153  +NF_C_Q_UL3_2D_W15[12]*PointValues[24]
154  +NF_C_Q_UL3_2D_W15[13]*PointValues[25]
155  +NF_C_Q_UL3_2D_W15[14]*PointValues[26]
156  +NF_C_Q_UL3_2D_W15[15]*PointValues[27];
157  Functionals[16] = NF_C_Q_UL3_2D_W16[0]*PointValues[12]
158  +NF_C_Q_UL3_2D_W16[1]*PointValues[13]
159  +NF_C_Q_UL3_2D_W16[2]*PointValues[14]
160  +NF_C_Q_UL3_2D_W16[3]*PointValues[15]
161  +NF_C_Q_UL3_2D_W16[4]*PointValues[16]
162  +NF_C_Q_UL3_2D_W16[5]*PointValues[17]
163  +NF_C_Q_UL3_2D_W16[6]*PointValues[18]
164  +NF_C_Q_UL3_2D_W16[7]*PointValues[19]
165  +NF_C_Q_UL3_2D_W16[8]*PointValues[20]
166  +NF_C_Q_UL3_2D_W16[9]*PointValues[21]
167  +NF_C_Q_UL3_2D_W16[10]*PointValues[22]
168  +NF_C_Q_UL3_2D_W16[11]*PointValues[23]
169  +NF_C_Q_UL3_2D_W16[12]*PointValues[24]
170  +NF_C_Q_UL3_2D_W16[13]*PointValues[25]
171  +NF_C_Q_UL3_2D_W16[14]*PointValues[26]
172  +NF_C_Q_UL3_2D_W16[15]*PointValues[27];
173  Functionals[17] = NF_C_Q_UL3_2D_W17[0]*PointValues[12]
174  +NF_C_Q_UL3_2D_W17[1]*PointValues[13]
175  +NF_C_Q_UL3_2D_W17[2]*PointValues[14]
176  +NF_C_Q_UL3_2D_W17[3]*PointValues[15]
177  +NF_C_Q_UL3_2D_W17[4]*PointValues[16]
178  +NF_C_Q_UL3_2D_W17[5]*PointValues[17]
179  +NF_C_Q_UL3_2D_W17[6]*PointValues[18]
180  +NF_C_Q_UL3_2D_W17[7]*PointValues[19]
181  +NF_C_Q_UL3_2D_W17[8]*PointValues[20]
182  +NF_C_Q_UL3_2D_W17[9]*PointValues[21]
183  +NF_C_Q_UL3_2D_W17[10]*PointValues[22]
184  +NF_C_Q_UL3_2D_W17[11]*PointValues[23]
185  +NF_C_Q_UL3_2D_W17[12]*PointValues[24]
186  +NF_C_Q_UL3_2D_W17[13]*PointValues[25]
187  +NF_C_Q_UL3_2D_W17[14]*PointValues[26]
188  +NF_C_Q_UL3_2D_W17[15]*PointValues[27];
189 }
190 
191 void NF_C_Q_UL3_2D_EvalEdge(TCollection *Coll, TBaseCell *Cell, int Joint, double *PointValues,
192  double *Functionals)
193 {
194  memcpy(Functionals, PointValues, 4*SizeOfDouble);
195 }
196 
197 /*
198  TNodalFunctional2D(NodalFunctional2D id,
199  int n_allfunctionals, int n_edgefunctionals,
200  int n_pointsall, int n_pointsedge,
201  double *xi, double *eta, double *t,
202  DoubleFunctVect *evalall,
203  DoubleFunctVect *evaledge);
204 */
205 
206 TNodalFunctional2D *NF_C_Q_UL3_2D_Obj = new TNodalFunctional2D
207  (NF_C_Q_UL3_2D, 18, 4, 28, 4, NF_C_Q_UL3_2D_Xi, NF_C_Q_UL3_2D_Eta,
208  NF_C_Q_UL3_2D_T, NF_C_Q_UL3_2D_EvalAll, NF_C_Q_UL3_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