6 static void C_Q_Q4_2D_Funct(
double xi,
double eta,
double *values)
9 double xi0 = 0.666666666666666666667*xi*xi*xi*xi-0.666666666666666666667*xi*xi*xi - 0.166666666666666666667*xi*xi+0.166666666666666666667*xi;
10 double xi1 = -2.66666666666666666667*xi*xi*xi*xi+1.33333333333333333333*xi*xi*xi+2.66666666666666666667*xi*xi-1.33333333333333333333*xi;
11 double xi2 = 4.0*xi*xi*xi*xi-5.0*xi*xi+1.0;
12 double xi3 = -2.66666666666666666667*xi*xi*xi*xi-1.33333333333333333333*xi*xi*xi+2.666666666666667*xi*xi+1.33333333333333333333*xi;
13 double xi4 = 0.666666666666666666667*xi*xi*xi*xi+0.666666666666666666667*xi*xi*xi-0.166666666666666666667*xi*xi-0.166666666666666666667*xi;
14 double eta0 = 0.666666666666666666667*eta*eta*eta*eta-0.666666666666666666667*eta*eta*eta-0.166666666666666666667*eta*eta+0.166666666666666666667*eta;
15 double eta1 = -2.66666666666666666667*eta*eta*eta*eta+1.33333333333333333333*eta*eta*eta+2.66666666666666666667*eta*eta-1.33333333333333333333*eta;
16 double eta2 = 4.0*eta*eta*eta*eta-5.0*eta*eta+1.0;
17 double eta3 = -2.66666666666666666667*eta*eta*eta*eta-1.33333333333333333333*eta*eta*eta+2.66666666666666666667*eta*eta+1.33333333333333333333*eta;
18 double eta4 = 0.666666666666666666667*eta*eta*eta*eta+0.666666666666666666667*eta*eta*eta-0.166666666666666666667*eta*eta-0.166666666666666666667*eta;
30 values[10] = xi0*eta2;
31 values[11] = xi1*eta2;
32 values[12] = xi2*eta2;
33 values[13] = xi3*eta2;
34 values[14] = xi4*eta2;
35 values[15] = xi0*eta3;
36 values[16] = xi1*eta3;
37 values[17] = xi2*eta3;
38 values[18] = xi3*eta3;
39 values[19] = xi4*eta3;
40 values[20] = xi0*eta4;
41 values[21] = xi1*eta4;
42 values[22] = xi2*eta4;
43 values[23] = xi3*eta4;
44 values[24] = xi4*eta4;
49 static void C_Q_Q4_2D_DeriveXi(
double xi,
double eta,
double *values)
52 double xi0 = 2.666666666666666666667*xi*xi*xi-2*xi*xi-0.333333333333333333333*xi+0.1666666666666666666667;
53 double xi1 = -10.66666666666666666667*xi*xi*xi+4*xi*xi+5.33333333333333333333*xi-1.33333333333333333333;
54 double xi2 = 16.0*xi*xi*xi-10.0*xi;
55 double xi3 = -10.66666666666666666667*xi*xi*xi-4*xi*xi+5.33333333333333333333*xi+1.33333333333333333333;
56 double xi4 = 2.666666666666666666667*xi*xi*xi+2*xi*xi-0.333333333333333333333*xi-0.1666666666666666666667;
57 double eta0 = 0.666666666666666666667*eta*eta*eta*eta-0.6666666666666667*eta*eta*eta-0.166666666666666666667*eta*eta+0.166666666666666666667*eta;
58 double eta1 = -2.66666666666666666667*eta*eta*eta*eta+1.33333333333333333333*eta*eta*eta+2.66666666666666666667*eta*eta-1.33333333333333333333*eta;
59 double eta2 = 4.0*eta*eta*eta*eta-5.0*eta*eta+1.0;
60 double eta3 = -2.66666666666666666667*eta*eta*eta*eta-1.33333333333333333333*eta*eta*eta+2.66666666666666666667*eta*eta+1.33333333333333333333*eta;
61 double eta4 = 0.666666666666666666667*eta*eta*eta*eta+0.666666666666666666667*eta*eta*eta-0.166666666666666666667*eta*eta-0.166666666666666666667*eta;
73 values[10] = xi0*eta2;
74 values[11] = xi1*eta2;
75 values[12] = xi2*eta2;
76 values[13] = xi3*eta2;
77 values[14] = xi4*eta2;
78 values[15] = xi0*eta3;
79 values[16] = xi1*eta3;
80 values[17] = xi2*eta3;
81 values[18] = xi3*eta3;
82 values[19] = xi4*eta3;
83 values[20] = xi0*eta4;
84 values[21] = xi1*eta4;
85 values[22] = xi2*eta4;
86 values[23] = xi3*eta4;
87 values[24] = xi4*eta4;
91 static void C_Q_Q4_2D_DeriveEta(
double xi,
double eta,
double *values)
94 double xi0 = 0.666666666666666666667*xi*xi*xi*xi-0.666666666666666666667*xi*xi*xi-0.166666666666666666667*xi*xi+0.166666666666666666667*xi;
95 double xi1 = -2.66666666666666666667*xi*xi*xi*xi+1.33333333333333333333*xi*xi*xi+2.666666666666667*xi*xi-1.33333333333333333333*xi;
96 double xi2 = 4.0*xi*xi*xi*xi-5.0*xi*xi+1.0;
97 double xi3 = -2.66666666666666666667*xi*xi*xi*xi-1.33333333333333333333*xi*xi*xi+2.66666666666666666667*xi*xi+1.33333333333333333333*xi;
98 double xi4 = 0.666666666666666666667*xi*xi*xi*xi+0.6666666666666666666667*xi*xi*xi-0.166666666666666666667*xi*xi-0.1666666666666666666667*xi;
99 double eta0 = 2.666666666666666666667*eta*eta*eta-2*eta*eta-0.333333333333333333333*eta+0.1666666666666666666667;
100 double eta1 = -10.6666666666666666667*eta*eta*eta+4*eta*eta+5.33333333333333333333*eta-1.33333333333333333333;
101 double eta2 = 16.0*eta*eta*eta-10.0*eta;
102 double eta3 = -10.66666666666666666667*eta*eta*eta-4*eta*eta+5.33333333333333333333*eta+1.33333333333333333333;
103 double eta4 = 2.66666666666666666667*eta*eta*eta+2*eta*eta-0.333333333333333333333*eta-0.166666666666666666667;
105 values[0] = xi0*eta0;
106 values[1] = xi1*eta0;
107 values[2] = xi2*eta0;
108 values[3] = xi3*eta0;
109 values[4] = xi4*eta0;
110 values[5] = xi0*eta1;
111 values[6] = xi1*eta1;
112 values[7] = xi2*eta1;
113 values[8] = xi3*eta1;
114 values[9] = xi4*eta1;
115 values[10] = xi0*eta2;
116 values[11] = xi1*eta2;
117 values[12] = xi2*eta2;
118 values[13] = xi3*eta2;
119 values[14] = xi4*eta2;
120 values[15] = xi0*eta3;
121 values[16] = xi1*eta3;
122 values[17] = xi2*eta3;
123 values[18] = xi3*eta3;
124 values[19] = xi4*eta3;
125 values[20] = xi0*eta4;
126 values[21] = xi1*eta4;
127 values[22] = xi2*eta4;
128 values[23] = xi3*eta4;
129 values[24] = xi4*eta4;
132 static void C_Q_Q4_2D_DeriveXiXi(
double xi,
double eta,
double *values)
135 double xi0 = 8*xi*xi-4*xi-0.333333333333333333333;
136 double xi1 = -32*xi*xi+8*xi+5.33333333333333333333;
137 double xi2 = 48.0*xi*xi-10.0;
138 double xi3 = -32*xi*xi-8*xi+5.33333333333333333333;
139 double xi4 = 8*xi*xi+4*xi-0.333333333333333333333;
140 double eta0 = 0.6666666666666666666667*eta*eta*eta*eta-0.666666666666666666667*eta*eta*eta-0.166666666666666666667*eta*eta+0.166666666666666666667*eta;
141 double eta1 = -2.66666666666666666667*eta*eta*eta*eta+1.33333333333333333333*eta*eta*eta+2.66666666666666666667*eta*eta-1.33333333333333333333*eta;
142 double eta2 = 4.0*eta*eta*eta*eta-5.0*eta*eta+1.0;
143 double eta3 = -2.66666666666666666667*eta*eta*eta*eta-1.33333333333333333333*eta*eta*eta+2.66666666666666666667*eta*eta+1.33333333333333333333*eta;
144 double eta4 = 0.666666666666666666667*eta*eta*eta*eta+0.666666666666666666667*eta*eta*eta-0.166666666666666666667*eta*eta-0.166666666666666666667*eta;
146 values[0] = xi0*eta0;
147 values[1] = xi1*eta0;
148 values[2] = xi2*eta0;
149 values[3] = xi3*eta0;
150 values[4] = xi4*eta0;
151 values[5] = xi0*eta1;
152 values[6] = xi1*eta1;
153 values[7] = xi2*eta1;
154 values[8] = xi3*eta1;
155 values[9] = xi4*eta1;
156 values[10] = xi0*eta2;
157 values[11] = xi1*eta2;
158 values[12] = xi2*eta2;
159 values[13] = xi3*eta2;
160 values[14] = xi4*eta2;
161 values[15] = xi0*eta3;
162 values[16] = xi1*eta3;
163 values[17] = xi2*eta3;
164 values[18] = xi3*eta3;
165 values[19] = xi4*eta3;
166 values[20] = xi0*eta4;
167 values[21] = xi1*eta4;
168 values[22] = xi2*eta4;
169 values[23] = xi3*eta4;
170 values[24] = xi4*eta4;
173 static void C_Q_Q4_2D_DeriveXiEta(
double xi,
double eta,
double *values)
176 double xi0 = 2.666666666666666666667*xi*xi*xi-2*xi*xi-0.333333333333333333333*xi+0.166666666666666666667;
177 double xi1 = -10.6666666666666666667*xi*xi*xi+4*xi*xi+5.33333333333333333333*xi-1.33333333333333333333;
178 double xi2 = 16.0*xi*xi*xi-10.0*xi;
179 double xi3 = -10.6666666666666666667*xi*xi*xi-4*xi*xi+5.33333333333333333333*xi+1.33333333333333333333;
180 double xi4 = 2.66666666666666666667*xi*xi*xi+2*xi*xi-0.333333333333333333333*xi-0.166666666666666666667;
181 double eta0 = 2.66666666666666666667*eta*eta*eta-2*eta*eta-0.333333333333333333333*eta+0.166666666666666666667;
182 double eta1 = -10.6666666666666666667*eta*eta*eta+4*eta*eta+5.33333333333333333333*eta-1.33333333333333333333;
183 double eta2 = 16.0*eta*eta*eta-10.0*eta;
184 double eta3 = -10.6666666666666666667*eta*eta*eta-4*eta*eta+5.33333333333333333333*eta+1.33333333333333333333;
185 double eta4 = 2.66666666666666666667*eta*eta*eta+2*eta*eta-0.333333333333333333333*eta-0.166666666666666666667;
187 values[0] = xi0*eta0;
188 values[1] = xi1*eta0;
189 values[2] = xi2*eta0;
190 values[3] = xi3*eta0;
191 values[4] = xi4*eta0;
192 values[5] = xi0*eta1;
193 values[6] = xi1*eta1;
194 values[7] = xi2*eta1;
195 values[8] = xi3*eta1;
196 values[9] = xi4*eta1;
197 values[10] = xi0*eta2;
198 values[11] = xi1*eta2;
199 values[12] = xi2*eta2;
200 values[13] = xi3*eta2;
201 values[14] = xi4*eta2;
202 values[15] = xi0*eta3;
203 values[16] = xi1*eta3;
204 values[17] = xi2*eta3;
205 values[18] = xi3*eta3;
206 values[19] = xi4*eta3;
207 values[20] = xi0*eta4;
208 values[21] = xi1*eta4;
209 values[22] = xi2*eta4;
210 values[23] = xi3*eta4;
211 values[24] = xi4*eta4;
215 static void C_Q_Q4_2D_DeriveEtaEta(
double xi,
double eta,
double *values)
218 double xi0 = 0.666666666666666666667*xi*xi*xi*xi-0.666666666666666666667*xi*xi*xi-0.166666666666666666667*xi*xi+0.166666666666666666667*xi;
219 double xi1 = -2.66666666666666666667*xi*xi*xi*xi+1.33333333333333333333*xi*xi*xi+2.66666666666666666667*xi*xi-1.33333333333333333333*xi;
220 double xi2 = 4.0*xi*xi*xi*xi-5.0*xi*xi+1.0;
221 double xi3 = -2.666666666666666666667*xi*xi*xi*xi-1.33333333333333333333*xi*xi*xi+2.66666666666666666667*xi*xi+1.33333333333333333333*xi;
222 double xi4 = 0.6666666666666667*xi*xi*xi*xi+0.6666666666666666666667*xi*xi*xi-0.1666666666666666666667*xi*xi-0.166666666666666666667*xi;
223 double eta0 = 8*eta*eta-4*eta-0.333333333333333333333;
224 double eta1 = -32*eta*eta+8*eta+5.33333333333333333333;
225 double eta2 = 48.0*eta*eta-10.0;
226 double eta3 = -32*eta*eta-8*eta+5.33333333333333333333;
227 double eta4 = 8*eta*eta+4*eta-0.333333333333333333333;
229 values[0] = xi0*eta0;
230 values[1] = xi1*eta0;
231 values[2] = xi2*eta0;
232 values[3] = xi3*eta0;
233 values[4] = xi4*eta0;
234 values[5] = xi0*eta1;
235 values[6] = xi1*eta1;
236 values[7] = xi2*eta1;
237 values[8] = xi3*eta1;
238 values[9] = xi4*eta1;
239 values[10] = xi0*eta2;
240 values[11] = xi1*eta2;
241 values[12] = xi2*eta2;
242 values[13] = xi3*eta2;
243 values[14] = xi4*eta2;
244 values[15] = xi0*eta3;
245 values[16] = xi1*eta3;
246 values[17] = xi2*eta3;
247 values[18] = xi3*eta3;
248 values[19] = xi4*eta3;
249 values[20] = xi0*eta4;
250 values[21] = xi1*eta4;
251 values[22] = xi2*eta4;
252 values[23] = xi3*eta4;
253 values[24] = xi4*eta4;
260 (25, BF_C_Q_Q4_2D, BFUnitSquare,
261 C_Q_Q4_2D_Funct, C_Q_Q4_2D_DeriveXi,
262 C_Q_Q4_2D_DeriveEta, C_Q_Q4_2D_DeriveXiXi,
263 C_Q_Q4_2D_DeriveXiEta, C_Q_Q4_2D_DeriveEtaEta, 4, 4,
Definition: BaseFunct2D.h:27