89 static double N_T_BDM2_2D_CM[144] = {
90 0,-0,0,-0,-0,0,-0.089316398,0.33333333,-1.2440169,0,0,-0,
91 -1.2440169,0.33333333,-0.089316398,0,-0,-0,-0,0,-0,-0,-0,0,
92 -0.19017083,0.84126984,0.63461527,-0.025213607,-0.87301587,0.46965805,-0.49273412,2.3650794,6.2705119,9.1428571,2.2857143,-0.57142857,
93 3.8213672,-5.3333333,1.5119661,-0,0,0,0,-0,0,0,0,-0,
94 0.27948722,-1.1746032,0.60940166,1.2692305,0.53968254,-0.38034165,0.58205051,-2.6984127,-5.026495,-9.1428571,-2.2857143,0.57142857,
95 -2.6666667,5.3333333,-2.6666667,0,-0,-0,-0,0,-0,-0,-0,0,
96 -0,-0,-0,-0,0,-0,1.5119661,-5.3333333,3.8213672,-0,-0,0,
97 2.5132475,0.20634921,-0.29102526,0.67136691,-3.031746,-3.782478,-1.1431625,3.8253968,-1.9679486,-2.2857143,-0.57142857,9.1428571,
98 0,0,0,0,-0,0,-2.6666667,5.3333333,-2.6666667,0,0,-0,
99 -1.2692305,-0.53968254,0.38034165,-0.58205051,2.6984127,5.026495,2.3871794,-4.1587302,2.057265,2.2857143,0.57142857,-9.1428571,
100 0.86153774,-3.8730159,-4.4170933,-1.1179489,4.6984127,-2.4376067,-0.81538561,3.1746032,-8.0735033,-9.7142857,-11.428571,2.8571429,
101 -4.5179477,7.4920635,2.7401699,-0.86153774,3.8730159,4.4170933,1.1179489,-4.6984127,2.4376067,2.8571429,9.7142857,-11.428571
121 static void N_T_BDM2_2D_Funct(
double xi,
double eta,
double *values)
125 double mon_x[12]={1, 0, xi, 0, xi*xi, 0, eta, 0, eta*eta, 0, xi*eta, 0};
126 double mon_y[12]={0, 1, 0, xi, 0, xi*xi, 0, eta, 0, eta*eta, 0, xi*eta};
128 memset(values, 0.0, 2*nBF*SizeOfDouble);
129 for(
int i=0; i<nBF; i++)
131 for(
int j=0; j<nBF; j++)
133 values[i ] += N_T_BDM2_2D_CM[i+j*nBF]*mon_x[j];
134 values[i+nBF] += N_T_BDM2_2D_CM[i+j*nBF]*mon_y[j];
140 static void N_T_BDM2_2D_DeriveXi(
double xi,
double eta,
double *values)
144 double mon_x[12]={0, 0 , 1, 0, 2*xi, 0, 0, 0, 0, 0, eta, 0};
145 double mon_y[12]={0, 0, 0 , 1, 0, 2*xi, 0, 0, 0, 0, 0, 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_T_BDM2_2D_CM[i+j*nBF]*mon_x[j];
153 values[i+nBF] += N_T_BDM2_2D_CM[i+j*nBF]*mon_y[j];
159 static void N_T_BDM2_2D_DeriveEta(
double xi,
double eta,
double *values)
163 double mon_x[12]={0, 0, 0, 0, 0, 0, 1, 0, 2*eta, 0, xi, 0};
164 double mon_y[12]={0, 0, 0, 0, 0, 0, 0, 1, 0, 2*eta, 0, xi};
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_T_BDM2_2D_CM[i+j*nBF]*mon_x[j];
172 values[i+nBF] += N_T_BDM2_2D_CM[i+j*nBF]*mon_y[j];
178 static void N_T_BDM2_2D_DeriveXiXi(
double xi,
double eta,
double *values)
182 double mon_x[12]={0, 0 , 0, 0, 2, 0, 0, 0, 0, 0, 0, 0};
183 double mon_y[12]={0, 0, 0 , 0, 0, 2, 0, 0, 0, 0, 0, 0};
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_T_BDM2_2D_CM[i+j*nBF]*mon_x[j];
191 values[i+nBF] += N_T_BDM2_2D_CM[i+j*nBF]*mon_y[j];
197 static void N_T_BDM2_2D_DeriveEtaEta(
double xi,
double eta,
double *values)
201 double mon_x[12]={0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0};
202 double mon_y[12]={0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 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_T_BDM2_2D_CM[i+j*nBF]*mon_x[j];
210 values[i+nBF] += N_T_BDM2_2D_CM[i+j*nBF]*mon_y[j];
216 static void N_T_BDM2_2D_DeriveXiEta(
double xi,
double eta,
double *values)
220 double mon_x[12]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0};
221 double mon_y[12]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1};
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_T_BDM2_2D_CM[i+j*nBF]*mon_x[j];
229 values[i+nBF] += N_T_BDM2_2D_CM[i+j*nBF]*mon_y[j];
237 (12, BF_N_T_BDM2_2D, BFUnitTriangle,
238 N_T_BDM2_2D_Funct, N_T_BDM2_2D_DeriveXi,
239 N_T_BDM2_2D_DeriveEta, N_T_BDM2_2D_DeriveXiXi,
240 N_T_BDM2_2D_DeriveXiEta, N_T_BDM2_2D_DeriveEtaEta, 2, 2,
Definition: BaseFunct2D.h:27