121 static double N_Q_BDM2_2D_CM[196] = {
122 -0,0,-0,-0.083333333,0.041666667,-0.083333333,-0,0,-0,0.083333333,-0.041666667,0.083333333,0.375,-0,
123 0.083333333,-0.041666667,0.083333333,-0,0,-0,-0.083333333,0.041666667,-0.083333333,-0,0,-0,0,0.375,
124 0.055555556,-0.11111111,0.055555556,0,0.25,0,0.055555556,-0.11111111,0.055555556,0,0.25,0,0,-0,
125 0.14433757,0,-0.14433757,0,0,0,0.14433757,-0,-0.14433757,0,0,0,0,-0,
126 0,0,0,0.083333333,0.20833333,0.083333333,0,0,0,-0.083333333,-0.20833333,-0.083333333,-0.375,0,
127 -0.16666667,0.33333333,-0.16666667,0,0,0,0.16666667,-0.33333333,0.16666667,0,0,0,0,-0,
128 0,-0,0,-0.14433757,0,0.14433757,0,0,0,-0.14433757,0,0.14433757,0,0,
129 0,0.25,0,0.055555556,-0.11111111,0.055555556,0,0.25,0,0.055555556,-0.11111111,0.055555556,0,0,
130 0,-0,0,0.16666667,-0.33333333,0.16666667,0,0,0,-0.16666667,0.33333333,-0.16666667,0,0,
131 -0.083333333,-0.20833333,-0.083333333,0,0,0,0.083333333,0.20833333,0.083333333,0,0,0,0,-0.375,
132 0,-0,0,-0.14433757,0,0.14433757,0,0,0,0.14433757,0,-0.14433757,0,0,
133 -0.14433757,0,0.14433757,0,0,0,0.14433757,-0,-0.14433757,0,0,0,0,0,
134 -0.055555556,0.11111111,-0.055555556,0,0,0,-0.055555556,0.11111111,-0.055555556,0,0,0,0,0,
135 0,0,0,0.055555556,-0.11111111,0.055555556,0,0,0,0.055555556,-0.11111111,0.055555556,0,0
140 static void N_Q_BDM2_2D_Funct(
double xi,
double eta,
double *values)
144 double mon_x[14]={1,0,xi, 0,xi*xi, 0,eta, 0,eta*eta, 0,xi*eta, 0, xi*xi*xi,3*xi*eta*eta};
145 double mon_y[14]={0,1, 0,xi, 0,xi*xi, 0,eta, 0,eta*eta, 0,xi*eta,-3*xi*xi*eta,-eta*eta*eta};
147 memset(values, 0.0, 2*nBF*SizeOfDouble);
148 for(
int i=0; i<nBF; i++)
150 for(
int j=0; j<nBF; j++)
152 values[i ] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_x[j];
153 values[i+nBF] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_y[j];
159 static void N_Q_BDM2_2D_DeriveXi(
double xi,
double eta,
double *values)
163 double mon_x[14]={0,0,1,0,2*xi, 0,0,0,0,0,eta, 0, 3*xi*xi,3*eta*eta};
164 double mon_y[14]={0,0,0,1, 0,2*xi,0,0,0,0, 0,eta,-6*xi*eta,0 };
166 memset(values, 0.0, 2*nBF*SizeOfDouble);
167 for(
int i=0; i<nBF; i++)
169 for(
int j=0; j<nBF; j++)
171 values[i ] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_x[j];
172 values[i+nBF] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_y[j];
178 static void N_Q_BDM2_2D_DeriveEta(
double xi,
double eta,
double *values)
182 double mon_x[14]={0,0,0,0,0,0,1,0,2*eta, 0,xi, 0, 0,6*xi*eta};
183 double mon_y[14]={0,0,0,0,0,0,0,1, 0,2*eta, 0,xi,-3*xi*xi,-3*eta*eta};
185 memset(values, 0.0, 2*nBF*SizeOfDouble);
186 for(
int i=0; i<nBF; i++)
188 for(
int j=0; j<nBF; j++)
190 values[i ] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_x[j];
191 values[i+nBF] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_y[j];
197 static void N_Q_BDM2_2D_DeriveXiXi(
double xi,
double eta,
double *values)
201 double mon_x[14]={0,0,0,0,2,0,0,0,0,0,0,0, 6*xi,0};
202 double mon_y[14]={0,0,0,0,0,2,0,0,0,0,0,0-6*eta,0};
204 memset(values, 0.0, 2*nBF*SizeOfDouble);
205 for(
int i=0; i<nBF; i++)
207 for(
int j=0; j<nBF; j++)
209 values[i ] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_x[j];
210 values[i+nBF] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_y[j];
216 static void N_Q_BDM2_2D_DeriveEtaEta(
double xi,
double eta,
double *values)
220 double mon_x[14]={0,0,0,0,0,0,0,0,2,0,0,0,0,6*xi};
221 double mon_y[14]={0,0,0,0,0,0,0,0,0,2,0,0,0,-6*eta};
223 memset(values, 0.0, 2*nBF*SizeOfDouble);
224 for(
int i=0; i<nBF; i++)
226 for(
int j=0; j<nBF; j++)
228 values[i ] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_x[j];
229 values[i+nBF] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_y[j];
235 static void N_Q_BDM2_2D_DeriveXiEta(
double xi,
double eta,
double *values)
239 double mon_x[14]={0,0,0,0,0,0,0,0,0,0,1,0, 0,6*eta};
240 double mon_y[14]={0,0,0,0,0,0,0,0,0,0,0,1,-6*xi, 0};
242 memset(values, 0.0, 2*nBF*SizeOfDouble);
243 for(
int i=0; i<nBF; i++)
245 for(
int j=0; j<nBF; j++)
247 values[i ] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_x[j];
248 values[i+nBF] += N_Q_BDM2_2D_CM[i+j*nBF]*mon_y[j];
257 (14, BF_N_Q_BDM2_2D, BFUnitSquare,
258 N_Q_BDM2_2D_Funct, N_Q_BDM2_2D_DeriveXi,
259 N_Q_BDM2_2D_DeriveEta, N_Q_BDM2_2D_DeriveXiXi,
260 N_Q_BDM2_2D_DeriveXiEta, N_Q_BDM2_2D_DeriveEtaEta, 3, 3,
Definition: BaseFunct2D.h:27