From 45803c78dbbce2aab75fe227eeebd16fdd89ef4d Mon Sep 17 00:00:00 2001 From: Alex Lindsay Date: Thu, 20 Aug 2026 10:38:34 -0700 Subject: [PATCH 1/3] Guard use of max_new_nodes_per_elem In the parameter list `max_new_nodes_per_elem` is wrapped by our unique id ifdef guards, so we must do the same for use of the variable in the function body Co-Authored-By: Claude --- src/mesh/unstructured_mesh.C | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesh/unstructured_mesh.C b/src/mesh/unstructured_mesh.C index fa581d1454..5cff72f109 100644 --- a/src/mesh/unstructured_mesh.C +++ b/src/mesh/unstructured_mesh.C @@ -119,8 +119,10 @@ void transfer_elem(Elem & lo_elem, const unsigned int hon_end = hi_elem->n_nodes(); libmesh_assert_less (hon_begin, hon_end); +#ifdef LIBMESH_ENABLE_UNIQUE_ID libmesh_assert_less_equal (hon_end-hon_begin, max_new_nodes_per_elem); +#endif for (unsigned int hon=hon_begin; hon Date: Thu, 20 Aug 2026 12:02:25 -0700 Subject: [PATCH 2/3] Implement H(div) physical gradient calcs via contravariant Piola transform Closes #4524 Co-Authored-By: Claude --- include/fe/hdiv_fe_transformation.h | 26 +-- src/fe/hdiv_fe_transformation.C | 298 +++++++++++++++++++++++++--- tests/Makefile.am | 1 + tests/fe/fe_hdiv_grad_test.C | 167 ++++++++++++++++ 4 files changed, 456 insertions(+), 36 deletions(-) create mode 100644 tests/fe/fe_hdiv_grad_test.C diff --git a/include/fe/hdiv_fe_transformation.h b/include/fe/hdiv_fe_transformation.h index 8712250df3..ba06f9bf65 100644 --- a/include/fe/hdiv_fe_transformation.h +++ b/include/fe/hdiv_fe_transformation.h @@ -74,19 +74,21 @@ class HDivFETransformation : public FETransformationBase /** * Evaluates shape function gradients in physical coordinates for - * \f$ H(div) \f$ conforming elements. + * \f$ H(div) \f$ conforming elements, via the contravariant Piola + * map's derivative (the gradient of \f$ \phi = J^{-1} (dx/d\xi) + * \hat{\phi} \f$ with respect to physical coordinates). Requires + * \p LIBMESH_ENABLE_SECOND_DERIVATIVES, since the map's own second + * derivatives are needed to differentiate \f$ J^{-1} \f$ and + * \f$ (dx/d\xi) \f$. */ - virtual void map_dphi(const unsigned int /*dim*/, - const Elem * const /*elem*/, - const std::vector & /*qp*/, - const FEGenericBase & /*fe*/, - std::vector::OutputGradient>> & /*dphi*/, - std::vector> & /*dphidx*/, - std::vector> & /*dphidy*/, - std::vector> & /*dphidz*/) const override - { - libmesh_warning("WARNING: Shape function gradients for HDiv elements are not currently being computed!"); - } + virtual void map_dphi(const unsigned int dim, + const Elem * const elem, + const std::vector & qp, + const FEGenericBase & fe, + std::vector::OutputGradient>> & dphi, + std::vector> & dphidx, + std::vector> & dphidy, + std::vector> & dphidz) const override; #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES /** diff --git a/src/fe/hdiv_fe_transformation.C b/src/fe/hdiv_fe_transformation.C index 889a9938f7..89c232b808 100644 --- a/src/fe/hdiv_fe_transformation.C +++ b/src/fe/hdiv_fe_transformation.C @@ -19,6 +19,44 @@ #include "libmesh/fe_interface.h" #include "libmesh/int_range.h" +namespace { + +using namespace libMesh; + +// The contravariant Piola map phi = J^{-1} * (dx/dxi) * phihat, shared by +// map_phi and map_dphi (which also needs the physical shape function value +// for the term coming from the derivative of J^{-1}). +template +OutputShape hdiv_piola_map(const RealGradient & dx_dxi, + const RealGradient & dx_deta, + Real J, + const OutputShape & phi_ref) +{ + OutputShape phi_val; + phi_val(0) = (dx_dxi(0)*phi_ref(0) + dx_deta(0)*phi_ref(1))/J; + phi_val(1) = (dx_dxi(1)*phi_ref(0) + dx_deta(1)*phi_ref(1))/J; +#if LIBMESH_DIM > 2 + phi_val(2) = (dx_dxi(2)*phi_ref(0) + dx_deta(2)*phi_ref(1))/J; +#endif + return phi_val; +} + +template +OutputShape hdiv_piola_map(const RealGradient & dx_dxi, + const RealGradient & dx_deta, + const RealGradient & dx_dzeta, + Real J, + const OutputShape & phi_ref) +{ + OutputShape phi_val; + phi_val(0) = (dx_dxi(0)*phi_ref(0) + dx_deta(0)*phi_ref(1) + dx_dzeta(0)*phi_ref(2))/J; + phi_val(1) = (dx_dxi(1)*phi_ref(0) + dx_deta(1)*phi_ref(1) + dx_dzeta(1)*phi_ref(2))/J; + phi_val(2) = (dx_dxi(2)*phi_ref(0) + dx_deta(2)*phi_ref(1) + dx_dzeta(2)*phi_ref(2))/J; + return phi_val; +} + +} // anonymous namespace + namespace libMesh { @@ -34,6 +72,9 @@ template void HDivFETransformation::init_map_dphi(const FEGenericBase & fe) const { fe.get_fe_map().get_dxidx(); +#ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES + fe.get_fe_map().get_d2xyzdxi2(); +#endif } @@ -74,24 +115,13 @@ void HDivFETransformation::map_phi(const unsigned int dim, for (auto i : index_range(phi)) for (auto p : index_range(phi[i])) { - Real dx_dxi = dxyz_dxi[p](0); - Real dx_deta = dxyz_deta[p](0); - - Real dy_dxi = dxyz_dxi[p](1); - Real dy_deta = dxyz_deta[p](1); - - Real dz_dxi = dxyz_dxi[p](2); - Real dz_deta = dxyz_deta[p](2); - // Need to temporarily cache reference shape functions // We are computing mapping basis functions, so we explicitly ignore // any non-zero p_level() the Elem might have. OutputShape phi_ref; FEInterface::shape(fe.get_fe_type(), /*extra_order=*/0, elem, i, qp[p], phi_ref); - phi[i][p](0) = (dx_dxi*phi_ref(0) + dx_deta*phi_ref(1))/J[p]; - phi[i][p](1) = (dy_dxi*phi_ref(0) + dy_deta*phi_ref(1))/J[p]; - phi[i][p](2) = (dz_dxi*phi_ref(0) + dz_deta*phi_ref(1))/J[p]; + phi[i][p] = hdiv_piola_map(dxyz_dxi[p], dxyz_deta[p], J[p], phi_ref); } break; @@ -108,27 +138,229 @@ void HDivFETransformation::map_phi(const unsigned int dim, for (auto i : index_range(phi)) for (auto p : index_range(phi[i])) { - Real dx_dxi = dxyz_dxi[p](0); - Real dx_deta = dxyz_deta[p](0); - Real dx_dzeta = dxyz_dzeta[p](0); + // Need to temporarily cache reference shape functions + // We are computing mapping basis functions, so we explicitly ignore + // any non-zero p_level() the Elem might have. + OutputShape phi_ref; + FEInterface::shape(fe.get_fe_type(), /*extra_order=*/0, elem, i, qp[p], phi_ref); + + phi[i][p] = hdiv_piola_map(dxyz_dxi[p], dxyz_deta[p], dxyz_dzeta[p], J[p], phi_ref); + } - Real dy_dxi = dxyz_dxi[p](1); - Real dy_deta = dxyz_deta[p](1); - Real dy_dzeta = dxyz_dzeta[p](1); + break; + } - Real dz_dxi = dxyz_dxi[p](2); - Real dz_deta = dxyz_deta[p](2); - Real dz_dzeta = dxyz_dzeta[p](2); + default: + libmesh_error_msg("Invalid dim = " << dim); + } // switch(dim) +} +template +void HDivFETransformation::map_dphi(const unsigned int dim, + const Elem * const elem, + const std::vector & qp, + const FEGenericBase & fe, + std::vector::OutputGradient>> & dphi, + std::vector> & dphidx, + std::vector> & dphidy, + std::vector> & dphidz) const +{ +#ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES + switch (dim) + { + case 0: + case 1: + libmesh_error_msg("These element transformations only make sense in 2D and 3D."); + + case 2: + { + const std::vector & dxyz_dxi = fe.get_fe_map().get_dxyzdxi(); + const std::vector & dxyz_deta = fe.get_fe_map().get_dxyzdeta(); + + const std::vector & d2xyz_dxi2 = fe.get_fe_map().get_d2xyzdxi2(); + const std::vector & d2xyz_deta2 = fe.get_fe_map().get_d2xyzdeta2(); + const std::vector & d2xyz_dxideta = fe.get_fe_map().get_d2xyzdxideta(); + + const std::vector & J = fe.get_fe_map().get_jacobian(); + + const std::vector & dxi_dx = fe.get_fe_map().get_dxidx(); + const std::vector & dxi_dy = fe.get_fe_map().get_dxidy(); + const std::vector & deta_dx = fe.get_fe_map().get_detadx(); + const std::vector & deta_dy = fe.get_fe_map().get_detady(); +#if LIBMESH_DIM > 2 + const std::vector & dxi_dz = fe.get_fe_map().get_dxidz(); + const std::vector & deta_dz = fe.get_fe_map().get_detadz(); +#endif + + const std::vector> & dphi_dxi = fe.get_dphidxi(); + const std::vector> & dphi_deta = fe.get_dphideta(); + + for (auto i : index_range(dphi)) + for (auto p : index_range(dphi[i])) + { // Need to temporarily cache reference shape functions // We are computing mapping basis functions, so we explicitly ignore // any non-zero p_level() the Elem might have. OutputShape phi_ref; FEInterface::shape(fe.get_fe_type(), /*extra_order=*/0, elem, i, qp[p], phi_ref); - phi[i][p](0) = (dx_dxi*phi_ref(0) + dx_deta*phi_ref(1) + dx_dzeta*phi_ref(2))/J[p]; - phi[i][p](1) = (dy_dxi*phi_ref(0) + dy_deta*phi_ref(1) + dy_dzeta*phi_ref(2))/J[p]; - phi[i][p](2) = (dz_dxi*phi_ref(0) + dz_deta*phi_ref(1) + dz_dzeta*phi_ref(2))/J[p]; + const OutputShape phi_val = + hdiv_piola_map(dxyz_dxi[p], dxyz_deta[p], J[p], phi_ref); + + // Jacobi's formula: dJ/dxi_n = J * tr(F^{-1} * dF/dxi_n) + Real dJ_dxi = + J[p] * (dxi_dx[p]*d2xyz_dxi2[p](0) + deta_dx[p]*d2xyz_dxideta[p](0) + + dxi_dy[p]*d2xyz_dxi2[p](1) + deta_dy[p]*d2xyz_dxideta[p](1)); + Real dJ_deta = + J[p] * (dxi_dx[p]*d2xyz_dxideta[p](0) + deta_dx[p]*d2xyz_deta2[p](0) + + dxi_dy[p]*d2xyz_dxideta[p](1) + deta_dy[p]*d2xyz_deta2[p](1)); +#if LIBMESH_DIM > 2 + dJ_dxi += J[p] * (dxi_dz[p]*d2xyz_dxi2[p](2) + deta_dz[p]*d2xyz_dxideta[p](2)); + dJ_deta += J[p] * (dxi_dz[p]*d2xyz_dxideta[p](2) + deta_dz[p]*d2xyz_deta2[p](2)); +#endif + + for (unsigned int k = 0; k < LIBMESH_DIM; ++k) + { + // dphi_k/dx_l = A + B + C, where (n, m summed over reference directions): + // A = -phi_k(x) * SUM_n (dxi_n/dx_l) * (1/J) * (dJ/dxi_n) + // B = (1/J) * SUM_n (dxi_n/dx_l) * SUM_m (d^2 x_k/dxi_m dxi_n) * phihat_m + // C = (1/J) * SUM_n (dxi_n/dx_l) * SUM_m F_{km} * dphihat_m/dxi_n + + // Term A: -phi_k(x) * SUM_n (dxi_n/dx_l)*(1/J)*(dJ/dxi_n) + const Real phik = (k == 0) ? phi_val(0) : (k == 1) ? phi_val(1) : phi_val(2); + + // Term B: (1/J) * SUM_n (dxi_n/dx_l) * SUM_m (d^2 x_k/dxi_m dxi_n) * phihat_m + const Real d2x_k_dxi2 = (k == 0) ? d2xyz_dxi2[p](0) : (k == 1) ? d2xyz_dxi2[p](1) : d2xyz_dxi2[p](2); + const Real d2x_k_deta2 = (k == 0) ? d2xyz_deta2[p](0) : (k == 1) ? d2xyz_deta2[p](1) : d2xyz_deta2[p](2); + const Real d2x_k_dxideta = (k == 0) ? d2xyz_dxideta[p](0) : (k == 1) ? d2xyz_dxideta[p](1) : d2xyz_dxideta[p](2); + + const Real dphik_dxi_B = (d2x_k_dxi2*phi_ref(0) + d2x_k_dxideta*phi_ref(1))/J[p]; + const Real dphik_deta_B = (d2x_k_dxideta*phi_ref(0) + d2x_k_deta2*phi_ref(1))/J[p]; + + // Term C: (1/J) * SUM_n (dxi_n/dx_l) * SUM_m F_{km} * dphihat_m/dxi_n + const Real Fk_xi = (k == 0) ? dxyz_dxi[p](0) : (k == 1) ? dxyz_dxi[p](1) : dxyz_dxi[p](2); + const Real Fk_eta = (k == 0) ? dxyz_deta[p](0) : (k == 1) ? dxyz_deta[p](1) : dxyz_deta[p](2); + + const Real dphik_dxi_C = (Fk_xi*dphi_dxi[i][p](0) + Fk_eta*dphi_dxi[i][p](1))/J[p]; + const Real dphik_deta_C = (Fk_xi*dphi_deta[i][p](0) + Fk_eta*dphi_deta[i][p](1))/J[p]; + + const Real dphik_dxi_total = -phik*dJ_dxi/J[p] + dphik_dxi_B + dphik_dxi_C; + const Real dphik_deta_total = -phik*dJ_deta/J[p] + dphik_deta_B + dphik_deta_C; + + dphidx[i][p](k) = dxi_dx[p]*dphik_dxi_total + deta_dx[p]*dphik_deta_total; + dphidy[i][p](k) = dxi_dy[p]*dphik_dxi_total + deta_dy[p]*dphik_deta_total; +#if LIBMESH_DIM > 2 + dphidz[i][p](k) = dxi_dz[p]*dphik_dxi_total + deta_dz[p]*dphik_deta_total; +#endif + } + + dphi[i][p].slice(0) = dphidx[i][p]; + dphi[i][p].slice(1) = dphidy[i][p]; +#if LIBMESH_DIM > 2 + dphi[i][p].slice(2) = dphidz[i][p]; +#endif + } + + break; + } + case 3: + { + const std::vector & dxyz_dxi = fe.get_fe_map().get_dxyzdxi(); + const std::vector & dxyz_deta = fe.get_fe_map().get_dxyzdeta(); + const std::vector & dxyz_dzeta = fe.get_fe_map().get_dxyzdzeta(); + + const std::vector & d2xyz_dxi2 = fe.get_fe_map().get_d2xyzdxi2(); + const std::vector & d2xyz_deta2 = fe.get_fe_map().get_d2xyzdeta2(); + const std::vector & d2xyz_dzeta2 = fe.get_fe_map().get_d2xyzdzeta2(); + const std::vector & d2xyz_dxideta = fe.get_fe_map().get_d2xyzdxideta(); + const std::vector & d2xyz_dxidzeta = fe.get_fe_map().get_d2xyzdxidzeta(); + const std::vector & d2xyz_detadzeta = fe.get_fe_map().get_d2xyzdetadzeta(); + + const std::vector & J = fe.get_fe_map().get_jacobian(); + + const std::vector & dxi_dx = fe.get_fe_map().get_dxidx(); + const std::vector & dxi_dy = fe.get_fe_map().get_dxidy(); + const std::vector & dxi_dz = fe.get_fe_map().get_dxidz(); + const std::vector & deta_dx = fe.get_fe_map().get_detadx(); + const std::vector & deta_dy = fe.get_fe_map().get_detady(); + const std::vector & deta_dz = fe.get_fe_map().get_detadz(); + const std::vector & dzeta_dx = fe.get_fe_map().get_dzetadx(); + const std::vector & dzeta_dy = fe.get_fe_map().get_dzetady(); + const std::vector & dzeta_dz = fe.get_fe_map().get_dzetadz(); + + const std::vector> & dphi_dxi = fe.get_dphidxi(); + const std::vector> & dphi_deta = fe.get_dphideta(); + const std::vector> & dphi_dzeta = fe.get_dphidzeta(); + + for (auto i : index_range(dphi)) + for (auto p : index_range(dphi[i])) + { + // Need to temporarily cache reference shape functions + // We are computing mapping basis functions, so we explicitly ignore + // any non-zero p_level() the Elem might have. + OutputShape phi_ref; + FEInterface::shape(fe.get_fe_type(), /*extra_order=*/0, elem, i, qp[p], phi_ref); + + const OutputShape phi_val = + hdiv_piola_map(dxyz_dxi[p], dxyz_deta[p], dxyz_dzeta[p], J[p], phi_ref); + + // Jacobi's formula: dJ/dxi_n = J * tr(F^{-1} * dF/dxi_n) + const Real dJ_dxi = + J[p] * (dxi_dx[p]*d2xyz_dxi2[p](0) + deta_dx[p]*d2xyz_dxideta[p](0) + dzeta_dx[p]*d2xyz_dxidzeta[p](0) + + dxi_dy[p]*d2xyz_dxi2[p](1) + deta_dy[p]*d2xyz_dxideta[p](1) + dzeta_dy[p]*d2xyz_dxidzeta[p](1) + + dxi_dz[p]*d2xyz_dxi2[p](2) + deta_dz[p]*d2xyz_dxideta[p](2) + dzeta_dz[p]*d2xyz_dxidzeta[p](2)); + const Real dJ_deta = + J[p] * (dxi_dx[p]*d2xyz_dxideta[p](0) + deta_dx[p]*d2xyz_deta2[p](0) + dzeta_dx[p]*d2xyz_detadzeta[p](0) + + dxi_dy[p]*d2xyz_dxideta[p](1) + deta_dy[p]*d2xyz_deta2[p](1) + dzeta_dy[p]*d2xyz_detadzeta[p](1) + + dxi_dz[p]*d2xyz_dxideta[p](2) + deta_dz[p]*d2xyz_deta2[p](2) + dzeta_dz[p]*d2xyz_detadzeta[p](2)); + const Real dJ_dzeta = + J[p] * (dxi_dx[p]*d2xyz_dxidzeta[p](0) + deta_dx[p]*d2xyz_detadzeta[p](0) + dzeta_dx[p]*d2xyz_dzeta2[p](0) + + dxi_dy[p]*d2xyz_dxidzeta[p](1) + deta_dy[p]*d2xyz_detadzeta[p](1) + dzeta_dy[p]*d2xyz_dzeta2[p](1) + + dxi_dz[p]*d2xyz_dxidzeta[p](2) + deta_dz[p]*d2xyz_detadzeta[p](2) + dzeta_dz[p]*d2xyz_dzeta2[p](2)); + + for (unsigned int k = 0; k < 3; ++k) + { + // dphi_k/dx_l = A + B + C, where (n, m summed over reference directions): + // A = -phi_k(x) * SUM_n (dxi_n/dx_l) * (1/J) * (dJ/dxi_n) + // B = (1/J) * SUM_n (dxi_n/dx_l) * SUM_m (d^2 x_k/dxi_m dxi_n) * phihat_m + // C = (1/J) * SUM_n (dxi_n/dx_l) * SUM_m F_{km} * dphihat_m/dxi_n + + // Term A: -phi_k(x) * SUM_n (dxi_n/dx_l)*(1/J)*(dJ/dxi_n) + const Real phik = (k == 0) ? phi_val(0) : (k == 1) ? phi_val(1) : phi_val(2); + + // Term B: (1/J) * SUM_n (dxi_n/dx_l) * SUM_m (d^2 x_k/dxi_m dxi_n) * phihat_m + const Real d2x_k_dxi2 = (k == 0) ? d2xyz_dxi2[p](0) : (k == 1) ? d2xyz_dxi2[p](1) : d2xyz_dxi2[p](2); + const Real d2x_k_deta2 = (k == 0) ? d2xyz_deta2[p](0) : (k == 1) ? d2xyz_deta2[p](1) : d2xyz_deta2[p](2); + const Real d2x_k_dzeta2 = (k == 0) ? d2xyz_dzeta2[p](0) : (k == 1) ? d2xyz_dzeta2[p](1) : d2xyz_dzeta2[p](2); + const Real d2x_k_dxideta = (k == 0) ? d2xyz_dxideta[p](0) : (k == 1) ? d2xyz_dxideta[p](1) : d2xyz_dxideta[p](2); + const Real d2x_k_dxidzeta = (k == 0) ? d2xyz_dxidzeta[p](0) : (k == 1) ? d2xyz_dxidzeta[p](1) : d2xyz_dxidzeta[p](2); + const Real d2x_k_detadzeta = (k == 0) ? d2xyz_detadzeta[p](0) : (k == 1) ? d2xyz_detadzeta[p](1) : d2xyz_detadzeta[p](2); + + const Real dphik_dxi_B = (d2x_k_dxi2*phi_ref(0) + d2x_k_dxideta*phi_ref(1) + d2x_k_dxidzeta*phi_ref(2))/J[p]; + const Real dphik_deta_B = (d2x_k_dxideta*phi_ref(0) + d2x_k_deta2*phi_ref(1) + d2x_k_detadzeta*phi_ref(2))/J[p]; + const Real dphik_dzeta_B = (d2x_k_dxidzeta*phi_ref(0) + d2x_k_detadzeta*phi_ref(1) + d2x_k_dzeta2*phi_ref(2))/J[p]; + + // Term C: (1/J) * SUM_n (dxi_n/dx_l) * SUM_m F_{km} * dphihat_m/dxi_n + const Real Fk_xi = (k == 0) ? dxyz_dxi[p](0) : (k == 1) ? dxyz_dxi[p](1) : dxyz_dxi[p](2); + const Real Fk_eta = (k == 0) ? dxyz_deta[p](0) : (k == 1) ? dxyz_deta[p](1) : dxyz_deta[p](2); + const Real Fk_zeta = (k == 0) ? dxyz_dzeta[p](0) : (k == 1) ? dxyz_dzeta[p](1) : dxyz_dzeta[p](2); + + const Real dphik_dxi_C = (Fk_xi*dphi_dxi[i][p](0) + Fk_eta*dphi_dxi[i][p](1) + Fk_zeta*dphi_dxi[i][p](2))/J[p]; + const Real dphik_deta_C = (Fk_xi*dphi_deta[i][p](0) + Fk_eta*dphi_deta[i][p](1) + Fk_zeta*dphi_deta[i][p](2))/J[p]; + const Real dphik_dzeta_C = (Fk_xi*dphi_dzeta[i][p](0) + Fk_eta*dphi_dzeta[i][p](1) + Fk_zeta*dphi_dzeta[i][p](2))/J[p]; + + const Real dphik_dxi_total = -phik*dJ_dxi/J[p] + dphik_dxi_B + dphik_dxi_C; + const Real dphik_deta_total = -phik*dJ_deta/J[p] + dphik_deta_B + dphik_deta_C; + const Real dphik_dzeta_total = -phik*dJ_dzeta/J[p] + dphik_dzeta_B + dphik_dzeta_C; + + dphidx[i][p](k) = dxi_dx[p]*dphik_dxi_total + deta_dx[p]*dphik_deta_total + dzeta_dx[p]*dphik_dzeta_total; + dphidy[i][p](k) = dxi_dy[p]*dphik_dxi_total + deta_dy[p]*dphik_deta_total + dzeta_dy[p]*dphik_dzeta_total; + dphidz[i][p](k) = dxi_dz[p]*dphik_dxi_total + deta_dz[p]*dphik_deta_total + dzeta_dz[p]*dphik_dzeta_total; + } + + dphi[i][p].slice(0) = dphidx[i][p]; + dphi[i][p].slice(1) = dphidy[i][p]; + dphi[i][p].slice(2) = dphidz[i][p]; } break; @@ -137,6 +369,11 @@ void HDivFETransformation::map_phi(const unsigned int dim, default: libmesh_error_msg("Invalid dim = " << dim); } // switch(dim) +#else + libmesh_ignore(dim, elem, qp, fe, dphi, dphidx, dphidy, dphidz); + libmesh_error_msg("HDiv shape function gradients require the library to be configured " + "with --enable-second-derivatives (LIBMESH_ENABLE_SECOND_DERIVATIVES)."); +#endif // LIBMESH_ENABLE_SECOND_DERIVATIVES } template @@ -222,6 +459,19 @@ void HDivFETransformation::map_phi(const unsigned int, libmesh_error_msg("HDiv transformations only make sense for vector-valued elements."); } +template<> +void HDivFETransformation::map_dphi(const unsigned int, + const Elem * const, + const std::vector &, + const FEGenericBase &, + std::vector::OutputGradient>> &, + std::vector> &, + std::vector> &, + std::vector> &) const +{ + libmesh_error_msg("HDiv transformations only make sense for vector-valued elements."); +} + template<> void HDivFETransformation::map_div(const unsigned int, const Elem * const, diff --git a/tests/Makefile.am b/tests/Makefile.am index 6427362120..604d7d6a91 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -30,6 +30,7 @@ unit_tests_sources = \ base/multi_evaluable_pred_test.C \ fe/fe_bernstein_test.C \ fe/fe_clough_test.C \ + fe/fe_hdiv_grad_test.C \ fe/fe_hermite_test.C \ fe/fe_hierarchic_test.C \ fe/inf_fe_radial_test.C \ diff --git a/tests/fe/fe_hdiv_grad_test.C b/tests/fe/fe_hdiv_grad_test.C new file mode 100644 index 0000000000..ed9f575a05 --- /dev/null +++ b/tests/fe/fe_hdiv_grad_test.C @@ -0,0 +1,167 @@ +// libmesh includes +#include "libmesh/elem.h" +#include "libmesh/fe.h" +#include "libmesh/fe_map.h" +#include "libmesh/mesh.h" +#include "libmesh/mesh_generation.h" +#include "libmesh/node.h" +#include "libmesh/quadrature_gauss.h" + +// unit test includes +#include "test_comm.h" + +#include "libmesh_cppunit.h" + +using namespace libMesh; + +/** + * Verifies HDivFETransformation::map_dphi (the physical-space gradients of + * H(div)-conforming Raviart-Thomas shape functions) by comparing + * fe->get_dphi() against a central-difference approximation built from + * map_phi's own output (fe->get_phi()), evaluated at physical points + * perturbed via FEMap::inverse_map. + */ +class HDivGradTest : public CppUnit::TestCase +{ +public: + LIBMESH_CPPUNIT_TEST_SUITE(HDivGradTest); + +#if LIBMESH_DIM > 1 + CPPUNIT_TEST(testQuad8Affine); + CPPUNIT_TEST(testQuad8NonAffine); + CPPUNIT_TEST(testTri6Affine); + CPPUNIT_TEST(testTri6NonAffine); +#endif +#if LIBMESH_DIM > 2 + CPPUNIT_TEST(testHex27Affine); + CPPUNIT_TEST(testHex27NonAffine); + CPPUNIT_TEST(testTet14Affine); + CPPUNIT_TEST(testTet14NonAffine); +#endif + + CPPUNIT_TEST_SUITE_END(); + +public: + void setUp() {} + void tearDown() {} + +#if LIBMESH_DIM > 1 + // RAVIART_THOMAS dof placement piggybacks on the second-order edge/face + // nodes, so the geometric element types must be the second-order ones + // (QUAD8, TRI6, ...) even though the RT approximation order used here + // is FIRST. + void testQuad8Affine() { testGradByFiniteDifference(QUAD8, false); } + void testQuad8NonAffine() { testGradByFiniteDifference(QUAD8, true); } + void testTri6Affine() { testGradByFiniteDifference(TRI6, false); } + void testTri6NonAffine() { testGradByFiniteDifference(TRI6, true); } +#endif + +#if LIBMESH_DIM > 2 + void testHex27Affine() { testGradByFiniteDifference(HEX27, false); } + void testHex27NonAffine() { testGradByFiniteDifference(HEX27, true); } + void testTet14Affine() { testGradByFiniteDifference(TET14, false); } + void testTet14NonAffine() { testGradByFiniteDifference(TET14, true); } +#endif + +private: + // Builds a single-element mesh of the given type, optionally distorting + // one node so the element's map is non-affine, then checks the HDiv + // shape function gradients returned by fe->get_dphi() at every + // quadrature point and coordinate direction. + void testGradByFiniteDifference(const ElemType elem_type, const bool distort) + { + LOG_UNIT_TEST; + + Mesh mesh(*TestCommWorld); + unsigned int dim = 0; + + switch (elem_type) + { + case QUAD8: + case TRI6: + dim = 2; + MeshTools::Generation::build_square + (mesh, 1, 1, 0., 1., 0., 1., elem_type); + break; + case HEX27: + case TET14: + dim = 3; + MeshTools::Generation::build_cube + (mesh, 1, 1, 1, 0., 1., 0., 1., 0., 1., elem_type); + break; + default: + libmesh_error_msg("Unsupported element type " << elem_type); + } + + if (distort) + { + // Move a single vertex node without touching the associated + // edge/face nodes, turning the element's boundary curved and + // giving the map nonzero second derivatives -- this exercises + // the terms in map_dphi (A and B in the derivation) that vanish + // identically on an affine element. + Node & node = mesh.node_ref(0); + for (auto d : make_range(dim)) + node(d) += Real(0.1) * (d + 1); + } + + auto elem_range = mesh.active_local_element_ptr_range(); + if (elem_range.begin() == elem_range.end()) + return; + const Elem * elem = *(elem_range.begin()); + + const FEType fe_type(FIRST, RAVIART_THOMAS); + std::unique_ptr fe(FEVectorBase::build(dim, fe_type)); + + const std::vector> & dphi = fe->get_dphi(); + const std::vector> & phi = fe->get_phi(); + const std::vector & xyz = fe->get_xyz(); + + QGauss qrule(dim, fe_type.default_quadrature_order()); + fe->attach_quadrature_rule(&qrule); + + fe->reinit(elem); + + // Copy out what we need before the perturbed reinit() calls below + // overwrite fe's internal state. + const std::vector> dphi_base = dphi; + const std::vector qpoints = xyz; + + const Real h = 1e-6; + const Real tol = 5e-4; + + for (auto qp : index_range(qpoints)) + { + const Point x0 = qpoints[qp]; + + for (auto l : make_range(dim)) + { + Point x_plus = x0; + x_plus(l) += h; + Point x_minus = x0; + x_minus(l) -= h; + + std::vector pts_plus + (1, FEMap::inverse_map(dim, elem, x_plus)); + fe->reinit(elem, &pts_plus); + const std::vector> phi_plus = phi; + + std::vector pts_minus + (1, FEMap::inverse_map(dim, elem, x_minus)); + fe->reinit(elem, &pts_minus); + const std::vector> phi_minus = phi; + + for (auto i : index_range(dphi_base)) + for (auto k : make_range(LIBMESH_DIM)) + { + const Real fd = + (phi_plus[i][0](k) - phi_minus[i][0](k)) / (2*h); + + LIBMESH_ASSERT_FP_EQUAL(fd, dphi_base[i][qp](k, l), tol); + } + } + } + } +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(HDivGradTest); From d6a6ffda67b57a87e4a705e7d7467140bea6a647 Mon Sep 17 00:00:00 2001 From: Alex Lindsay Date: Thu, 20 Aug 2026 12:07:59 -0700 Subject: [PATCH 3/3] Run bootstrap --- tests/Makefile.in | 192 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 152 insertions(+), 40 deletions(-) diff --git a/tests/Makefile.in b/tests/Makefile.in index dd815a997f..20be3ca78b 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -195,12 +195,13 @@ am__unit_tests_dbg_SOURCES_DIST = driver.C libmesh_cppunit.h \ base/overlapping_coupling_test.C \ base/nonmanifold_coupling_test.C \ base/multi_evaluable_pred_test.C fe/fe_bernstein_test.C \ - fe/fe_clough_test.C fe/fe_hermite_test.C \ - fe/fe_hierarchic_test.C fe/inf_fe_radial_test.C \ - fe/fe_l2_hierarchic_test.C fe/fe_l2_lagrange_test.C \ - 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/fe_clough_test.C fe/fe_hdiv_grad_test.C \ + fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ + fe/inf_fe_radial_test.C fe/fe_l2_hierarchic_test.C \ + fe/fe_l2_lagrange_test.C 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 \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ @@ -275,6 +276,7 @@ am__objects_2 = unit_tests_dbg-driver.$(OBJEXT) \ base/unit_tests_dbg-multi_evaluable_pred_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_bernstein_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_clough_test.$(OBJEXT) \ + fe/unit_tests_dbg-fe_hdiv_grad_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_hermite_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_hierarchic_test.$(OBJEXT) \ fe/unit_tests_dbg-inf_fe_radial_test.$(OBJEXT) \ @@ -404,12 +406,13 @@ am__unit_tests_devel_SOURCES_DIST = driver.C libmesh_cppunit.h \ base/overlapping_coupling_test.C \ base/nonmanifold_coupling_test.C \ base/multi_evaluable_pred_test.C fe/fe_bernstein_test.C \ - fe/fe_clough_test.C fe/fe_hermite_test.C \ - fe/fe_hierarchic_test.C fe/inf_fe_radial_test.C \ - fe/fe_l2_hierarchic_test.C fe/fe_l2_lagrange_test.C \ - 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/fe_clough_test.C fe/fe_hdiv_grad_test.C \ + fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ + fe/inf_fe_radial_test.C fe/fe_l2_hierarchic_test.C \ + fe/fe_l2_lagrange_test.C 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 \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ @@ -483,6 +486,7 @@ am__objects_4 = unit_tests_devel-driver.$(OBJEXT) \ base/unit_tests_devel-multi_evaluable_pred_test.$(OBJEXT) \ fe/unit_tests_devel-fe_bernstein_test.$(OBJEXT) \ fe/unit_tests_devel-fe_clough_test.$(OBJEXT) \ + fe/unit_tests_devel-fe_hdiv_grad_test.$(OBJEXT) \ fe/unit_tests_devel-fe_hermite_test.$(OBJEXT) \ fe/unit_tests_devel-fe_hierarchic_test.$(OBJEXT) \ fe/unit_tests_devel-inf_fe_radial_test.$(OBJEXT) \ @@ -608,12 +612,13 @@ am__unit_tests_oprof_SOURCES_DIST = driver.C libmesh_cppunit.h \ base/overlapping_coupling_test.C \ base/nonmanifold_coupling_test.C \ base/multi_evaluable_pred_test.C fe/fe_bernstein_test.C \ - fe/fe_clough_test.C fe/fe_hermite_test.C \ - fe/fe_hierarchic_test.C fe/inf_fe_radial_test.C \ - fe/fe_l2_hierarchic_test.C fe/fe_l2_lagrange_test.C \ - 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/fe_clough_test.C fe/fe_hdiv_grad_test.C \ + fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ + fe/inf_fe_radial_test.C fe/fe_l2_hierarchic_test.C \ + fe/fe_l2_lagrange_test.C 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 \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ @@ -687,6 +692,7 @@ am__objects_6 = unit_tests_oprof-driver.$(OBJEXT) \ base/unit_tests_oprof-multi_evaluable_pred_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_bernstein_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_clough_test.$(OBJEXT) \ + fe/unit_tests_oprof-fe_hdiv_grad_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_hermite_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_hierarchic_test.$(OBJEXT) \ fe/unit_tests_oprof-inf_fe_radial_test.$(OBJEXT) \ @@ -812,12 +818,13 @@ am__unit_tests_opt_SOURCES_DIST = driver.C libmesh_cppunit.h \ base/overlapping_coupling_test.C \ base/nonmanifold_coupling_test.C \ base/multi_evaluable_pred_test.C fe/fe_bernstein_test.C \ - fe/fe_clough_test.C fe/fe_hermite_test.C \ - fe/fe_hierarchic_test.C fe/inf_fe_radial_test.C \ - fe/fe_l2_hierarchic_test.C fe/fe_l2_lagrange_test.C \ - 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/fe_clough_test.C fe/fe_hdiv_grad_test.C \ + fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ + fe/inf_fe_radial_test.C fe/fe_l2_hierarchic_test.C \ + fe/fe_l2_lagrange_test.C 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 \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ @@ -891,6 +898,7 @@ am__objects_8 = unit_tests_opt-driver.$(OBJEXT) \ base/unit_tests_opt-multi_evaluable_pred_test.$(OBJEXT) \ fe/unit_tests_opt-fe_bernstein_test.$(OBJEXT) \ fe/unit_tests_opt-fe_clough_test.$(OBJEXT) \ + fe/unit_tests_opt-fe_hdiv_grad_test.$(OBJEXT) \ fe/unit_tests_opt-fe_hermite_test.$(OBJEXT) \ fe/unit_tests_opt-fe_hierarchic_test.$(OBJEXT) \ fe/unit_tests_opt-inf_fe_radial_test.$(OBJEXT) \ @@ -1016,12 +1024,13 @@ am__unit_tests_prof_SOURCES_DIST = driver.C libmesh_cppunit.h \ base/overlapping_coupling_test.C \ base/nonmanifold_coupling_test.C \ base/multi_evaluable_pred_test.C fe/fe_bernstein_test.C \ - fe/fe_clough_test.C fe/fe_hermite_test.C \ - fe/fe_hierarchic_test.C fe/inf_fe_radial_test.C \ - fe/fe_l2_hierarchic_test.C fe/fe_l2_lagrange_test.C \ - 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/fe_clough_test.C fe/fe_hdiv_grad_test.C \ + fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ + fe/inf_fe_radial_test.C fe/fe_l2_hierarchic_test.C \ + fe/fe_l2_lagrange_test.C 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 \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ @@ -1095,6 +1104,7 @@ am__objects_10 = unit_tests_prof-driver.$(OBJEXT) \ base/unit_tests_prof-multi_evaluable_pred_test.$(OBJEXT) \ fe/unit_tests_prof-fe_bernstein_test.$(OBJEXT) \ fe/unit_tests_prof-fe_clough_test.$(OBJEXT) \ + fe/unit_tests_prof-fe_hdiv_grad_test.$(OBJEXT) \ fe/unit_tests_prof-fe_hermite_test.$(OBJEXT) \ fe/unit_tests_prof-fe_hierarchic_test.$(OBJEXT) \ fe/unit_tests_prof-inf_fe_radial_test.$(OBJEXT) \ @@ -1271,6 +1281,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_dbg-dual_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_bernstein_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_clough_test.Po \ + fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_hermite_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_l2_hierarchic_test.Po \ @@ -1286,6 +1297,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_devel-dual_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_bernstein_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_clough_test.Po \ + fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_hermite_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_l2_hierarchic_test.Po \ @@ -1301,6 +1313,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_oprof-dual_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_bernstein_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_clough_test.Po \ + fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_hermite_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_l2_hierarchic_test.Po \ @@ -1316,6 +1329,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_opt-dual_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_bernstein_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_clough_test.Po \ + fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_hermite_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_l2_hierarchic_test.Po \ @@ -1331,6 +1345,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_prof-dual_shape_verification_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_bernstein_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_clough_test.Po \ + fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_hermite_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_hierarchic_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_l2_hierarchic_test.Po \ @@ -2315,12 +2330,13 @@ unit_tests_sources = driver.C libmesh_cppunit.h stream_redirector.h \ base/overlapping_coupling_test.C \ base/nonmanifold_coupling_test.C \ base/multi_evaluable_pred_test.C fe/fe_bernstein_test.C \ - fe/fe_clough_test.C fe/fe_hermite_test.C \ - fe/fe_hierarchic_test.C fe/inf_fe_radial_test.C \ - fe/fe_l2_hierarchic_test.C fe/fe_l2_lagrange_test.C \ - 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/fe_clough_test.C fe/fe_hdiv_grad_test.C \ + fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ + fe/inf_fe_radial_test.C fe/fe_l2_hierarchic_test.C \ + fe/fe_l2_lagrange_test.C 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 \ geom/edge_test.C geom/elem_test.C geom/elem_test.h \ geom/node_test.C geom/point_test.C geom/point_test.h \ @@ -2523,10 +2539,11 @@ CLEANFILES = cube_mesh.xda slit_mesh.xda slit_solution.xda out.e \ side_discontinuous_HEX27_disc.e side_discontinuous_QUAD9.e \ side_discontinuous_QUAD9_disc.e side_discontinuous_TRI6.e \ side_discontinuous_TRI6_disc.e write_exodus_C0POLYGON.e \ - write_exodus_C0POLYHEDRON.e write_exodus_C0POLYHEDRON_HEXPRISM.e \ - write_exodus_C0POLYHEDRON_HEXPRISM_READ.e \ - write_exodus_EDGE2.e write_exodus_EDGE3.e write_exodus_EDGE4.e \ - write_exodus_HEX20.e write_exodus_HEX27.e write_exodus_HEX8.e \ + write_exodus_C0POLYHEDRON.e \ + write_exodus_C0POLYHEDRON_HEXPRISM.e \ + write_exodus_C0POLYHEDRON_HEXPRISM_READ.e write_exodus_EDGE2.e \ + write_exodus_EDGE3.e write_exodus_EDGE4.e write_exodus_HEX20.e \ + write_exodus_HEX27.e write_exodus_HEX8.e \ write_exodus_PRISM15.e write_exodus_PRISM18.e \ write_exodus_PRISM20.e write_exodus_PRISM21.e \ write_exodus_PRISM6.e write_exodus_PYRAMID13.e \ @@ -2612,6 +2629,8 @@ fe/unit_tests_dbg-fe_bernstein_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_dbg-fe_clough_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_dbg-fe_hdiv_grad_test.$(OBJEXT): fe/$(am__dirstamp) \ + fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_dbg-fe_hermite_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_dbg-fe_hierarchic_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -2926,6 +2945,8 @@ fe/unit_tests_devel-fe_bernstein_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_devel-fe_clough_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_devel-fe_hdiv_grad_test.$(OBJEXT): fe/$(am__dirstamp) \ + fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_devel-fe_hermite_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_devel-fe_hierarchic_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -3180,6 +3201,8 @@ fe/unit_tests_oprof-fe_bernstein_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_oprof-fe_clough_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_oprof-fe_hdiv_grad_test.$(OBJEXT): fe/$(am__dirstamp) \ + fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_oprof-fe_hermite_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_oprof-fe_hierarchic_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -3434,6 +3457,8 @@ fe/unit_tests_opt-fe_bernstein_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_opt-fe_clough_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_opt-fe_hdiv_grad_test.$(OBJEXT): fe/$(am__dirstamp) \ + fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_opt-fe_hermite_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_opt-fe_hierarchic_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -3688,6 +3713,8 @@ fe/unit_tests_prof-fe_bernstein_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_prof-fe_clough_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_prof-fe_hdiv_grad_test.$(OBJEXT): fe/$(am__dirstamp) \ + fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_prof-fe_hermite_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_prof-fe_hierarchic_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -3986,6 +4013,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-dual_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_bernstein_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_clough_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_hermite_test.Po@am__quote@ # am--include-marker @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 @@ -4001,6 +4029,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-dual_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_bernstein_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_clough_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_hermite_test.Po@am__quote@ # am--include-marker @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 @@ -4016,6 +4045,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-dual_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_bernstein_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_clough_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_hermite_test.Po@am__quote@ # am--include-marker @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 @@ -4031,6 +4061,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-dual_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_bernstein_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_clough_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_hermite_test.Po@am__quote@ # am--include-marker @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 @@ -4046,6 +4077,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-dual_shape_verification_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_bernstein_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_clough_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_hermite_test.Po@am__quote@ # am--include-marker @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 @@ -4724,6 +4756,20 @@ fe/unit_tests_dbg-fe_clough_test.obj: fe/fe_clough_test.C @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_clough_test.obj `if test -f 'fe/fe_clough_test.C'; then $(CYGPATH_W) 'fe/fe_clough_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_clough_test.C'; fi` +fe/unit_tests_dbg-fe_hdiv_grad_test.o: fe/fe_hdiv_grad_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_hdiv_grad_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_dbg-fe_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_dbg-fe_hdiv_grad_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_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C + +fe/unit_tests_dbg-fe_hdiv_grad_test.obj: fe/fe_hdiv_grad_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_hdiv_grad_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_dbg-fe_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_dbg-fe_hdiv_grad_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_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` + fe/unit_tests_dbg-fe_hermite_test.o: fe/fe_hermite_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_hermite_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_hermite_test.Tpo -c -o fe/unit_tests_dbg-fe_hermite_test.o `test -f 'fe/fe_hermite_test.C' || echo '$(srcdir)/'`fe/fe_hermite_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_hermite_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_hermite_test.Po @@ -6432,6 +6478,20 @@ fe/unit_tests_devel-fe_clough_test.obj: fe/fe_clough_test.C @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_clough_test.obj `if test -f 'fe/fe_clough_test.C'; then $(CYGPATH_W) 'fe/fe_clough_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_clough_test.C'; fi` +fe/unit_tests_devel-fe_hdiv_grad_test.o: fe/fe_hdiv_grad_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_hdiv_grad_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_devel-fe_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_devel-fe_hdiv_grad_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_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C + +fe/unit_tests_devel-fe_hdiv_grad_test.obj: fe/fe_hdiv_grad_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_hdiv_grad_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_devel-fe_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_devel-fe_hdiv_grad_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_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` + fe/unit_tests_devel-fe_hermite_test.o: fe/fe_hermite_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_hermite_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_hermite_test.Tpo -c -o fe/unit_tests_devel-fe_hermite_test.o `test -f 'fe/fe_hermite_test.C' || echo '$(srcdir)/'`fe/fe_hermite_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_hermite_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_hermite_test.Po @@ -8140,6 +8200,20 @@ fe/unit_tests_oprof-fe_clough_test.obj: fe/fe_clough_test.C @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_clough_test.obj `if test -f 'fe/fe_clough_test.C'; then $(CYGPATH_W) 'fe/fe_clough_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_clough_test.C'; fi` +fe/unit_tests_oprof-fe_hdiv_grad_test.o: fe/fe_hdiv_grad_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_hdiv_grad_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_oprof-fe_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_oprof-fe_hdiv_grad_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_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C + +fe/unit_tests_oprof-fe_hdiv_grad_test.obj: fe/fe_hdiv_grad_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_hdiv_grad_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_oprof-fe_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_oprof-fe_hdiv_grad_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_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` + fe/unit_tests_oprof-fe_hermite_test.o: fe/fe_hermite_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_hermite_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_hermite_test.Tpo -c -o fe/unit_tests_oprof-fe_hermite_test.o `test -f 'fe/fe_hermite_test.C' || echo '$(srcdir)/'`fe/fe_hermite_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_hermite_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_hermite_test.Po @@ -9848,6 +9922,20 @@ fe/unit_tests_opt-fe_clough_test.obj: fe/fe_clough_test.C @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_clough_test.obj `if test -f 'fe/fe_clough_test.C'; then $(CYGPATH_W) 'fe/fe_clough_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_clough_test.C'; fi` +fe/unit_tests_opt-fe_hdiv_grad_test.o: fe/fe_hdiv_grad_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_hdiv_grad_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_opt-fe_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_opt-fe_hdiv_grad_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_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C + +fe/unit_tests_opt-fe_hdiv_grad_test.obj: fe/fe_hdiv_grad_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_hdiv_grad_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_opt-fe_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_opt-fe_hdiv_grad_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_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` + fe/unit_tests_opt-fe_hermite_test.o: fe/fe_hermite_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_hermite_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_hermite_test.Tpo -c -o fe/unit_tests_opt-fe_hermite_test.o `test -f 'fe/fe_hermite_test.C' || echo '$(srcdir)/'`fe/fe_hermite_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_hermite_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_hermite_test.Po @@ -11556,6 +11644,20 @@ fe/unit_tests_prof-fe_clough_test.obj: fe/fe_clough_test.C @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_clough_test.obj `if test -f 'fe/fe_clough_test.C'; then $(CYGPATH_W) 'fe/fe_clough_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_clough_test.C'; fi` +fe/unit_tests_prof-fe_hdiv_grad_test.o: fe/fe_hdiv_grad_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_hdiv_grad_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_prof-fe_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_prof-fe_hdiv_grad_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_hdiv_grad_test.o `test -f 'fe/fe_hdiv_grad_test.C' || echo '$(srcdir)/'`fe/fe_hdiv_grad_test.C + +fe/unit_tests_prof-fe_hdiv_grad_test.obj: fe/fe_hdiv_grad_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_hdiv_grad_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Tpo -c -o fe/unit_tests_prof-fe_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_hdiv_grad_test.C' object='fe/unit_tests_prof-fe_hdiv_grad_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_hdiv_grad_test.obj `if test -f 'fe/fe_hdiv_grad_test.C'; then $(CYGPATH_W) 'fe/fe_hdiv_grad_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_hdiv_grad_test.C'; fi` + fe/unit_tests_prof-fe_hermite_test.o: fe/fe_hermite_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_hermite_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_hermite_test.Tpo -c -o fe/unit_tests_prof-fe_hermite_test.o `test -f 'fe/fe_hermite_test.C' || echo '$(srcdir)/'`fe/fe_hermite_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_hermite_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_hermite_test.Po @@ -13530,6 +13632,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_dbg-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_hierarchic_test.Po @@ -13545,6 +13648,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_devel-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_hierarchic_test.Po @@ -13560,6 +13664,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_oprof-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_hierarchic_test.Po @@ -13575,6 +13680,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_opt-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_hierarchic_test.Po @@ -13590,6 +13696,7 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_prof-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_hierarchic_test.Po @@ -14187,6 +14294,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_dbg-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_hierarchic_test.Po @@ -14202,6 +14310,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_devel-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_hierarchic_test.Po @@ -14217,6 +14326,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_oprof-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_hierarchic_test.Po @@ -14232,6 +14342,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_opt-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_hierarchic_test.Po @@ -14247,6 +14358,7 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_prof-dual_shape_verification_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_bernstein_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_clough_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_hdiv_grad_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_hermite_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_hierarchic_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_hierarchic_test.Po