diff --git a/include/fe/fe_lagrange_shape_1D.h b/include/fe/fe_lagrange_shape_1D.h index 73da93158a4..318c5e59231 100644 --- a/include/fe/fe_lagrange_shape_1D.h +++ b/include/fe/fe_lagrange_shape_1D.h @@ -94,13 +94,36 @@ Real fe_lagrange_1D_cubic_shape(const unsigned int i, +inline +Real fe_lagrange_1D_any_shape(const Order order, + const unsigned int i, + const Real xi) +{ + libmesh_assert_greater_equal (order, 0); + libmesh_assert_less (i, order + 1); + + // So the interval endpoints are at i = 0 and i = 1 + const unsigned ii = i == 0 ? 0 : i == 1 ? int(order) : i - 1; + + auto root = [&](const unsigned int k) { return 1. * k / order; }; + const unsigned int nzeros = order + 1; + Real x = (xi + 1.) / 2.; + Real val = 1.; + + for (const auto z : make_range(nzeros)) + if (z != ii) + val *= (x - root(z)) / (root(ii) - root(z)); + + return val; +} + + + inline Real fe_lagrange_1D_shape(const Order order, const unsigned int i, const Real xi) { - libmesh_assert_less_equal(order, THIRD); - switch (order) { // Lagrange linears @@ -112,9 +135,12 @@ Real fe_lagrange_1D_shape(const Order order, return fe_lagrange_1D_quadratic_shape(i, xi); // Lagrange cubics - // case THIRD - default: + case THIRD: return fe_lagrange_1D_cubic_shape(i, xi); + + // Lagrange arbitrary shape functions + default: + return fe_lagrange_1D_any_shape(order, i, xi); } } @@ -196,14 +222,51 @@ Real fe_lagrange_1D_cubic_shape_deriv(const unsigned int i, +inline +Real fe_lagrange_1D_any_shape_deriv(const Order order, + const unsigned int i, + const unsigned int libmesh_dbg_var(j), + const Real xi) +{ + // only d()/dxi in 1D! + libmesh_assert_equal_to (j, 0); + + libmesh_assert_greater_equal (order, 0); + libmesh_assert_less (i, order + 1); + + // So the interval endpoints are at i = 0 and i = 1 + const unsigned ii = i == 0 ? 0 : i == 1 ? int(order) : i - 1; + + auto root = [&](const unsigned int k) { return 1. * k / order; }; + const unsigned int nzeros = order + 1; + Real x = (xi + 1.) / 2.; + Real val = 0.; + + for (const auto z : make_range(nzeros)) + if (z != ii) + { + Real prod = .5; + for (const auto zz : make_range(nzeros)) + if (zz != z && zz != ii) + prod *= (x - root(zz)); + val += prod; + } + + for (const auto z : make_range(nzeros)) + if (z != ii) + val /= (root(ii) - root(z)); + + return val; +} + + + inline Real fe_lagrange_1D_shape_deriv(const Order order, const unsigned int i, const unsigned int j, const Real xi) { - libmesh_assert_less_equal(order, THIRD); - switch (order) { case FIRST: @@ -212,9 +275,11 @@ Real fe_lagrange_1D_shape_deriv(const Order order, case SECOND: return fe_lagrange_1D_quadratic_shape_deriv(i, j, xi); - // case THIRD - default: + case THIRD: return fe_lagrange_1D_cubic_shape_deriv(i, j, xi); + + default: + return fe_lagrange_1D_any_shape_deriv(order, i, j, xi); } } @@ -229,9 +294,9 @@ Real fe_lagrange_1D_quadratic_shape_second_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real) { - // Don't need to switch on j. 1D shape functions - // depend on xi only! + // Don't need to switch on j. 1D shape functions depend on xi only! libmesh_assert_equal_to (j, 0); + libmesh_assert_less(i, 3); switch (i) @@ -254,9 +319,9 @@ Real fe_lagrange_1D_cubic_shape_second_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi) { - // Don't need to switch on j. 1D shape functions - // depend on xi only! + // Don't need to switch on j. 1D shape functions depend on xi only! libmesh_assert_equal_to (j, 0); + libmesh_assert_less(i, 4); switch (i) @@ -278,14 +343,53 @@ Real fe_lagrange_1D_cubic_shape_second_deriv(const unsigned int i, +inline +Real fe_lagrange_1D_any_shape_second_deriv(const Order order, + const unsigned int i, + const unsigned int libmesh_dbg_var(j), + const Real xi) +{ + // Don't need to switch on j. 1D shape functions depend on xi only! + libmesh_assert_equal_to (j, 0); + + libmesh_assert_greater_equal (order, 0); + libmesh_assert_less (i, order + 1); + + // So the interval endpoints are at i = 0 and i = 1 + const unsigned ii = i == 0 ? 0 : i == 1 ? int(order) : i - 1; + + auto root = [&](const unsigned int k) { return 1. * k / order; }; + const unsigned int nzeros = order + 1; + Real x = (xi + 1.) / 2.; + Real val = 0.; + + for (const auto z : make_range(nzeros)) + if (z != ii) + for (const auto zz : make_range(nzeros)) + if (zz != z && zz != ii) + { + Real prod = .25; + for (const auto zzz : make_range(nzeros)) + if (zzz != zz && zzz != z && zzz != ii) + prod *= (x - root(zzz)); + val += prod; + } + + for (const auto z : make_range(nzeros)) + if (z != ii) + val /= (root(ii) - root(z)); + + return val; +} + + + inline Real fe_lagrange_1D_shape_second_deriv(const Order order, const unsigned int i, const unsigned int j, const Real xi) { - libmesh_assert_less_equal(order, THIRD); - switch (order) { // All second derivatives of linears are zero.... @@ -295,9 +399,11 @@ Real fe_lagrange_1D_shape_second_deriv(const Order order, case SECOND: return fe_lagrange_1D_quadratic_shape_second_deriv(i, j, xi); - // case THIRD - default: + case THIRD: return fe_lagrange_1D_cubic_shape_second_deriv(i, j, xi); + + default: + return fe_lagrange_1D_any_shape_second_deriv(order, i, j, xi); } // end switch (order) } diff --git a/src/fe/fe_interface.C b/src/fe/fe_interface.C index 4b9ef91e117..c49aa6d5656 100644 --- a/src/fe/fe_interface.C +++ b/src/fe/fe_interface.C @@ -2149,9 +2149,10 @@ unsigned int FEInterface::max_order(const FEType & fe_t, switch (el_t) { case EDGE2: - case EDGE3: case EDGE4: return 3; + case EDGE3: + return unlimited; case TRI3: case TRISHELL3: case C0POLYGON: diff --git a/src/fe/fe_lagrange.C b/src/fe/fe_lagrange.C index 88cf0fb6793..103d910eaa3 100644 --- a/src/fe/fe_lagrange.C +++ b/src/fe/fe_lagrange.C @@ -53,7 +53,22 @@ void lagrange_nodal_soln(const Elem * elem, nodal_soln.resize(n_nodes); + switch (type) + { + case EDGE3: + { + nodal_soln[0] = elem_soln[0]; + nodal_soln[1] = elem_soln[1]; + nodal_soln[2] = (totalorder % 2) ? 0 : elem_soln[totalorder / 2 + 1]; + if (totalorder % 2) + for (unsigned i = 0; i < totalorder + 1; i++) + nodal_soln[2] += elem_soln[i] * FE<1,LAGRANGE>::shape(type, totalorder, i, 0); + return; + } + default: + ; + } switch (totalorder) { @@ -62,18 +77,6 @@ void lagrange_nodal_soln(const Elem * elem, { switch (type) { - case EDGE3: - { - libmesh_assert_equal_to (elem_soln.size(), 2); - libmesh_assert_equal_to (nodal_soln.size(), 3); - - nodal_soln[0] = elem_soln[0]; - nodal_soln[1] = elem_soln[1]; - nodal_soln[2] = .5*(elem_soln[0] + elem_soln[1]); - - return; - } - case EDGE4: { libmesh_assert_equal_to (elem_soln.size(), 2); @@ -312,21 +315,6 @@ void lagrange_nodal_soln(const Elem * elem, { switch (type) { - case EDGE4: - { - libmesh_assert_equal_to (elem_soln.size(), 3); - libmesh_assert_equal_to (nodal_soln.size(), 4); - - // Project quadratic solution onto cubic element nodes - nodal_soln[0] = elem_soln[0]; - nodal_soln[1] = elem_soln[1]; - nodal_soln[2] = (2.*elem_soln[0] - elem_soln[1] + - 8.*elem_soln[2])/9.; - nodal_soln[3] = (-elem_soln[0] + 2.*elem_soln[1] + - 8.*elem_soln[2])/9.; - return; - } - case TRI7: { libmesh_assert_equal_to (elem_soln.size(), 6); @@ -434,31 +422,25 @@ unsigned int lagrange_n_dofs(const ElemType t, const Elem * e, const Order o) { libmesh_assert(!e || e->type() == t); - switch (o) + switch (t) { - // lagrange can only be constant on a single node - case CONSTANT: - { - switch (t) - { - case NODEELEM: - return 1; - - default: - libmesh_error_msg("ERROR: Bad ElemType = " << Utility::enum_to_string(t) << " for " << Utility::enum_to_string(o) << " order approximation!"); - } - } + case NODEELEM: + return 1; + case EDGE3: + libmesh_error_msg_if(o == CONSTANT, "ERROR: Bad ElemType = " << Utility::enum_to_string(t) << " for " << Utility::enum_to_string(o) << " order approximation!"); + return o + 1; + default: + ; + } + switch (o) + { // linear Lagrange shape functions case FIRST: { switch (t) { - case NODEELEM: - return 1; - case EDGE2: - case EDGE3: case EDGE4: return 2; @@ -522,12 +504,6 @@ unsigned int lagrange_n_dofs(const ElemType t, const Elem * e, const Order o) { switch (t) { - case NODEELEM: - return 1; - - case EDGE3: - return 3; - case TRI6: case TRI7: return 6; @@ -577,9 +553,6 @@ unsigned int lagrange_n_dofs(const ElemType t, const Elem * e, const Order o) { switch (t) { - case NODEELEM: - return 1; - case EDGE4: return 4; @@ -617,31 +590,25 @@ unsigned int lagrange_n_dofs_at_node(const ElemType t, const Order o, const unsigned int n) { - switch (o) + switch (t) { - // lagrange can only be constant on a single node - case CONSTANT: - { - switch (t) - { - case NODEELEM: - return 1; - - default: - libmesh_error_msg("ERROR: Bad ElemType = " << Utility::enum_to_string(t) << " for " << Utility::enum_to_string(o) << " order approximation!"); - } - } + case NODEELEM: + return 1; + case EDGE3: + libmesh_error_msg_if(o == CONSTANT, "ERROR: Bad ElemType = " << Utility::enum_to_string(t) << " for " << Utility::enum_to_string(o) << " order approximation!"); + return n < 2 ? 1 : o - 1; + default: + ; + } + switch (o) + { // linear Lagrange shape functions case FIRST: { switch (t) { - case NODEELEM: - return 1; - case EDGE2: - case EDGE3: case EDGE4: { switch (n) @@ -790,8 +757,6 @@ unsigned int lagrange_n_dofs_at_node(const ElemType t, switch (t) { // quadratic lagrange has one dof at each node - case NODEELEM: - case EDGE3: case TRI6: case QUAD8: case QUADSHELL8: @@ -831,7 +796,6 @@ unsigned int lagrange_n_dofs_at_node(const ElemType t, { switch (t) { - case NODEELEM: case EDGE4: case PRISM20: case PRISM21: diff --git a/tests/Makefile.am b/tests/Makefile.am index 6f27e83ae14..e62c6d2da0d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -44,6 +44,7 @@ unit_tests_sources = \ fe/fe_test.h \ fe/fe_xyz_test.C \ fe/dual_shape_verification_test.C \ + fe/fe_lagrange_shape_verification_test.C \ geom/bbox_test.C \ geom/edge_test.C \ geom/elem_test.C \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 741fc6a7fc0..6b93c99983a 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -201,7 +201,8 @@ am__unit_tests_dbg_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_lagrange_test.C fe/fe_monomial_test.C \ fe/fe_rational_map.C fe/fe_rational_test.C fe/fe_side_test.C \ fe/fe_szabab_test.C fe/fe_test.h fe/fe_xyz_test.C \ - fe/dual_shape_verification_test.C geom/bbox_test.C \ + fe/dual_shape_verification_test.C \ + fe/fe_lagrange_shape_verification_test.C geom/bbox_test.C \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ geom/side_test.C geom/volume_test.C \ @@ -285,6 +286,7 @@ am__objects_2 = unit_tests_dbg-driver.$(OBJEXT) \ fe/unit_tests_dbg-fe_szabab_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_xyz_test.$(OBJEXT) \ fe/unit_tests_dbg-dual_shape_verification_test.$(OBJEXT) \ + fe/unit_tests_dbg-fe_lagrange_shape_verification_test.$(OBJEXT) \ geom/unit_tests_dbg-bbox_test.$(OBJEXT) \ geom/unit_tests_dbg-edge_test.$(OBJEXT) \ geom/unit_tests_dbg-elem_test.$(OBJEXT) \ @@ -404,7 +406,8 @@ am__unit_tests_devel_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_lagrange_test.C fe/fe_monomial_test.C \ fe/fe_rational_map.C fe/fe_rational_test.C fe/fe_side_test.C \ fe/fe_szabab_test.C fe/fe_test.h fe/fe_xyz_test.C \ - fe/dual_shape_verification_test.C geom/bbox_test.C \ + fe/dual_shape_verification_test.C \ + fe/fe_lagrange_shape_verification_test.C geom/bbox_test.C \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ geom/side_test.C geom/volume_test.C \ @@ -487,6 +490,7 @@ am__objects_4 = unit_tests_devel-driver.$(OBJEXT) \ fe/unit_tests_devel-fe_szabab_test.$(OBJEXT) \ fe/unit_tests_devel-fe_xyz_test.$(OBJEXT) \ fe/unit_tests_devel-dual_shape_verification_test.$(OBJEXT) \ + fe/unit_tests_devel-fe_lagrange_shape_verification_test.$(OBJEXT) \ geom/unit_tests_devel-bbox_test.$(OBJEXT) \ geom/unit_tests_devel-edge_test.$(OBJEXT) \ geom/unit_tests_devel-elem_test.$(OBJEXT) \ @@ -602,7 +606,8 @@ am__unit_tests_oprof_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_lagrange_test.C fe/fe_monomial_test.C \ fe/fe_rational_map.C fe/fe_rational_test.C fe/fe_side_test.C \ fe/fe_szabab_test.C fe/fe_test.h fe/fe_xyz_test.C \ - fe/dual_shape_verification_test.C geom/bbox_test.C \ + fe/dual_shape_verification_test.C \ + fe/fe_lagrange_shape_verification_test.C geom/bbox_test.C \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ geom/side_test.C geom/volume_test.C \ @@ -685,6 +690,7 @@ am__objects_6 = unit_tests_oprof-driver.$(OBJEXT) \ fe/unit_tests_oprof-fe_szabab_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_xyz_test.$(OBJEXT) \ fe/unit_tests_oprof-dual_shape_verification_test.$(OBJEXT) \ + fe/unit_tests_oprof-fe_lagrange_shape_verification_test.$(OBJEXT) \ geom/unit_tests_oprof-bbox_test.$(OBJEXT) \ geom/unit_tests_oprof-edge_test.$(OBJEXT) \ geom/unit_tests_oprof-elem_test.$(OBJEXT) \ @@ -800,7 +806,8 @@ am__unit_tests_opt_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_lagrange_test.C fe/fe_monomial_test.C \ fe/fe_rational_map.C fe/fe_rational_test.C fe/fe_side_test.C \ fe/fe_szabab_test.C fe/fe_test.h fe/fe_xyz_test.C \ - fe/dual_shape_verification_test.C geom/bbox_test.C \ + fe/dual_shape_verification_test.C \ + fe/fe_lagrange_shape_verification_test.C geom/bbox_test.C \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ geom/side_test.C geom/volume_test.C \ @@ -883,6 +890,7 @@ am__objects_8 = unit_tests_opt-driver.$(OBJEXT) \ fe/unit_tests_opt-fe_szabab_test.$(OBJEXT) \ fe/unit_tests_opt-fe_xyz_test.$(OBJEXT) \ fe/unit_tests_opt-dual_shape_verification_test.$(OBJEXT) \ + fe/unit_tests_opt-fe_lagrange_shape_verification_test.$(OBJEXT) \ geom/unit_tests_opt-bbox_test.$(OBJEXT) \ geom/unit_tests_opt-edge_test.$(OBJEXT) \ geom/unit_tests_opt-elem_test.$(OBJEXT) \ @@ -998,7 +1006,8 @@ am__unit_tests_prof_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_lagrange_test.C fe/fe_monomial_test.C \ fe/fe_rational_map.C fe/fe_rational_test.C fe/fe_side_test.C \ fe/fe_szabab_test.C fe/fe_test.h fe/fe_xyz_test.C \ - fe/dual_shape_verification_test.C geom/bbox_test.C \ + fe/dual_shape_verification_test.C \ + fe/fe_lagrange_shape_verification_test.C geom/bbox_test.C \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ geom/side_test.C geom/volume_test.C \ @@ -1081,6 +1090,7 @@ am__objects_10 = unit_tests_prof-driver.$(OBJEXT) \ fe/unit_tests_prof-fe_szabab_test.$(OBJEXT) \ fe/unit_tests_prof-fe_xyz_test.$(OBJEXT) \ fe/unit_tests_prof-dual_shape_verification_test.$(OBJEXT) \ + fe/unit_tests_prof-fe_lagrange_shape_verification_test.$(OBJEXT) \ geom/unit_tests_prof-bbox_test.$(OBJEXT) \ geom/unit_tests_prof-edge_test.$(OBJEXT) \ geom/unit_tests_prof-elem_test.$(OBJEXT) \ @@ -1245,6 +1255,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_l2_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_monomial_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_rational_map.Po \ @@ -1260,6 +1271,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_l2_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_monomial_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_rational_map.Po \ @@ -1275,6 +1287,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_l2_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_monomial_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_rational_map.Po \ @@ -1290,6 +1303,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_l2_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_monomial_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_rational_map.Po \ @@ -1305,6 +1319,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_l2_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_monomial_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_rational_map.Po \ @@ -2270,7 +2285,8 @@ unit_tests_sources = driver.C libmesh_cppunit.h stream_redirector.h \ fe/fe_lagrange_test.C fe/fe_monomial_test.C \ fe/fe_rational_map.C fe/fe_rational_test.C fe/fe_side_test.C \ fe/fe_szabab_test.C fe/fe_test.h fe/fe_xyz_test.C \ - fe/dual_shape_verification_test.C geom/bbox_test.C \ + fe/dual_shape_verification_test.C \ + fe/fe_lagrange_shape_verification_test.C geom/bbox_test.C \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ geom/side_test.C geom/volume_test.C \ @@ -2582,6 +2598,8 @@ fe/unit_tests_dbg-fe_xyz_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_dbg-dual_shape_verification_test.$(OBJEXT): \ fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_dbg-fe_lagrange_shape_verification_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) geom/$(am__dirstamp): @$(MKDIR_P) geom @: >>geom/$(am__dirstamp) @@ -2890,6 +2908,8 @@ fe/unit_tests_devel-fe_xyz_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_devel-dual_shape_verification_test.$(OBJEXT): \ fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_devel-fe_lagrange_shape_verification_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) geom/unit_tests_devel-bbox_test.$(OBJEXT): geom/$(am__dirstamp) \ geom/$(DEPDIR)/$(am__dirstamp) geom/unit_tests_devel-edge_test.$(OBJEXT): geom/$(am__dirstamp) \ @@ -3138,6 +3158,8 @@ fe/unit_tests_oprof-fe_xyz_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_oprof-dual_shape_verification_test.$(OBJEXT): \ fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_oprof-fe_lagrange_shape_verification_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) geom/unit_tests_oprof-bbox_test.$(OBJEXT): geom/$(am__dirstamp) \ geom/$(DEPDIR)/$(am__dirstamp) geom/unit_tests_oprof-edge_test.$(OBJEXT): geom/$(am__dirstamp) \ @@ -3386,6 +3408,8 @@ fe/unit_tests_opt-fe_xyz_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_opt-dual_shape_verification_test.$(OBJEXT): \ fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_opt-fe_lagrange_shape_verification_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) geom/unit_tests_opt-bbox_test.$(OBJEXT): geom/$(am__dirstamp) \ geom/$(DEPDIR)/$(am__dirstamp) geom/unit_tests_opt-edge_test.$(OBJEXT): geom/$(am__dirstamp) \ @@ -3634,6 +3658,8 @@ fe/unit_tests_prof-fe_xyz_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_prof-dual_shape_verification_test.$(OBJEXT): \ fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_prof-fe_lagrange_shape_verification_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) geom/unit_tests_prof-bbox_test.$(OBJEXT): geom/$(am__dirstamp) \ geom/$(DEPDIR)/$(am__dirstamp) geom/unit_tests_prof-edge_test.$(OBJEXT): geom/$(am__dirstamp) \ @@ -3904,6 +3930,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_l2_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_monomial_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_rational_map.Po@am__quote@ # am--include-marker @@ -3919,6 +3946,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_l2_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_monomial_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_rational_map.Po@am__quote@ # am--include-marker @@ -3934,6 +3962,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_l2_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_monomial_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_rational_map.Po@am__quote@ # am--include-marker @@ -3949,6 +3978,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_l2_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_monomial_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_rational_map.Po@am__quote@ # am--include-marker @@ -3964,6 +3994,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_l2_hierarchic_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_monomial_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_rational_map.Po@am__quote@ # am--include-marker @@ -4805,6 +4836,20 @@ fe/unit_tests_dbg-dual_shape_verification_test.obj: fe/dual_shape_verification_t @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_dbg_CPPFLAGS) $(CPPFLAGS) $(unit_tests_dbg_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_dbg-dual_shape_verification_test.obj `if test -f 'fe/dual_shape_verification_test.C'; then $(CYGPATH_W) 'fe/dual_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/dual_shape_verification_test.C'; fi` +fe/unit_tests_dbg-fe_lagrange_shape_verification_test.o: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_dbg_CPPFLAGS) $(CPPFLAGS) $(unit_tests_dbg_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_dbg-fe_lagrange_shape_verification_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_dbg-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_dbg-fe_lagrange_shape_verification_test.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_dbg_CPPFLAGS) $(CPPFLAGS) $(unit_tests_dbg_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_dbg-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C + +fe/unit_tests_dbg-fe_lagrange_shape_verification_test.obj: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_dbg_CPPFLAGS) $(CPPFLAGS) $(unit_tests_dbg_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_dbg-fe_lagrange_shape_verification_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_dbg-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_dbg-fe_lagrange_shape_verification_test.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_dbg_CPPFLAGS) $(CPPFLAGS) $(unit_tests_dbg_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_dbg-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` + geom/unit_tests_dbg-bbox_test.o: geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_dbg_CPPFLAGS) $(CPPFLAGS) $(unit_tests_dbg_CXXFLAGS) $(CXXFLAGS) -MT geom/unit_tests_dbg-bbox_test.o -MD -MP -MF geom/$(DEPDIR)/unit_tests_dbg-bbox_test.Tpo -c -o geom/unit_tests_dbg-bbox_test.o `test -f 'geom/bbox_test.C' || echo '$(srcdir)/'`geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) geom/$(DEPDIR)/unit_tests_dbg-bbox_test.Tpo geom/$(DEPDIR)/unit_tests_dbg-bbox_test.Po @@ -6471,6 +6516,20 @@ fe/unit_tests_devel-dual_shape_verification_test.obj: fe/dual_shape_verification @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_devel_CPPFLAGS) $(CPPFLAGS) $(unit_tests_devel_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_devel-dual_shape_verification_test.obj `if test -f 'fe/dual_shape_verification_test.C'; then $(CYGPATH_W) 'fe/dual_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/dual_shape_verification_test.C'; fi` +fe/unit_tests_devel-fe_lagrange_shape_verification_test.o: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_devel_CPPFLAGS) $(CPPFLAGS) $(unit_tests_devel_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_devel-fe_lagrange_shape_verification_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_devel-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_devel-fe_lagrange_shape_verification_test.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_devel_CPPFLAGS) $(CPPFLAGS) $(unit_tests_devel_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_devel-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C + +fe/unit_tests_devel-fe_lagrange_shape_verification_test.obj: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_devel_CPPFLAGS) $(CPPFLAGS) $(unit_tests_devel_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_devel-fe_lagrange_shape_verification_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_devel-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_devel-fe_lagrange_shape_verification_test.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_devel_CPPFLAGS) $(CPPFLAGS) $(unit_tests_devel_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_devel-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` + geom/unit_tests_devel-bbox_test.o: geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_devel_CPPFLAGS) $(CPPFLAGS) $(unit_tests_devel_CXXFLAGS) $(CXXFLAGS) -MT geom/unit_tests_devel-bbox_test.o -MD -MP -MF geom/$(DEPDIR)/unit_tests_devel-bbox_test.Tpo -c -o geom/unit_tests_devel-bbox_test.o `test -f 'geom/bbox_test.C' || echo '$(srcdir)/'`geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) geom/$(DEPDIR)/unit_tests_devel-bbox_test.Tpo geom/$(DEPDIR)/unit_tests_devel-bbox_test.Po @@ -8137,6 +8196,20 @@ fe/unit_tests_oprof-dual_shape_verification_test.obj: fe/dual_shape_verification @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_oprof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_oprof_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_oprof-dual_shape_verification_test.obj `if test -f 'fe/dual_shape_verification_test.C'; then $(CYGPATH_W) 'fe/dual_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/dual_shape_verification_test.C'; fi` +fe/unit_tests_oprof-fe_lagrange_shape_verification_test.o: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_oprof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_oprof_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_oprof-fe_lagrange_shape_verification_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_oprof-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_oprof-fe_lagrange_shape_verification_test.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_oprof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_oprof_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_oprof-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C + +fe/unit_tests_oprof-fe_lagrange_shape_verification_test.obj: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_oprof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_oprof_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_oprof-fe_lagrange_shape_verification_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_oprof-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_oprof-fe_lagrange_shape_verification_test.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_oprof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_oprof_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_oprof-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` + geom/unit_tests_oprof-bbox_test.o: geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_oprof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_oprof_CXXFLAGS) $(CXXFLAGS) -MT geom/unit_tests_oprof-bbox_test.o -MD -MP -MF geom/$(DEPDIR)/unit_tests_oprof-bbox_test.Tpo -c -o geom/unit_tests_oprof-bbox_test.o `test -f 'geom/bbox_test.C' || echo '$(srcdir)/'`geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) geom/$(DEPDIR)/unit_tests_oprof-bbox_test.Tpo geom/$(DEPDIR)/unit_tests_oprof-bbox_test.Po @@ -9803,6 +9876,20 @@ fe/unit_tests_opt-dual_shape_verification_test.obj: fe/dual_shape_verification_t @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_opt_CPPFLAGS) $(CPPFLAGS) $(unit_tests_opt_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_opt-dual_shape_verification_test.obj `if test -f 'fe/dual_shape_verification_test.C'; then $(CYGPATH_W) 'fe/dual_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/dual_shape_verification_test.C'; fi` +fe/unit_tests_opt-fe_lagrange_shape_verification_test.o: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_opt_CPPFLAGS) $(CPPFLAGS) $(unit_tests_opt_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_opt-fe_lagrange_shape_verification_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_opt-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_opt-fe_lagrange_shape_verification_test.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_opt_CPPFLAGS) $(CPPFLAGS) $(unit_tests_opt_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_opt-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C + +fe/unit_tests_opt-fe_lagrange_shape_verification_test.obj: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_opt_CPPFLAGS) $(CPPFLAGS) $(unit_tests_opt_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_opt-fe_lagrange_shape_verification_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_opt-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_opt-fe_lagrange_shape_verification_test.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_opt_CPPFLAGS) $(CPPFLAGS) $(unit_tests_opt_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_opt-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` + geom/unit_tests_opt-bbox_test.o: geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_opt_CPPFLAGS) $(CPPFLAGS) $(unit_tests_opt_CXXFLAGS) $(CXXFLAGS) -MT geom/unit_tests_opt-bbox_test.o -MD -MP -MF geom/$(DEPDIR)/unit_tests_opt-bbox_test.Tpo -c -o geom/unit_tests_opt-bbox_test.o `test -f 'geom/bbox_test.C' || echo '$(srcdir)/'`geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) geom/$(DEPDIR)/unit_tests_opt-bbox_test.Tpo geom/$(DEPDIR)/unit_tests_opt-bbox_test.Po @@ -11469,6 +11556,20 @@ fe/unit_tests_prof-dual_shape_verification_test.obj: fe/dual_shape_verification_ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_prof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_prof_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_prof-dual_shape_verification_test.obj `if test -f 'fe/dual_shape_verification_test.C'; then $(CYGPATH_W) 'fe/dual_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/dual_shape_verification_test.C'; fi` +fe/unit_tests_prof-fe_lagrange_shape_verification_test.o: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_prof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_prof_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_prof-fe_lagrange_shape_verification_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_prof-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_prof-fe_lagrange_shape_verification_test.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_prof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_prof_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_prof-fe_lagrange_shape_verification_test.o `test -f 'fe/fe_lagrange_shape_verification_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_shape_verification_test.C + +fe/unit_tests_prof-fe_lagrange_shape_verification_test.obj: fe/fe_lagrange_shape_verification_test.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_prof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_prof_CXXFLAGS) $(CXXFLAGS) -MT fe/unit_tests_prof-fe_lagrange_shape_verification_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Tpo -c -o fe/unit_tests_prof-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_shape_verification_test.C' object='fe/unit_tests_prof-fe_lagrange_shape_verification_test.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_prof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_prof_CXXFLAGS) $(CXXFLAGS) -c -o fe/unit_tests_prof-fe_lagrange_shape_verification_test.obj `if test -f 'fe/fe_lagrange_shape_verification_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_shape_verification_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_shape_verification_test.C'; fi` + geom/unit_tests_prof-bbox_test.o: geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_prof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_prof_CXXFLAGS) $(CXXFLAGS) -MT geom/unit_tests_prof-bbox_test.o -MD -MP -MF geom/$(DEPDIR)/unit_tests_prof-bbox_test.Tpo -c -o geom/unit_tests_prof-bbox_test.o `test -f 'geom/bbox_test.C' || echo '$(srcdir)/'`geom/bbox_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) geom/$(DEPDIR)/unit_tests_prof-bbox_test.Tpo geom/$(DEPDIR)/unit_tests_prof-bbox_test.Po @@ -13223,6 +13324,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_rational_map.Po @@ -13238,6 +13340,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_rational_map.Po @@ -13253,6 +13356,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_rational_map.Po @@ -13268,6 +13372,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_rational_map.Po @@ -13283,6 +13388,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_rational_map.Po @@ -13865,6 +13971,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_rational_map.Po @@ -13880,6 +13987,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_rational_map.Po @@ -13895,6 +14003,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_rational_map.Po @@ -13910,6 +14019,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_rational_map.Po @@ -13925,6 +14035,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_monomial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_rational_map.Po diff --git a/tests/fe/fe_lagrange_shape_verification_test.C b/tests/fe/fe_lagrange_shape_verification_test.C new file mode 100644 index 00000000000..76b4d8401a8 --- /dev/null +++ b/tests/fe/fe_lagrange_shape_verification_test.C @@ -0,0 +1,61 @@ +// libmesh includes +#include "libmesh/libmesh.h" +#include "libmesh/elem.h" +#include "libmesh/fe.h" +#include "libmesh/fe_lagrange_shape_1D.h" + +// unit test includes +#include "test_comm.h" + +#include "libmesh_cppunit.h" + +using namespace libMesh; + +/** + * This class is for unit testing lagrange shape function values and derivatives + */ +class LagrangeShapeTest : public CppUnit::TestCase +{ +public: + + LIBMESH_CPPUNIT_TEST_SUITE( LagrangeShapeTest ); + CPPUNIT_TEST( test1DLagrange ); + CPPUNIT_TEST_SUITE_END(); + +public: + + void test1DLagrange () + { + LOG_UNIT_TEST; + + Real tol = TOLERANCE*TOLERANCE; + + for (auto xi : {0., 1./3., -.5, -1./7.}) + for(auto o : make_range(1, 4)) + for(auto i : make_range(o + 1)) + { + LIBMESH_ASSERT_FP_EQUAL(fe_lagrange_1D_shape(Order(o), i, xi), + fe_lagrange_1D_any_shape(Order(o), i, xi), tol); + LIBMESH_ASSERT_FP_EQUAL(fe_lagrange_1D_shape_deriv(Order(o), i, 0, xi), + fe_lagrange_1D_any_shape_deriv(Order(o), i, 0, xi), tol); + LIBMESH_ASSERT_FP_EQUAL(fe_lagrange_1D_shape_second_deriv(Order(o), i, 0, xi), + fe_lagrange_1D_any_shape_second_deriv(Order(o), i, 0, xi), tol); + } + + for (auto xi : {0., 1./3., -.5, -1./7.}) + for(auto o : make_range(4, 7)) + for(auto i : make_range(o + 1)) + { + using T = FE<1,LAGRANGE>; + const unsigned ii = i == 0 ? 1 : i == 1 ? 0 : o + 2 - i; + LIBMESH_ASSERT_FP_EQUAL(T::shape(EDGE3, Order(o), i, xi), + T::shape(EDGE3, Order(o), ii, -xi), tol); + LIBMESH_ASSERT_FP_EQUAL( T::shape_deriv(EDGE3, Order(o), i, 0, xi), + -T::shape_deriv(EDGE3, Order(o), ii, 0, -xi), tol); + LIBMESH_ASSERT_FP_EQUAL(T::shape_second_deriv(EDGE3, Order(o), i, 0, xi), + T::shape_second_deriv(EDGE3, Order(o), ii, 0, -xi), tol); + } + } +}; + +CPPUNIT_TEST_SUITE_REGISTRATION( LagrangeShapeTest );