23 #define VERDICT_EXPORTS
74 double dndy1_at_gauss_pts[],
75 double dndy2_at_gauss_pts[],
76 double gauss_weight[] )
94 double dndy1_at_gauss_pts[],
95 double dndy2_at_gauss_pts[],
96 double dndy3_at_gauss_pts[],
97 double gauss_weight[] )
183 shapeFunction[ife][0] = 0.25 * ( 1 - y1 ) * ( 1 - y2 ) * ( -y1 - y2 - 1 );
184 shapeFunction[ife][1] = 0.25 * ( 1 + y1 ) * ( 1 - y2 ) * ( y1 - y2 - 1 );
185 shapeFunction[ife][2] = 0.25 * ( 1 + y1 ) * ( 1 + y2 ) * ( y1 + y2 - 1 );
186 shapeFunction[ife][3] = 0.25 * ( 1 - y1 ) * ( 1 + y2 ) * ( -y1 + y2 - 1 );
192 dndy1GaussPts[ife][0] = 0.25 * ( 1 - y2 ) * ( 2.0 * y1 + y2 );
193 dndy1GaussPts[ife][1] = 0.25 * ( 1 - y2 ) * ( 2.0 * y1 - y2 );
194 dndy1GaussPts[ife][2] = 0.25 * ( 1 + y2 ) * ( 2.0 * y1 + y2 );
195 dndy1GaussPts[ife][3] = 0.25 * ( 1 + y2 ) * ( 2.0 * y1 - y2 );
202 dndy2GaussPts[ife][0] = 0.25 * ( 1 - y1 ) * ( 2.0 * y2 + y1 );
203 dndy2GaussPts[ife][1] = 0.25 * ( 1 + y1 ) * ( 2.0 * y2 - y1 );
204 dndy2GaussPts[ife][2] = 0.25 * ( 1 + y1 ) * ( 2.0 * y2 + y1 );
205 dndy2GaussPts[ife][3] = 0.25 * ( 1 - y1 ) * ( 2.0 * y2 - y1 );
222 int ife = 0, i, j, k, node_id;
223 double y1, y2, y3, sign_node_y1, sign_node_y2, sign_node_y3;
224 double y1_term, y2_term, y3_term, y123_temp;
241 for( node_id = 0; node_id <
numberNodes; node_id++ )
245 y1_term = 1 + sign_node_y1 * y1;
246 y2_term = 1 + sign_node_y2 * y2;
247 y3_term = 1 + sign_node_y3 * y3;
249 shapeFunction[ife][node_id] = 0.125 * y1_term * y2_term * y3_term;
250 dndy1GaussPts[ife][node_id] = 0.125 * sign_node_y1 * y2_term * y3_term;
251 dndy2GaussPts[ife][node_id] = 0.125 * sign_node_y2 * y1_term * y3_term;
252 dndy3GaussPts[ife][node_id] = 0.125 * sign_node_y3 * y1_term * y2_term;
271 for( node_id = 0; node_id <
numberNodes; node_id++ )
275 y1_term = 1 + sign_node_y1 * y1;
276 y2_term = 1 + sign_node_y2 * y2;
277 y3_term = 1 + sign_node_y3 * y3;
278 y123_temp = sign_node_y1 * y1 + sign_node_y2 * y2 + sign_node_y3 * y3 - 2.;
290 shapeFunction[ife][node_id] = 0.125 * y1_term * y2_term * y3_term * y123_temp;
291 dndy1GaussPts[ife][node_id] = 0.125 * sign_node_y1 * y123_temp * y2_term * y3_term +
292 0.125 * y1_term * y2_term * y3_term * sign_node_y1;
293 dndy2GaussPts[ife][node_id] = 0.125 * sign_node_y2 * y1_term * y3_term * y123_temp +
294 0.125 * y1_term * y2_term * y3_term * sign_node_y2;
295 dndy3GaussPts[ife][node_id] = 0.125 * sign_node_y3 * y1_term * y2_term * y123_temp +
296 0.125 * y1_term * y2_term * y3_term * sign_node_y3;
303 shapeFunction[ife][node_id] = 0.25 * ( 1 - y1 * y1 ) * y2_term * y3_term;
305 dndy2GaussPts[ife][node_id] = 0.25 * ( 1 - y1 * y1 ) * sign_node_y2 * y3_term;
306 dndy3GaussPts[ife][node_id] = 0.25 * ( 1 - y1 * y1 ) * y2_term * sign_node_y3;
313 shapeFunction[ife][node_id] = 0.25 * ( 1 - y2 * y2 ) * y1_term * y3_term;
314 dndy1GaussPts[ife][node_id] = 0.25 * ( 1 - y2 * y2 ) * sign_node_y1 * y3_term;
316 dndy3GaussPts[ife][node_id] = 0.25 * ( 1 - y2 * y2 ) * y1_term * sign_node_y3;
323 shapeFunction[ife][node_id] = 0.25 * ( 1 - y3 * y3 ) * y1_term * y2_term;
324 dndy1GaussPts[ife][node_id] = 0.25 * ( 1 - y3 * y3 ) * sign_node_y1 * y2_term;
325 dndy2GaussPts[ife][node_id] = 0.25 * ( 1 - y3 * y3 ) * y1_term * sign_node_y2;
343 double y1 = 0., y2 = 0.;
393 dndy1_at_nodes[i][0] = -0.25 * ( 1 - y2 );
394 dndy1_at_nodes[i][1] = 0.25 * ( 1 - y2 );
395 dndy1_at_nodes[i][2] = 0.25 * ( 1 + y2 );
396 dndy1_at_nodes[i][3] = -0.25 * ( 1 + y2 );
399 dndy2_at_nodes[i][0] = -0.25 * ( 1 - y1 );
400 dndy2_at_nodes[i][1] = -0.25 * ( 1 + y1 );
401 dndy2_at_nodes[i][2] = 0.25 * ( 1 + y1 );
402 dndy2_at_nodes[i][3] = 0.25 * ( 1 - y1 );
407 dndy1_at_nodes[i][0] = 0.25 * ( 1 - y2 ) * ( 2.0 * y1 + y2 );
408 dndy1_at_nodes[i][1] = 0.25 * ( 1 - y2 ) * ( 2.0 * y1 - y2 );
409 dndy1_at_nodes[i][2] = 0.25 * ( 1 + y2 ) * ( 2.0 * y1 + y2 );
410 dndy1_at_nodes[i][3] = 0.25 * ( 1 + y2 ) * ( 2.0 * y1 - y2 );
412 dndy1_at_nodes[i][4] = -y1 * ( 1 - y2 );
413 dndy1_at_nodes[i][5] = 0.5 * ( 1 - y2 * y2 );
414 dndy1_at_nodes[i][6] = -y1 * ( 1 + y2 );
415 dndy1_at_nodes[i][7] = -0.5 * ( 1 - y2 * y2 );
417 dndy2_at_nodes[i][0] = 0.25 * ( 1 - y1 ) * ( 2.0 * y2 + y1 );
418 dndy2_at_nodes[i][1] = 0.25 * ( 1 + y1 ) * ( 2.0 * y2 - y1 );
419 dndy2_at_nodes[i][2] = 0.25 * ( 1 + y1 ) * ( 2.0 * y2 + y1 );
420 dndy2_at_nodes[i][3] = 0.25 * ( 1 - y1 ) * ( 2.0 * y2 - y1 );
422 dndy2_at_nodes[i][4] = -0.5 * ( 1 - y1 * y1 );
423 dndy2_at_nodes[i][5] = -y2 * ( 1 + y1 );
424 dndy2_at_nodes[i][6] = 0.5 * ( 1 - y1 * y1 );
425 dndy2_at_nodes[i][7] = -y2 * ( 1 - y1 );
435 double y1, y2, y3, sign_node_y1, sign_node_y2, sign_node_y3;
436 double y1_term, y2_term, y3_term, y123_temp;
437 int node_id, node_id_2;
438 for( node_id = 0; node_id <
numberNodes; node_id++ )
445 for( node_id_2 = 0; node_id_2 <
numberNodes; node_id_2++ )
448 y1_term = 1 + sign_node_y1 * y1;
449 y2_term = 1 + sign_node_y2 * y2;
450 y3_term = 1 + sign_node_y3 * y3;
452 dndy1_at_nodes[node_id][node_id_2] = 0.125 * sign_node_y1 * y2_term * y3_term;
454 dndy2_at_nodes[node_id][node_id_2] = 0.125 * sign_node_y2 * y1_term * y3_term;
456 dndy3_at_nodes[node_id][node_id_2] = 0.125 * sign_node_y3 * y1_term * y2_term;
460 for( node_id_2 = 0; node_id_2 <
numberNodes; node_id_2++ )
464 y1_term = 1 + sign_node_y1 * y1;
465 y2_term = 1 + sign_node_y2 * y2;
466 y3_term = 1 + sign_node_y3 * y3;
467 y123_temp = sign_node_y1 * y1 + sign_node_y2 * y2 + sign_node_y3 * y3 - 2.;
478 dndy1_at_nodes[node_id][node_id_2] = 0.125 * sign_node_y1 * y2_term * y3_term * y123_temp +
479 0.125 * y1_term * y2_term * y3_term * sign_node_y1;
480 dndy2_at_nodes[node_id][node_id_2] = 0.125 * sign_node_y2 * y1_term * y3_term * y123_temp +
481 0.125 * y1_term * y2_term * y3_term * sign_node_y2;
482 dndy3_at_nodes[node_id][node_id_2] = 0.125 * sign_node_y3 * y1_term * y2_term * y123_temp +
483 0.125 * y1_term * y2_term * y3_term * sign_node_y3;
490 dndy1_at_nodes[node_id][node_id_2] = -0.5 * y1 * y2_term * y3_term;
491 dndy2_at_nodes[node_id][node_id_2] = 0.25 * ( 1 - y1 * y1 ) * sign_node_y2 * y3_term;
492 dndy3_at_nodes[node_id][node_id_2] = 0.25 * ( 1 - y1 * y1 ) * y2_term * sign_node_y3;
499 dndy1_at_nodes[node_id][node_id_2] = 0.25 * ( 1 - y2 * y2 ) * sign_node_y1 * y3_term;
500 dndy2_at_nodes[node_id][node_id_2] = -0.5 * y2 * y1_term * y3_term;
501 dndy3_at_nodes[node_id][node_id_2] = 0.25 * ( 1 - y2 * y2 ) * y1_term * sign_node_y3;
508 dndy1_at_nodes[node_id][node_id_2] = 0.25 * ( 1 - y3 * y3 ) * sign_node_y1 * y2_term;
509 dndy2_at_nodes[node_id][node_id_2] = 0.25 * ( 1 - y3 * y3 ) * y1_term * sign_node_y2;
510 dndy3_at_nodes[node_id][node_id_2] = -0.5 * y3 * y1_term * y2_term;
521 double& sign_node_y1,
522 double& sign_node_y2,
523 double& sign_node_y3 )
656 for( i = 0; i < 3; i++ )
660 for( i = 3; i < 6; i++ )
709 double y1 = 0., y2 = 0., y3;
743 dndy1_at_nodes[i][0] = 4 * y1 - 1.;
744 dndy1_at_nodes[i][1] = 0;
745 dndy1_at_nodes[i][2] = 1 - 4. * y3;
747 dndy1_at_nodes[i][3] = 4. * y2;
748 dndy1_at_nodes[i][4] = -4. * y2;
749 dndy1_at_nodes[i][5] = 4. * ( 1 - 2 * y1 - y2 );
751 dndy2_at_nodes[i][0] = 0.0;
752 dndy2_at_nodes[i][1] = 4. * y2 - 1.;
753 dndy2_at_nodes[i][2] = 1 - 4. * y3;
755 dndy2_at_nodes[i][3] = 4. * y1;
756 dndy2_at_nodes[i][4] = 4. * ( 1 - y1 - 2. * y2 );
757 dndy2_at_nodes[i][5] = -4. * y1;
801 for( i = 0; i < 4; i++ )
812 double y1, y2, y3, y4;
919 double y1, y2, y3, y4;
929 dndy1_at_nodes[i][0] = 1 - 4 * y4;
930 dndy1_at_nodes[i][1] = 4 * y1 - 1.;
931 dndy1_at_nodes[i][2] = 0;
932 dndy1_at_nodes[i][3] = 0;
934 dndy1_at_nodes[i][4] = 4. * ( y4 - y1 );
935 dndy1_at_nodes[i][5] = 4. * y2;
936 dndy1_at_nodes[i][6] = -4. * y2;
937 dndy1_at_nodes[i][7] = -4. * y3;
938 dndy1_at_nodes[i][8] = 4. * y3;
939 dndy1_at_nodes[i][9] = 0;
941 dndy2_at_nodes[i][0] = 1 - 4 * y4;
942 dndy2_at_nodes[i][1] = 0;
943 dndy2_at_nodes[i][2] = 4. * y2 - 1.;
944 dndy2_at_nodes[i][3] = 0;
945 dndy2_at_nodes[i][4] = -4. * y1;
946 dndy2_at_nodes[i][5] = 4. * y1;
947 dndy2_at_nodes[i][6] = 4. * ( y4 - y2 );
948 dndy2_at_nodes[i][7] = -4. * y3;
949 dndy2_at_nodes[i][8] = 0.;
950 dndy2_at_nodes[i][9] = 4. * y3;
952 dndy3_at_nodes[i][0] = 1 - 4 * y4;
953 dndy3_at_nodes[i][1] = 0;
954 dndy3_at_nodes[i][2] = 0;
955 dndy3_at_nodes[i][3] = 4. * y3 - 1.;
957 dndy3_at_nodes[i][4] = -4. * y1;
958 dndy3_at_nodes[i][5] = 0;
959 dndy3_at_nodes[i][6] = -4. * y2;
960 dndy3_at_nodes[i][7] = 4. * ( y4 - y3 );
961 dndy3_at_nodes[i][8] = 4. * y1;
962 dndy3_at_nodes[i][9] = 4. * y2;
970 dndy1_at_nodes[i][0] = -1.;
971 dndy1_at_nodes[i][1] = 1;
972 dndy1_at_nodes[i][2] = 0;
973 dndy1_at_nodes[i][3] = 0;
975 dndy2_at_nodes[i][0] = -1.;
976 dndy2_at_nodes[i][1] = 0;
977 dndy2_at_nodes[i][2] = 1;
978 dndy2_at_nodes[i][3] = 0;
980 dndy3_at_nodes[i][0] = -1.;
981 dndy3_at_nodes[i][1] = 0;
982 dndy3_at_nodes[i][2] = 0;
983 dndy3_at_nodes[i][3] = 1;