59 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(2);
69 Element_pt.resize(Nx * Ny);
72 Element_pt[0] =
new ELEMENT;
75 unsigned n_p =
dynamic_cast<ELEMENT*
>(finite_element_pt(0))->
nnode_1d();
138 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,
271 Element_pt[Nx - 1] =
new ELEMENT;
273 finite_element_pt(Nx - 1)->
node_pt(0) =
274 finite_element_pt(Nx - 2)->node_pt(
n_p - 1);
277 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
287 finite_element_pt(Nx - 1)->local_fraction_of_node(
l2,
s_fraction);
311 finite_element_pt(Nx - 1)->local_fraction_of_node(
n_p - 1,
s_fraction);
329 finite_element_pt(Nx - 2)->node_pt(
l1 *
n_p + (
n_p - 1));
332 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
342 finite_element_pt(Nx - 1)->local_fraction_of_node(
l1 *
n_p +
l2,
361 finite_element_pt(Nx - 1)->node_pt(
l1 *
n_p + (
n_p - 1)) =
365 finite_element_pt(Nx - 1)->local_fraction_of_node(
l1 *
n_p + (
n_p - 1),
385 for (
unsigned i = 1;
i < (Ny - 1);
i++)
390 Element_pt[Nx *
i] =
new ELEMENT;
396 finite_element_pt(Nx * (
i - 1))->node_pt((
n_p - 1) *
n_p +
l2);
406 finite_element_pt(Nx *
i)->construct_boundary_node(
l1 *
n_p,
433 finite_element_pt(Nx *
i)->node_pt(
l1 *
n_p +
l2) =
437 finite_element_pt(Nx *
i)->local_fraction_of_node(
l1 *
n_p +
l2,
450 for (
unsigned j = 1;
j < (Nx - 1);
j++)
453 Element_pt[Nx *
i +
j] =
new ELEMENT;
459 finite_element_pt(Nx * (
i - 1) +
j)->node_pt((
n_p - 1) *
n_p +
l2);
465 finite_element_pt(Nx *
i +
j)->node_pt(
l1 *
n_p) =
466 finite_element_pt(Nx *
i + (
j - 1))->node_pt(
l1 *
n_p + (
n_p - 1));
473 finite_element_pt(Nx *
i +
j)
477 finite_element_pt(Nx *
i +
j)->node_pt(
l1 *
n_p +
l2) =
481 finite_element_pt(Nx *
i +
j)
499 Element_pt[Nx *
i + Nx - 1] =
new ELEMENT;
504 finite_element_pt(Nx *
i + Nx - 1)->
node_pt(
l2) =
505 finite_element_pt(Nx * (
i - 1) + Nx - 1)
512 finite_element_pt(Nx *
i + Nx - 1)->node_pt(
l1 *
n_p) =
513 finite_element_pt(Nx *
i + Nx - 2)->node_pt(
l1 *
n_p + (
n_p - 1));
516 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
520 finite_element_pt(Nx *
i + Nx - 1)
524 finite_element_pt(Nx *
i + Nx - 1)->node_pt(
l1 *
n_p +
l2) =
528 finite_element_pt(Nx *
i + Nx - 1)
544 finite_element_pt(Nx *
i + Nx - 1)
548 finite_element_pt(Nx *
i + Nx - 1)->node_pt(
l1 *
n_p + (
n_p - 1)) =
552 finite_element_pt(Nx *
i + Nx - 1)
578 Element_pt[Nx * (Ny - 1)] =
new ELEMENT;
583 finite_element_pt(Nx * (Ny - 1))->
node_pt(
l2) =
584 finite_element_pt(Nx * (Ny - 2))->node_pt((
n_p - 1) *
n_p +
l2);
589 for (
unsigned l1 = 1;
l1 < (
n_p - 1);
l1++)
593 finite_element_pt(Nx * (Ny - 1))
600 finite_element_pt(Nx * (Ny - 1))
619 finite_element_pt(Nx * (Ny - 1))
623 finite_element_pt(Nx * (Ny - 1))->node_pt(
n_p *
l1 +
l2) =
627 finite_element_pt(Nx * (Ny - 1))
646 finite_element_pt(Nx * (Ny - 1))
649 finite_element_pt(Nx * (Ny - 1))->node_pt(
n_p * (
n_p - 1)) =
653 finite_element_pt(Nx * (Ny - 1))
672 finite_element_pt(Nx * (Ny - 1))
676 finite_element_pt(Nx * (Ny - 1))->node_pt(
n_p * (
n_p - 1) +
l2) =
680 finite_element_pt(Nx * (Ny - 1))
696 for (
unsigned j = 1;
j < (Nx - 1);
j++)
699 Element_pt[Nx * (Ny - 1) +
j] =
new ELEMENT;
703 finite_element_pt(Nx * (Ny - 1) +
j)->
node_pt(
l2) =
704 finite_element_pt(Nx * (Ny - 2) +
j)->node_pt((
n_p - 1) *
n_p +
l2);
708 for (
unsigned l1 = 1;
l1 < (
n_p - 1);
l1++)
711 finite_element_pt(Nx * (Ny - 1) +
j)->node_pt(
n_p *
l1) =
712 finite_element_pt(Nx * (Ny - 1) + (
j - 1))
720 finite_element_pt(Nx * (Ny - 1) +
j)
723 finite_element_pt(Nx * (Ny - 1) +
j)->node_pt(
n_p *
l1 +
l2) =
727 finite_element_pt(Nx * (Ny - 1) +
j)
743 finite_element_pt(Nx * (Ny - 1) + (
j - 1))
750 finite_element_pt(Nx * (Ny - 1) +
j)
753 finite_element_pt(Nx * (Ny - 1) +
j)->node_pt(
n_p * (
n_p - 1) +
l2) =
757 finite_element_pt(Nx * (Ny - 1) +
j)
777 Element_pt[Nx * (Ny - 1) + Nx - 1] =
new ELEMENT;
781 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->
node_pt(
l2) =
782 finite_element_pt(Nx * (Ny - 2) + Nx - 1)
787 for (
unsigned l1 = 1;
l1 < (
n_p - 1);
l1++)
790 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->node_pt(
n_p *
l1) =
791 finite_element_pt(Nx * (Ny - 1) + Nx - 2)
795 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
799 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
802 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->node_pt(
n_p *
l1 +
l2) =
806 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
823 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
826 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->node_pt(
n_p *
l1 + (
n_p - 1)) =
830 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
848 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->
node_pt(
n_p * (
n_p - 1)) =
849 finite_element_pt(Nx * (Ny - 1) + Nx - 2)
853 for (
unsigned l2 = 1;
l2 < (
n_p - 1);
l2++)
857 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
860 finite_element_pt(Nx * (Ny - 1) + Nx - 1)->node_pt(
n_p * (
n_p - 1) +
l2) =
864 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
884 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
887 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
891 finite_element_pt(Nx * (Ny - 1) + Nx - 1)
907 setup_boundary_element_info();