61 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(2);
71 Element_pt.resize(Nx * Ny);
74 Element_pt[0] =
new ELEMENT;
77 unsigned n_p =
dynamic_cast<ELEMENT*
>(finite_element_pt(0))->
nnode_1d();
139 finite_element_pt(0)->local_fraction_of_node(
l2,
s_fraction);
200 for (
unsigned j = 1;
j < (Nx - 1);
j++)
203 Element_pt[
j] =
new ELEMENT;
209 finite_element_pt(
j - 1)->node_pt((
n_p - 1));
222 finite_element_pt(
j)->local_fraction_of_node(
l2,
s_fraction);
240 finite_element_pt(
j - 1)->node_pt(
l1 *
n_p + (
n_p - 1));
253 finite_element_pt(
j)->local_fraction_of_node(
l1 *
n_p +
l2,
270 Element_pt[Nx - 1] =
new ELEMENT;
272 finite_element_pt(Nx - 1)->
node_pt(0) =
273 finite_element_pt(Nx - 2)->node_pt(
n_p - 1);
276 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
286 finite_element_pt(Nx - 1)->local_fraction_of_node(
l2,
s_fraction);
310 finite_element_pt(Nx - 1)->local_fraction_of_node(
n_p - 1,
s_fraction);
328 finite_element_pt(Nx - 2)->node_pt(
l1 *
n_p + (
n_p - 1));
331 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
341 finite_element_pt(Nx - 1)->local_fraction_of_node(
l1 *
n_p +
l2,
360 finite_element_pt(Nx - 1)->node_pt(
l1 *
n_p + (
n_p - 1)) =
364 finite_element_pt(Nx - 1)->local_fraction_of_node(
l1 *
n_p + (
n_p - 1),
383 for (
unsigned i = 1;
i < (Ny - 1);
i++)
388 Element_pt[Nx *
i] =
new ELEMENT;
394 finite_element_pt(Nx * (
i - 1))->node_pt((
n_p - 1) *
n_p +
l2);
404 finite_element_pt(Nx *
i)->construct_boundary_node(
l1 *
n_p,
431 finite_element_pt(Nx *
i)->node_pt(
l1 *
n_p +
l2) =
435 finite_element_pt(Nx *
i)->local_fraction_of_node(
l1 *
n_p +
l2,
448 for (
unsigned j = 1;
j < (Nx - 1);
j++)
451 Element_pt[Nx *
i +
j] =
new ELEMENT;
457 finite_element_pt(Nx * (
i - 1) +
j)->node_pt((
n_p - 1) *
n_p +
l2);
463 finite_element_pt(Nx *
i +
j)->node_pt(
l1 *
n_p) =
464 finite_element_pt(Nx *
i + (
j - 1))->node_pt(
l1 *
n_p + (
n_p - 1));
471 finite_element_pt(Nx *
i +
j)
475 finite_element_pt(Nx *
i +
j)->node_pt(
l1 *
n_p +
l2) =
479 finite_element_pt(Nx *
i +
j)
497 Element_pt[Nx *
i + Nx - 1] =
new ELEMENT;
502 finite_element_pt(Nx *
i + Nx - 1)->
node_pt(
l2) =
503 finite_element_pt(Nx * (
i - 1) + Nx - 1)
510 finite_element_pt(Nx *
i + Nx - 1)->node_pt(
l1 *
n_p) =
511 finite_element_pt(Nx *
i + Nx - 2)->node_pt(
l1 *
n_p + (
n_p - 1));
514 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
518 finite_element_pt(Nx *
i + Nx - 1)
522 finite_element_pt(Nx *
i + Nx - 1)->node_pt(
l1 *
n_p +
l2) =
526 finite_element_pt(Nx *
i + Nx - 1)
542 finite_element_pt(Nx *
i + Nx - 1)
546 finite_element_pt(Nx *
i + Nx - 1)->node_pt(
l1 *
n_p + (
n_p - 1)) =
550 finite_element_pt(Nx *
i + Nx - 1)
574 Element_pt[Nx * (Ny - 1)] =
new ELEMENT;
579 finite_element_pt(Nx * (Ny - 1))->
node_pt(
l2) =
580 finite_element_pt(Nx * (Ny - 2))->node_pt((
n_p - 1) *
n_p +
l2);
585 for (
unsigned l1 = 1;
l1 < (
n_p - 1);
l1++)
589 finite_element_pt(Nx * (Ny - 1))
596 finite_element_pt(Nx * (Ny - 1))
615 finite_element_pt(Nx * (Ny - 1))
619 finite_element_pt(Nx * (Ny - 1))->node_pt(
n_p *
l1 +
l2) =
623 finite_element_pt(Nx * (Ny - 1))
642 finite_element_pt(Nx * (Ny - 1))
645 finite_element_pt(Nx * (Ny - 1))->node_pt(
n_p * (
n_p - 1)) =
649 finite_element_pt(Nx * (Ny - 1))
668 finite_element_pt(Nx * (Ny - 1))
672 finite_element_pt(Nx * (Ny - 1))->node_pt(
n_p * (
n_p - 1) +
l2) =
676 finite_element_pt(Nx * (Ny - 1))
691 for (
unsigned j = 1;
j < (Nx - 1);
j++)
694 Element_pt[Nx * (Ny - 1) +
j] =
new ELEMENT;
698 finite_element_pt(Nx * (Ny - 1) +
j)->
node_pt(
l2) =
699 finite_element_pt(Nx * (Ny - 2) +
j)->node_pt((
n_p - 1) *
n_p +
l2);
703 for (
unsigned l1 = 1;
l1 < (
n_p - 1);
l1++)
706 finite_element_pt(Nx * (Ny - 1) +
j)->node_pt(
n_p *
l1) =
707 finite_element_pt(Nx * (Ny - 1) + (
j - 1))
715 finite_element_pt(Nx * (Ny - 1) +
j)
718 finite_element_pt(Nx * (Ny - 1) +
j)->node_pt(
n_p *
l1 +
l2) =
722 finite_element_pt(Nx * (Ny - 1) +
j)
738 finite_element_pt(Nx * (Ny - 1) + (
j - 1))
745 finite_element_pt(Nx * (Ny - 1) +
j)
748 finite_element_pt(Nx * (Ny - 1) +
j)->node_pt(
n_p * (
n_p - 1) +
l2) =
752 finite_element_pt(Nx * (Ny - 1) +
j)
771 Element_pt[Nx * (Ny - 1) + Nx - 1] =
new ELEMENT;
775 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->
node_pt(
l2) =
776 finite_element_pt(Nx * (Ny - 2) + Nx - 1)
781 for (
unsigned l1 = 1;
l1 < (
n_p - 1);
l1++)
784 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->node_pt(
n_p *
l1) =
785 finite_element_pt(Nx * (Ny - 1) + Nx - 2)
789 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
793 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
796 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->node_pt(
n_p *
l1 +
l2) =
800 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
817 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
820 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->node_pt(
n_p *
l1 + (
n_p - 1)) =
824 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
842 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->
node_pt(
n_p * (
n_p - 1)) =
843 finite_element_pt(Nx * (Ny - 1) + Nx - 2)
847 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
851 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
854 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->node_pt(
n_p * (
n_p - 1) +
l2) =
858 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
878 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
881 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
885 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
901 setup_boundary_element_info();