Generic mesh construction function: contains all the hard work.
Generic mesh construction. This function contains all the details of the mesh generation process, including all the tedious loops, counting spacing and boundary functions.
43 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(3);
45 if ((
Nx == 1) || (
Ny == 1) || (
Nz == 1))
47 std::ostringstream error_message;
48 error_message <<
"SimpleCubicMesh needs at least two elements in each,\n"
49 <<
"coordinate direction. You have specified \n"
50 <<
"Nx=" <<
Nx <<
"; Ny=" <<
Ny <<
"; Nz=" <<
Nz
62 unsigned element_num = 0;
69 Node_pt.resize((1 + (n_p - 1) *
Nx) * (1 + (n_p - 1) *
Ny) *
70 (1 + (n_p - 1) *
Nz));
75 unsigned long node_count = 0;
78 double el_length[3] = {(
Xmax -
Xmin) /
double(
Nx),
83 Vector<double> s_fraction;
99 unsigned local_node_num = 0;
122 for (
unsigned l2 = 1; l2 < n_p; l2++)
140 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
152 for (
unsigned l1 = 1; l1 < n_p; l1++)
155 local_node_num = l1 * n_p;
172 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
182 for (
unsigned l2 = 1; l2 < n_p; l2++)
185 local_node_num = l1 * n_p + l2;
200 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
201 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
215 for (
unsigned l3 = 1; l3 < n_p; l3++)
218 local_node_num = n_p * n_p * l3;
235 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
244 for (
unsigned l2 = 1; l2 < n_p; l2++)
247 local_node_num = l2 + n_p * n_p * l3;
262 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
264 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
273 for (
unsigned l1 = 1; l1 < n_p; l1++)
276 local_node_num = l1 * n_p + n_p * n_p * l3;
292 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
293 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
301 for (
unsigned l2 = 1; l2 < n_p; l2++)
304 local_node_num = l2 + l1 * n_p + n_p * n_p * l3;
319 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
320 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
321 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
338 for (
unsigned j = 1;
j < (
Nx - 1);
j++)
353 for (
unsigned l2 = 1; l2 < n_p; l2++)
371 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
383 for (
unsigned l1 = 1; l1 < n_p; l1++)
390 for (
unsigned l2 = 1; l2 < n_p; l2++)
393 local_node_num = l2 + l1 * n_p;
408 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
409 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
420 for (
unsigned l3 = 1; l3 < n_p; l3++)
427 for (
unsigned l2 = 1; l2 < n_p; l2++)
430 local_node_num = l2 + l3 * n_p * n_p;
445 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
447 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
456 for (
unsigned l1 = 1; l1 < n_p; l1++)
464 for (
unsigned l2 = 1; l2 < n_p; l2++)
467 local_node_num = l2 + l1 * n_p + l3 * n_p * n_p;
483 Xmin + el_length[0] * (
j + s_fraction[0]);
484 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
485 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
500 element_num =
Nx - 1;
512 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
531 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
544 local_node_num = n_p - 1;
571 for (
unsigned l1 = 1; l1 < n_p; l1++)
578 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
581 local_node_num = l2 + l1 * n_p;
597 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
598 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
609 local_node_num = l1 * n_p + (n_p - 1);
625 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
636 for (
unsigned l3 = 1; l3 < n_p; l3++)
643 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
646 local_node_num = l2 + l3 * n_p * n_p;
662 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
664 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
674 local_node_num = n_p - 1 + l3 * n_p * n_p;
691 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
700 for (
unsigned l1 = 1; l1 < n_p; l1++)
705 ->
node_pt(l1 * n_p + (n_p - 1) + l3 * n_p * n_p);
708 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
711 local_node_num = l2 + l1 * n_p + l3 * n_p * n_p;
727 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
728 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
729 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
739 local_node_num = l1 * n_p + (n_p - 1) + l3 * n_p * n_p;
754 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
755 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
769 for (
unsigned i = 1;
i < (
Ny - 1);
i++)
774 element_num =
Nx *
i;
778 for (
unsigned l2 = 0; l2 < n_p; l2++)
785 for (
unsigned l1 = 1; l1 < n_p; l1++)
789 local_node_num = l1 * n_p;
805 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
815 for (
unsigned l2 = 1; l2 < n_p; l2++)
818 local_node_num = l2 + l1 * n_p;
834 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
835 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
846 for (
unsigned l3 = 1; l3 < n_p; l3++)
849 for (
unsigned l2 = 0; l2 < n_p; l2++)
853 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
857 for (
unsigned l1 = 1; l1 < n_p; l1++)
861 local_node_num = l1 * n_p + l3 * n_p * n_p;
877 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
878 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
887 for (
unsigned l2 = 1; l2 < n_p; l2++)
890 local_node_num = l2 + l1 * n_p + n_p * n_p * l3;
905 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
907 Ymin + el_length[1] * (
i + s_fraction[1]);
908 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
919 for (
unsigned j = 1;
j < (
Nx - 1);
j++)
922 element_num =
Nx *
i +
j;
926 for (
unsigned l2 = 0; l2 < n_p; l2++)
932 for (
unsigned l1 = 1; l1 < n_p; l1++)
939 for (
unsigned l2 = 1; l2 < n_p; l2++)
942 local_node_num = l1 * n_p + l2;
958 Xmin + el_length[0] * (
j + s_fraction[0]);
960 Ymin + el_length[1] * (
i + s_fraction[1]);
971 for (
unsigned l3 = 1; l3 < n_p; l3++)
975 for (
unsigned l2 = 0; l2 < n_p; l2++)
979 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
982 for (
unsigned l1 = 1; l1 < n_p; l1++)
987 ->
node_pt(l1 * n_p + l3 * n_p * n_p + (n_p - 1));
990 for (
unsigned l2 = 1; l2 < n_p; l2++)
993 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
1009 Xmin + el_length[0] * (
j + s_fraction[0]);
1011 Ymin + el_length[1] * (
i + s_fraction[1]);
1012 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1028 element_num =
Nx *
i +
Nx - 1;
1033 for (
unsigned l2 = 0; l2 < n_p; l2++)
1039 for (
unsigned l1 = 1; l1 < n_p; l1++)
1046 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
1049 local_node_num = l1 * n_p + l2;
1065 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
1066 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
1079 local_node_num = l1 * n_p + (n_p - 1);
1096 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
1109 for (
unsigned l3 = 1; l3 < n_p; l3++)
1112 for (
unsigned l2 = 0; l2 < n_p; l2++)
1116 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
1119 for (
unsigned l1 = 1; l1 < n_p; l1++)
1124 ->
node_pt(l1 * n_p + (n_p - 1) + l3 * n_p * n_p);
1127 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
1130 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
1146 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
1148 Ymin + el_length[1] * (
i + s_fraction[1]);
1149 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1159 local_node_num = l1 * n_p + (n_p - 1) + l3 * n_p * n_p;
1175 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
1176 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1199 element_num =
Nx * (
Ny - 1);
1203 for (
unsigned l2 = 0; l2 < n_p; l2++)
1211 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
1214 local_node_num = n_p * l1;
1231 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1241 for (
unsigned l2 = 1; l2 < n_p; l2++)
1244 local_node_num = n_p * l1 + l2;
1259 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
1261 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1275 local_node_num = n_p * (n_p - 1);
1302 for (
unsigned l2 = 1; l2 < n_p; l2++)
1305 local_node_num = n_p * (n_p - 1) + l2;
1319 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
1331 for (
unsigned l3 = 1; l3 < n_p; l3++)
1334 for (
unsigned l2 = 0; l2 < n_p; l2++)
1338 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
1343 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
1346 local_node_num = n_p * l1 + l3 * n_p * n_p;
1363 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1364 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1372 for (
unsigned l2 = 1; l2 < n_p; l2++)
1375 local_node_num = n_p * l1 + l2 + l3 * n_p * n_p;
1390 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
1392 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1393 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1405 local_node_num = n_p * (n_p - 1) + l3 * n_p * n_p;
1421 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1431 for (
unsigned l2 = 1; l2 < n_p; l2++)
1433 local_node_num = n_p * (n_p - 1) + l2 + l3 * n_p * n_p;
1447 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
1449 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1463 for (
unsigned j = 1;
j < (
Nx - 1);
j++)
1466 element_num =
Nx * (
Ny - 1) +
j;
1469 for (
unsigned l2 = 0; l2 < n_p; l2++)
1476 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
1483 for (
unsigned l2 = 1; l2 < n_p; l2++)
1485 local_node_num = n_p * l1 + l2;
1500 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
1502 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1517 ->
node_pt(n_p * (n_p - 1) + (n_p - 1));
1519 for (
unsigned l2 = 1; l2 < n_p; l2++)
1521 local_node_num = n_p * (n_p - 1) + l2;
1535 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
1550 for (
unsigned l3 = 1; l3 < n_p; l3++)
1553 for (
unsigned l2 = 0; l2 < n_p; l2++)
1557 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
1561 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
1566 ->
node_pt(n_p * l1 + (n_p - 1) + l3 * n_p * n_p);
1569 for (
unsigned l2 = 1; l2 < n_p; l2++)
1571 local_node_num = n_p * l1 + l2 + l3 * n_p * n_p;
1587 Xmin + el_length[0] * (
j + s_fraction[0]);
1589 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1590 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1603 ->
node_pt(n_p * (n_p - 1) + l3 * n_p * n_p) =
1605 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) + l3 * n_p * n_p);
1607 for (
unsigned l2 = 1; l2 < n_p; l2++)
1609 local_node_num = n_p * (n_p - 1) + l2 + l3 * n_p * n_p;
1623 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
1625 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1642 element_num =
Nx * (
Ny - 1) +
Nx - 1;
1647 for (
unsigned l2 = 0; l2 < n_p; l2++)
1654 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
1661 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
1663 local_node_num = n_p * l1 + l2;
1678 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
1680 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1691 local_node_num = n_p * l1 + (n_p - 1);
1707 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1726 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
1728 local_node_num = n_p * (n_p - 1) + l2;
1743 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
1758 local_node_num = n_p * (n_p - 1) + (n_p - 1);
1786 for (
unsigned l3 = 1; l3 < n_p; l3++)
1789 for (
unsigned l2 = 0; l2 < n_p; l2++)
1793 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
1797 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
1802 ->
node_pt(n_p * l1 + (n_p - 1) + l3 * n_p * n_p);
1805 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
1808 local_node_num = n_p * l1 + l2 + l3 * n_p * n_p;
1823 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
1825 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1826 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1836 local_node_num = n_p * l1 + (n_p - 1) + l3 * n_p * n_p;
1852 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
1853 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1865 ->
node_pt(n_p * (n_p - 1) + l3 * n_p * n_p) =
1867 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) + l3 * n_p * n_p);
1870 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
1873 local_node_num = n_p * (n_p - 1) + l2 + l3 * n_p * n_p;
1888 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
1890 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1900 local_node_num = n_p * (n_p - 1) + (n_p - 1) + l3 * n_p * n_p;
1916 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * s_fraction[2];
1935 for (
unsigned k = 1;
k < (
Nz - 1);
k++)
1942 element_num =
k *
Nx *
Ny;
1946 for (
unsigned l1 = 0; l1 < n_p; l1++)
1948 for (
unsigned l2 = 0; l2 < n_p; l2++)
1952 ->
node_pt(l2 + n_p * l1 + n_p * n_p * (n_p - 1));
1959 for (
unsigned l3 = 1; l3 < n_p; l3++)
1963 local_node_num = n_p * n_p * l3;
1981 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
1991 for (
unsigned l2 = 1; l2 < n_p; l2++)
1994 local_node_num = l2 + n_p * n_p * l3;
2009 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
2011 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
2020 for (
unsigned l1 = 1; l1 < n_p; l1++)
2023 local_node_num = l1 * n_p + n_p * n_p * l3;
2039 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
2040 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
2048 for (
unsigned l2 = 1; l2 < n_p; l2++)
2051 local_node_num = l1 * n_p + l2 + n_p * n_p * l3;
2066 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
2067 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
2069 Zmin + el_length[2] * (
k + s_fraction[2]);
2087 for (
unsigned j = 1;
j < (
Nx - 1);
j++)
2090 element_num =
j +
k *
Nx *
Ny;
2094 for (
unsigned l1 = 0; l1 < n_p; l1++)
2096 for (
unsigned l2 = 0; l2 < n_p; l2++)
2100 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
2105 for (
unsigned l3 = 1; l3 < n_p; l3++)
2110 ->
node_pt(l3 * n_p * n_p + (n_p - 1));
2113 for (
unsigned l2 = 1; l2 < n_p; l2++)
2116 local_node_num = l2 + l3 * n_p * n_p;
2132 Xmin + el_length[0] * (
j + s_fraction[0]);
2135 Zmin + el_length[2] * (
k + s_fraction[2]);
2144 for (
unsigned l1 = 1; l1 < n_p; l1++)
2148 ->
node_pt(l1 * n_p + l3 * n_p * n_p) =
2150 ->
node_pt(l1 * n_p + (n_p - 1) + l3 * n_p * n_p);
2153 for (
unsigned l2 = 1; l2 < n_p; l2++)
2156 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
2172 Xmin + el_length[0] * (
j + s_fraction[0]);
2173 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
2175 Zmin + el_length[2] * (
k + s_fraction[2]);
2191 element_num =
Nx - 1 +
k *
Nx *
Ny;
2195 for (
unsigned l1 = 0; l1 < n_p; l1++)
2197 for (
unsigned l2 = 0; l2 < n_p; l2++)
2201 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
2207 for (
unsigned l3 = 1; l3 < n_p; l3++)
2212 ->
node_pt(l3 * n_p * n_p + (n_p - 1));
2215 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
2218 local_node_num = l2 + l3 * n_p * n_p;
2234 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
2236 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
2247 local_node_num = (n_p - 1) + l3 * n_p * n_p;
2264 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
2273 for (
unsigned l1 = 1; l1 < n_p; l1++)
2277 ->
node_pt(l1 * n_p + l3 * n_p * n_p) =
2279 ->
node_pt(l1 * n_p + (n_p - 1) + l3 * n_p * n_p);
2282 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
2285 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
2301 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
2302 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
2304 Zmin + el_length[2] * (
k + s_fraction[2]);
2314 local_node_num = l1 * n_p + (n_p - 1) + l3 * n_p * n_p;
2330 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
2331 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
2346 for (
unsigned i = 1;
i < (
Ny - 1);
i++)
2351 element_num =
Nx *
i +
Nx *
Ny *
k;
2355 for (
unsigned l1 = 0; l1 < n_p; l1++)
2357 for (
unsigned l2 = 0; l2 < n_p; l2++)
2361 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
2367 for (
unsigned l3 = 1; l3 < n_p; l3++)
2370 for (
unsigned l2 = 0; l2 < n_p; l2++)
2373 ->
node_pt(l2 + l3 * n_p * n_p) =
2375 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
2379 for (
unsigned l1 = 1; l1 < n_p; l1++)
2384 local_node_num = l1 * n_p + l3 * n_p * n_p;
2401 Ymin + el_length[1] * (
i + s_fraction[1]);
2403 Zmin + el_length[2] * (
k + s_fraction[2]);
2412 for (
unsigned l2 = 1; l2 < n_p; l2++)
2415 local_node_num = l1 * n_p + l2 + n_p * n_p * l3;
2430 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
2432 Ymin + el_length[1] * (
i + s_fraction[1]);
2434 Zmin + el_length[2] * (
k + s_fraction[2]);
2446 for (
unsigned j = 1;
j < (
Nx - 1);
j++)
2453 for (
unsigned l1 = 0; l1 < n_p; l1++)
2455 for (
unsigned l2 = 0; l2 < n_p; l2++)
2460 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
2466 for (
unsigned l3 = 1; l3 < n_p; l3++)
2470 for (
unsigned l2 = 0; l2 < n_p; l2++)
2473 ->
node_pt(l2 + l3 * n_p * n_p) =
2475 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
2478 for (
unsigned l1 = 1; l1 < n_p; l1++)
2482 ->
node_pt(l1 * n_p + l3 * n_p * n_p) =
2484 ->
node_pt(l1 * n_p + l3 * n_p * n_p + (n_p - 1));
2487 for (
unsigned l2 = 1; l2 < n_p; l2++)
2490 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
2506 Xmin + el_length[0] * (
j + s_fraction[0]);
2508 Ymin + el_length[1] * (
i + s_fraction[1]);
2510 Zmin + el_length[2] * (
k + s_fraction[2]);
2530 for (
unsigned l1 = 0; l1 < n_p; l1++)
2532 for (
unsigned l2 = 0; l2 < n_p; l2++)
2537 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
2543 for (
unsigned l3 = 1; l3 < n_p; l3++)
2546 for (
unsigned l2 = 0; l2 < n_p; l2++)
2549 ->
node_pt(l2 + l3 * n_p * n_p) =
2551 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
2554 for (
unsigned l1 = 1; l1 < n_p; l1++)
2558 ->
node_pt(l1 * n_p + l3 * n_p * n_p) =
2560 ->
node_pt(l1 * n_p + (n_p - 1) + l3 * n_p * n_p);
2563 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
2566 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
2582 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
2584 Ymin + el_length[1] * (
i + s_fraction[1]);
2586 Zmin + el_length[2] * (
k + s_fraction[2]);
2597 local_node_num = l1 * n_p + (n_p - 1) + l3 * n_p * n_p;
2614 Ymin + el_length[1] * (
i + s_fraction[1]);
2616 Zmin + el_length[2] * (
k + s_fraction[2]);
2640 element_num =
Nx * (
Ny - 1) +
k *
Nx *
Ny;
2644 for (
unsigned l1 = 0; l1 < n_p; l1++)
2646 for (
unsigned l2 = 0; l2 < n_p; l2++)
2651 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
2656 for (
unsigned l3 = 1; l3 < n_p; l3++)
2659 for (
unsigned l2 = 0; l2 < n_p; l2++)
2662 ->
node_pt(l2 + l3 * n_p * n_p) =
2664 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
2669 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
2672 local_node_num = n_p * l1 + l3 * n_p * n_p;
2689 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
2690 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
2699 for (
unsigned l2 = 1; l2 < n_p; l2++)
2702 local_node_num = n_p * l1 + l2 + l3 * n_p * n_p;
2717 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
2719 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
2721 Zmin + el_length[2] * (
k + s_fraction[2]);
2734 local_node_num = n_p * (n_p - 1) + l3 * n_p * n_p;
2750 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
2760 for (
unsigned l2 = 1; l2 < n_p; l2++)
2763 local_node_num = n_p * (n_p - 1) + l2 + l3 * n_p * n_p;
2777 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
2779 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
2791 for (
unsigned j = 1;
j < (
Nx - 1);
j++)
2794 element_num =
Nx * (
Ny - 1) +
j +
k *
Nx *
Ny;
2798 for (
unsigned l1 = 0; l1 < n_p; l1++)
2800 for (
unsigned l2 = 0; l2 < n_p; l2++)
2805 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
2811 for (
unsigned l3 = 1; l3 < n_p; l3++)
2814 for (
unsigned l2 = 0; l2 < n_p; l2++)
2817 ->
node_pt(l2 + l3 * n_p * n_p) =
2819 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
2823 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
2827 ->
node_pt(n_p * l1 + l3 * n_p * n_p) =
2829 ->
node_pt(n_p * l1 + (n_p - 1) + l3 * n_p * n_p);
2832 for (
unsigned l2 = 1; l2 < n_p; l2++)
2835 local_node_num = n_p * l1 + l2 + l3 * n_p * n_p;
2851 Xmin + el_length[0] * (
j + s_fraction[0]);
2853 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
2855 Zmin + el_length[2] * (
k + s_fraction[2]);
2868 ->
node_pt(n_p * (n_p - 1) + l3 * n_p * n_p) =
2870 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) + l3 * n_p * n_p);
2872 for (
unsigned l2 = 1; l2 < n_p; l2++)
2875 local_node_num = n_p * (n_p - 1) + l2 + l3 * n_p * n_p;
2890 Xmin + el_length[0] * (
j + s_fraction[0]);
2893 Zmin + el_length[2] * (
k + s_fraction[2]);
2910 element_num =
Nx * (
Ny - 1) +
Nx - 1 +
k *
Nx *
Ny;
2914 for (
unsigned l1 = 0; l1 < n_p; l1++)
2916 for (
unsigned l2 = 0; l2 < n_p; l2++)
2921 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
2928 for (
unsigned l3 = 1; l3 < n_p; l3++)
2931 for (
unsigned l2 = 0; l2 < n_p; l2++)
2934 ->
node_pt(l2 + l3 * n_p * n_p) =
2936 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
2940 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
2944 ->
node_pt(n_p * l1 + l3 * n_p * n_p) =
2946 ->
node_pt(n_p * l1 + (n_p - 1) + l3 * n_p * n_p);
2949 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
2952 local_node_num = n_p * l1 + l2 + l3 * n_p * n_p;
2967 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
2969 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
2971 Zmin + el_length[2] * (
k + s_fraction[2]);
2981 local_node_num = n_p * l1 + (n_p - 1) + l3 * n_p * n_p;
2997 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
2998 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
3011 ->
node_pt(n_p * (n_p - 1) + l3 * n_p * n_p) =
3013 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) + l3 * n_p * n_p);
3016 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
3019 local_node_num = n_p * (n_p - 1) + l2 + l3 * n_p * n_p;
3034 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
3036 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
3047 local_node_num = n_p * (n_p - 1) + (n_p - 1) + l3 * n_p * n_p;
3063 Node_pt[node_count]->x(2) =
Zmin + el_length[2] * (
k + s_fraction[2]);
3087 element_num = (
Nz - 1) *
Nx *
Ny;
3091 for (
unsigned l1 = 0; l1 < n_p; l1++)
3093 for (
unsigned l2 = 0; l2 < n_p; l2++)
3097 ->
node_pt(l2 + n_p * l1 + n_p * n_p * (n_p - 1));
3104 for (
unsigned l3 = 1; l3 < (n_p - 1); l3++)
3108 local_node_num = n_p * n_p * l3;
3127 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3137 for (
unsigned l2 = 1; l2 < n_p; l2++)
3140 local_node_num = l2 + n_p * n_p * l3;
3155 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
3158 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3167 for (
unsigned l1 = 1; l1 < n_p; l1++)
3170 local_node_num = l1 * n_p + n_p * n_p * l3;
3186 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3188 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3196 for (
unsigned l2 = 1; l2 < n_p; l2++)
3199 local_node_num = l1 * n_p + l2 + n_p * n_p * l3;
3214 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
3215 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3217 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3231 local_node_num = n_p * n_p * (n_p - 1);
3260 for (
unsigned l2 = 1; l2 < n_p; l2++)
3263 local_node_num = l2 + n_p * n_p * (n_p - 1);
3278 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
3290 for (
unsigned l1 = 1; l1 < n_p; l1++)
3293 local_node_num = l1 * n_p + n_p * n_p * (n_p - 1);
3309 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3319 for (
unsigned l2 = 1; l2 < n_p; l2++)
3322 local_node_num = l1 * n_p + l2 + n_p * n_p * (n_p - 1);
3337 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
3338 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3355 for (
unsigned j = 1;
j < (
Nx - 1);
j++)
3358 element_num =
j + (
Nz - 1) *
Nx *
Ny;
3362 for (
unsigned l1 = 0; l1 < n_p; l1++)
3364 for (
unsigned l2 = 0; l2 < n_p; l2++)
3368 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
3373 for (
unsigned l3 = 1; l3 < (n_p - 1); l3++)
3378 ->
node_pt(l3 * n_p * n_p + (n_p - 1));
3381 for (
unsigned l2 = 1; l2 < n_p; l2++)
3384 local_node_num = l2 + l3 * n_p * n_p;
3399 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
3402 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3411 for (
unsigned l1 = 1; l1 < n_p; l1++)
3415 ->
node_pt(l1 * n_p + l3 * n_p * n_p) =
3417 ->
node_pt(l1 * n_p + (n_p - 1) + l3 * n_p * n_p);
3420 for (
unsigned l2 = 1; l2 < n_p; l2++)
3423 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
3439 Xmin + el_length[0] * (
j + s_fraction[0]);
3440 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3442 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3457 ->
node_pt((n_p - 1) * n_p * n_p) =
3459 ->
node_pt((n_p - 1) * n_p * n_p + (n_p - 1));
3462 for (
unsigned l2 = 1; l2 < n_p; l2++)
3465 local_node_num = l2 + (n_p - 1) * n_p * n_p;
3480 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
3492 for (
unsigned l1 = 1; l1 < n_p; l1++)
3496 ->
node_pt(l1 * n_p + (n_p - 1) * n_p * n_p) =
3498 ->
node_pt(l1 * n_p + (n_p - 1) + (n_p - 1) * n_p * n_p);
3501 for (
unsigned l2 = 1; l2 < n_p; l2++)
3504 local_node_num = l1 * n_p + l2 + (n_p - 1) * n_p * n_p;
3519 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
3520 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3538 element_num =
Nx - 1 + (
Nz - 1) *
Nx *
Ny;
3542 for (
unsigned l1 = 0; l1 < n_p; l1++)
3544 for (
unsigned l2 = 0; l2 < n_p; l2++)
3548 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
3554 for (
unsigned l3 = 1; l3 < (n_p - 1); l3++)
3559 ->
node_pt(l3 * n_p * n_p + (n_p - 1));
3562 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
3565 local_node_num = l2 + l3 * n_p * n_p;
3581 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
3584 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3595 local_node_num = (n_p - 1) + l3 * n_p * n_p;
3613 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3622 for (
unsigned l1 = 1; l1 < n_p; l1++)
3626 ->
node_pt(l1 * n_p + l3 * n_p * n_p) =
3628 ->
node_pt(l1 * n_p + (n_p - 1) + l3 * n_p * n_p);
3631 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
3634 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
3650 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
3651 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3653 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3663 local_node_num = l1 * n_p + (n_p - 1) + l3 * n_p * n_p;
3674 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3676 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3689 ->
node_pt((n_p - 1) * n_p * n_p) =
3691 ->
node_pt((n_p - 1) * n_p * n_p + (n_p - 1));
3694 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
3697 local_node_num = l2 + (n_p - 1) * n_p * n_p;
3713 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
3728 local_node_num = (n_p - 1) + (n_p - 1) * n_p * n_p;
3755 for (
unsigned l1 = 1; l1 < n_p; l1++)
3759 ->
node_pt(l1 * n_p + (n_p - 1) * n_p * n_p) =
3761 ->
node_pt(l1 * n_p + (n_p - 1) + (n_p - 1) * n_p * n_p);
3764 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
3767 local_node_num = l1 * n_p + l2 + (n_p - 1) * n_p * n_p;
3783 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
3784 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3796 local_node_num = l1 * n_p + (n_p - 1) + (n_p - 1) * n_p * n_p;
3811 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * s_fraction[1];
3828 for (
unsigned i = 1;
i < (
Ny - 1);
i++)
3833 element_num =
Nx *
i +
Nx *
Ny * (
Nz - 1);
3837 for (
unsigned l1 = 0; l1 < n_p; l1++)
3839 for (
unsigned l2 = 0; l2 < n_p; l2++)
3844 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
3850 for (
unsigned l3 = 1; l3 < (n_p - 1); l3++)
3853 for (
unsigned l2 = 0; l2 < n_p; l2++)
3856 ->
node_pt(l2 + l3 * n_p * n_p) =
3858 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
3862 for (
unsigned l1 = 1; l1 < n_p; l1++)
3867 local_node_num = l1 * n_p + l3 * n_p * n_p;
3883 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
3885 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3894 for (
unsigned l2 = 1; l2 < n_p; l2++)
3897 local_node_num = l1 * n_p + l2 + n_p * n_p * l3;
3912 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
3914 Ymin + el_length[1] * (
i + s_fraction[1]);
3916 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
3929 for (
unsigned l2 = 0; l2 < n_p; l2++)
3932 ->
node_pt(l2 + (n_p - 1) * n_p * n_p) =
3934 ->
node_pt((n_p - 1) * n_p + l2 + (n_p - 1) * n_p * n_p);
3938 for (
unsigned l1 = 1; l1 < n_p; l1++)
3943 local_node_num = l1 * n_p + (n_p - 1) * n_p * n_p;
3959 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
3970 for (
unsigned l2 = 1; l2 < n_p; l2++)
3973 local_node_num = l1 * n_p + l2 + n_p * n_p * (n_p - 1);
3988 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
3989 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
4002 for (
unsigned j = 1;
j < (
Nx - 1);
j++)
4005 element_num =
Nx *
i +
j + (
Nz - 1) *
Nx *
Ny;
4009 for (
unsigned l1 = 0; l1 < n_p; l1++)
4011 for (
unsigned l2 = 0; l2 < n_p; l2++)
4016 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
4022 for (
unsigned l3 = 1; l3 < (n_p - 1); l3++)
4026 for (
unsigned l2 = 0; l2 < n_p; l2++)
4029 ->
node_pt(l2 + l3 * n_p * n_p) =
4031 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
4034 for (
unsigned l1 = 1; l1 < n_p; l1++)
4038 ->
node_pt(l1 * n_p + l3 * n_p * n_p) =
4040 ->
node_pt(l1 * n_p + l3 * n_p * n_p + (n_p - 1));
4043 for (
unsigned l2 = 1; l2 < n_p; l2++)
4046 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
4062 Xmin + el_length[0] * (
j + s_fraction[0]);
4064 Ymin + el_length[1] * (
i + s_fraction[1]);
4066 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4079 for (
unsigned l2 = 0; l2 < n_p; l2++)
4082 ->
node_pt(l2 + (n_p - 1) * n_p * n_p) =
4084 ->
node_pt((n_p - 1) * n_p + l2 + (n_p - 1) * n_p * n_p);
4087 for (
unsigned l1 = 1; l1 < n_p; l1++)
4091 ->
node_pt(l1 * n_p + (n_p - 1) * n_p * n_p) =
4093 ->
node_pt(l1 * n_p + (n_p - 1) * n_p * n_p + (n_p - 1));
4096 for (
unsigned l2 = 1; l2 < n_p; l2++)
4099 local_node_num = l1 * n_p + l2 + (n_p - 1) * n_p * n_p;
4115 Xmin + el_length[0] * (
j + s_fraction[0]);
4117 Ymin + el_length[1] * (
i + s_fraction[1]);
4135 element_num =
Nx *
i +
Nx - 1 + (
Nz - 1) *
Nx *
Ny;
4139 for (
unsigned l1 = 0; l1 < n_p; l1++)
4141 for (
unsigned l2 = 0; l2 < n_p; l2++)
4146 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
4152 for (
unsigned l3 = 1; l3 < (n_p - 1); l3++)
4155 for (
unsigned l2 = 0; l2 < n_p; l2++)
4158 ->
node_pt(l2 + l3 * n_p * n_p) =
4160 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
4163 for (
unsigned l1 = 1; l1 < n_p; l1++)
4167 ->
node_pt(l1 * n_p + l3 * n_p * n_p) =
4169 ->
node_pt(l1 * n_p + (n_p - 1) + l3 * n_p * n_p);
4172 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
4175 local_node_num = l1 * n_p + l2 + l3 * n_p * n_p;
4191 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
4193 Ymin + el_length[1] * (
i + s_fraction[1]);
4195 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4206 local_node_num = l1 * n_p + (n_p - 1) + l3 * n_p * n_p;
4222 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
4224 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4239 for (
unsigned l2 = 0; l2 < n_p; l2++)
4242 ->
node_pt(l2 + (n_p - 1) * n_p * n_p) =
4244 ->
node_pt((n_p - 1) * n_p + l2 + (n_p - 1) * n_p * n_p);
4247 for (
unsigned l1 = 1; l1 < n_p; l1++)
4251 ->
node_pt(l1 * n_p + (n_p - 1) * n_p * n_p) =
4253 ->
node_pt(l1 * n_p + (n_p - 1) + (n_p - 1) * n_p * n_p);
4256 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
4259 local_node_num = l1 * n_p + l2 + (n_p - 1) * n_p * n_p;
4275 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
4276 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
4289 local_node_num = l1 * n_p + (n_p - 1) + (n_p - 1) * n_p * n_p;
4305 Node_pt[node_count]->x(1) =
Ymin + el_length[1] * (
i + s_fraction[1]);
4328 element_num =
Nx * (
Ny - 1) + (
Nz - 1) *
Nx *
Ny;
4332 for (
unsigned l1 = 0; l1 < n_p; l1++)
4334 for (
unsigned l2 = 0; l2 < n_p; l2++)
4339 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
4344 for (
unsigned l3 = 1; l3 < (n_p - 1); l3++)
4347 for (
unsigned l2 = 0; l2 < n_p; l2++)
4350 ->
node_pt(l2 + l3 * n_p * n_p) =
4352 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
4357 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
4360 local_node_num = n_p * l1 + l3 * n_p * n_p;
4377 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
4379 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4388 for (
unsigned l2 = 1; l2 < n_p; l2++)
4391 local_node_num = n_p * l1 + l2 + l3 * n_p * n_p;
4406 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
4408 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
4410 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4423 local_node_num = n_p * (n_p - 1) + l3 * n_p * n_p;
4440 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4450 for (
unsigned l2 = 1; l2 < n_p; l2++)
4453 local_node_num = n_p * (n_p - 1) + l2 + l3 * n_p * n_p;
4467 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
4470 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4482 for (
unsigned l2 = 0; l2 < n_p; l2++)
4485 ->
node_pt(l2 + (n_p - 1) * n_p * n_p) =
4487 ->
node_pt((n_p - 1) * n_p + l2 + (n_p - 1) * n_p * n_p);
4492 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
4495 local_node_num = n_p * l1 + (n_p - 1) * n_p * n_p;
4512 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
4523 for (
unsigned l2 = 1; l2 < n_p; l2++)
4526 local_node_num = n_p * l1 + l2 + (n_p - 1) * n_p * n_p;
4540 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
4542 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
4557 local_node_num = n_p * (n_p - 1) + (n_p - 1) * n_p * n_p;
4583 for (
unsigned l2 = 1; l2 < n_p; l2++)
4586 local_node_num = n_p * (n_p - 1) + l2 + (n_p - 1) * n_p * n_p;
4600 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * s_fraction[0];
4614 for (
unsigned j = 1;
j < (
Nx - 1);
j++)
4617 element_num =
Nx * (
Ny - 1) +
j + (
Nz - 1) *
Nx *
Ny;
4621 for (
unsigned l1 = 0; l1 < n_p; l1++)
4623 for (
unsigned l2 = 0; l2 < n_p; l2++)
4628 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
4634 for (
unsigned l3 = 1; l3 < (n_p - 1); l3++)
4637 for (
unsigned l2 = 0; l2 < n_p; l2++)
4640 ->
node_pt(l2 + l3 * n_p * n_p) =
4642 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
4646 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
4650 ->
node_pt(n_p * l1 + l3 * n_p * n_p) =
4652 ->
node_pt(n_p * l1 + (n_p - 1) + l3 * n_p * n_p);
4655 for (
unsigned l2 = 1; l2 < n_p; l2++)
4658 local_node_num = n_p * l1 + l2 + l3 * n_p * n_p;
4674 Xmin + el_length[0] * (
j + s_fraction[0]);
4676 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
4678 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4691 ->
node_pt(n_p * (n_p - 1) + l3 * n_p * n_p) =
4693 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) + l3 * n_p * n_p);
4695 for (
unsigned l2 = 1; l2 < n_p; l2++)
4698 local_node_num = n_p * (n_p - 1) + l2 + l3 * n_p * n_p;
4712 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
4715 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4728 for (
unsigned l2 = 0; l2 < n_p; l2++)
4731 ->
node_pt(l2 + (n_p - 1) * n_p * n_p) =
4733 ->
node_pt((n_p - 1) * n_p + l2 + (n_p - 1) * n_p * n_p);
4737 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
4741 ->
node_pt(n_p * l1 + (n_p - 1) * n_p * n_p) =
4743 ->
node_pt(n_p * l1 + (n_p - 1) + (n_p - 1) * n_p * n_p);
4746 for (
unsigned l2 = 1; l2 < n_p; l2++)
4749 local_node_num = n_p * l1 + l2 + (n_p - 1) * n_p * n_p;
4764 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
4766 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
4780 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) * n_p * n_p) =
4782 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) + (n_p - 1) * n_p * n_p);
4784 for (
unsigned l2 = 1; l2 < n_p; l2++)
4787 local_node_num = n_p * (n_p - 1) + l2 + (n_p - 1) * n_p * n_p;
4801 Node_pt[node_count]->x(0) =
Xmin + el_length[0] * (
j + s_fraction[0]);
4821 element_num =
Nx * (
Ny - 1) +
Nx - 1 + (
Nz - 1) *
Nx *
Ny;
4825 for (
unsigned l1 = 0; l1 < n_p; l1++)
4827 for (
unsigned l2 = 0; l2 < n_p; l2++)
4832 ->
node_pt(l2 + n_p * l1 + (n_p - 1) * n_p * n_p);
4838 for (
unsigned l3 = 1; l3 < (n_p - 1); l3++)
4841 for (
unsigned l2 = 0; l2 < n_p; l2++)
4844 ->
node_pt(l2 + l3 * n_p * n_p) =
4846 ->
node_pt((n_p - 1) * n_p + l2 + l3 * n_p * n_p);
4850 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
4854 ->
node_pt(n_p * l1 + l3 * n_p * n_p) =
4856 ->
node_pt(n_p * l1 + (n_p - 1) + l3 * n_p * n_p);
4859 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
4862 local_node_num = n_p * l1 + l2 + l3 * n_p * n_p;
4877 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
4879 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
4881 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4891 local_node_num = n_p * l1 + (n_p - 1) + l3 * n_p * n_p;
4907 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
4909 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4923 ->
node_pt(n_p * (n_p - 1) + l3 * n_p * n_p) =
4925 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) + l3 * n_p * n_p);
4928 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
4931 local_node_num = n_p * (n_p - 1) + l2 + l3 * n_p * n_p;
4946 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
4949 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4960 local_node_num = n_p * (n_p - 1) + (n_p - 1) + l3 * n_p * n_p;
4978 Zmin + el_length[2] * (
Nz - 1 + s_fraction[2]);
4993 for (
unsigned l2 = 0; l2 < n_p; l2++)
4996 ->
node_pt(l2 + (n_p - 1) * n_p * n_p) =
4998 ->
node_pt((n_p - 1) * n_p + l2 + (n_p - 1) * n_p * n_p);
5002 for (
unsigned l1 = 1; l1 < (n_p - 1); l1++)
5006 ->
node_pt(n_p * l1 + (n_p - 1) * n_p * n_p) =
5008 ->
node_pt(n_p * l1 + (n_p - 1) + (n_p - 1) * n_p * n_p);
5011 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
5014 local_node_num = n_p * l1 + l2 + (n_p - 1) * n_p * n_p;
5029 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
5031 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
5043 local_node_num = n_p * l1 + (n_p - 1) + (n_p - 1) * n_p * n_p;
5055 Ymin + el_length[1] * (
Ny - 1 + s_fraction[1]);
5070 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) * n_p * n_p) =
5072 ->
node_pt(n_p * (n_p - 1) + (n_p - 1) + (n_p - 1) * n_p * n_p);
5075 for (
unsigned l2 = 1; l2 < (n_p - 1); l2++)
5078 local_node_num = n_p * (n_p - 1) + l2 + (n_p - 1) * n_p * n_p;
5093 Xmin + el_length[0] * (
Nx - 1 + s_fraction[0]);
5108 local_node_num = n_p * (n_p - 1) + (n_p - 1) + (n_p - 1) * n_p * n_p;
int i
Definition: BiCGSTAB_step_by_step.cpp:9
void setup_boundary_element_info()
Definition: brick_mesh.h:195
virtual Node * construct_node(const unsigned &n)
Definition: elements.h:2509
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
Definition: elements.h:2175
virtual void local_fraction_of_node(const unsigned &j, Vector< double > &s_fraction)
Definition: elements.cc:3191
virtual Node * construct_boundary_node(const unsigned &n)
Definition: elements.h:2538
void add_boundary_node(const unsigned &b, Node *const &node_pt)
Add a (pointer to) a node to the b-th boundary.
Definition: mesh.cc:243
Vector< Node * > Node_pt
Vector of pointers to nodes.
Definition: mesh.h:183
FiniteElement * finite_element_pt(const unsigned &e) const
Definition: mesh.h:473
void set_nboundary(const unsigned &nbound)
Set the number of boundaries in the mesh.
Definition: mesh.h:505
Vector< GeneralisedElement * > Element_pt
Vector of pointers to generalised elements.
Definition: mesh.h:186
char char char int int * k
Definition: level2_impl.h:374
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2