diff --git a/Makefile.in b/Makefile.in index 39c3eacf728..7108a5bf105 100644 --- a/Makefile.in +++ b/Makefile.in @@ -325,10 +325,14 @@ am__libmesh_dbg_la_SOURCES_DIST = src/base/dirichlet_boundary.C \ src/fe/fe_hierarchic_shape_3D.C src/fe/fe_hierarchic_vec.C \ src/fe/fe_interface.C src/fe/fe_interface_inf_fe.C \ src/fe/fe_l2_hierarchic.C src/fe/fe_l2_lagrange.C \ - src/fe/fe_lagrange.C src/fe/fe_lagrange_shape_0D.C \ - src/fe/fe_lagrange_shape_1D.C src/fe/fe_lagrange_shape_2D.C \ - src/fe/fe_lagrange_shape_3D.C src/fe/fe_lagrange_vec.C \ - src/fe/fe_map.C src/fe/fe_monomial.C \ + src/fe/fe_l2_lagrange_gll.C src/fe/fe_lagrange.C \ + src/fe/fe_lagrange_gll.C src/fe/fe_lagrange_gll_shape_0D.C \ + src/fe/fe_lagrange_gll_shape_1D.C \ + src/fe/fe_lagrange_gll_shape_2D.C \ + src/fe/fe_lagrange_gll_shape_3D.C \ + src/fe/fe_lagrange_shape_0D.C src/fe/fe_lagrange_shape_1D.C \ + src/fe/fe_lagrange_shape_2D.C src/fe/fe_lagrange_shape_3D.C \ + src/fe/fe_lagrange_vec.C src/fe/fe_map.C src/fe/fe_monomial.C \ src/fe/fe_monomial_shape_0D.C src/fe/fe_monomial_shape_1D.C \ src/fe/fe_monomial_shape_2D.C src/fe/fe_monomial_shape_3D.C \ src/fe/fe_monomial_vec.C src/fe/fe_nedelec_one.C \ @@ -673,7 +677,13 @@ am__objects_1 = src/base/libmesh_dbg_la-dirichlet_boundary.lo \ src/fe/libmesh_dbg_la-fe_interface_inf_fe.lo \ src/fe/libmesh_dbg_la-fe_l2_hierarchic.lo \ src/fe/libmesh_dbg_la-fe_l2_lagrange.lo \ + src/fe/libmesh_dbg_la-fe_l2_lagrange_gll.lo \ src/fe/libmesh_dbg_la-fe_lagrange.lo \ + src/fe/libmesh_dbg_la-fe_lagrange_gll.lo \ + src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_0D.lo \ + src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_1D.lo \ + src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_2D.lo \ + src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_3D.lo \ src/fe/libmesh_dbg_la-fe_lagrange_shape_0D.lo \ src/fe/libmesh_dbg_la-fe_lagrange_shape_1D.lo \ src/fe/libmesh_dbg_la-fe_lagrange_shape_2D.lo \ @@ -1140,10 +1150,14 @@ am__libmesh_devel_la_SOURCES_DIST = src/base/dirichlet_boundary.C \ src/fe/fe_hierarchic_shape_3D.C src/fe/fe_hierarchic_vec.C \ src/fe/fe_interface.C src/fe/fe_interface_inf_fe.C \ src/fe/fe_l2_hierarchic.C src/fe/fe_l2_lagrange.C \ - src/fe/fe_lagrange.C src/fe/fe_lagrange_shape_0D.C \ - src/fe/fe_lagrange_shape_1D.C src/fe/fe_lagrange_shape_2D.C \ - src/fe/fe_lagrange_shape_3D.C src/fe/fe_lagrange_vec.C \ - src/fe/fe_map.C src/fe/fe_monomial.C \ + src/fe/fe_l2_lagrange_gll.C src/fe/fe_lagrange.C \ + src/fe/fe_lagrange_gll.C src/fe/fe_lagrange_gll_shape_0D.C \ + src/fe/fe_lagrange_gll_shape_1D.C \ + src/fe/fe_lagrange_gll_shape_2D.C \ + src/fe/fe_lagrange_gll_shape_3D.C \ + src/fe/fe_lagrange_shape_0D.C src/fe/fe_lagrange_shape_1D.C \ + src/fe/fe_lagrange_shape_2D.C src/fe/fe_lagrange_shape_3D.C \ + src/fe/fe_lagrange_vec.C src/fe/fe_map.C src/fe/fe_monomial.C \ src/fe/fe_monomial_shape_0D.C src/fe/fe_monomial_shape_1D.C \ src/fe/fe_monomial_shape_2D.C src/fe/fe_monomial_shape_3D.C \ src/fe/fe_monomial_vec.C src/fe/fe_nedelec_one.C \ @@ -1487,7 +1501,13 @@ am__objects_2 = src/base/libmesh_devel_la-dirichlet_boundary.lo \ src/fe/libmesh_devel_la-fe_interface_inf_fe.lo \ src/fe/libmesh_devel_la-fe_l2_hierarchic.lo \ src/fe/libmesh_devel_la-fe_l2_lagrange.lo \ + src/fe/libmesh_devel_la-fe_l2_lagrange_gll.lo \ src/fe/libmesh_devel_la-fe_lagrange.lo \ + src/fe/libmesh_devel_la-fe_lagrange_gll.lo \ + src/fe/libmesh_devel_la-fe_lagrange_gll_shape_0D.lo \ + src/fe/libmesh_devel_la-fe_lagrange_gll_shape_1D.lo \ + src/fe/libmesh_devel_la-fe_lagrange_gll_shape_2D.lo \ + src/fe/libmesh_devel_la-fe_lagrange_gll_shape_3D.lo \ src/fe/libmesh_devel_la-fe_lagrange_shape_0D.lo \ src/fe/libmesh_devel_la-fe_lagrange_shape_1D.lo \ src/fe/libmesh_devel_la-fe_lagrange_shape_2D.lo \ @@ -1951,10 +1971,14 @@ am__libmesh_oprof_la_SOURCES_DIST = src/base/dirichlet_boundary.C \ src/fe/fe_hierarchic_shape_3D.C src/fe/fe_hierarchic_vec.C \ src/fe/fe_interface.C src/fe/fe_interface_inf_fe.C \ src/fe/fe_l2_hierarchic.C src/fe/fe_l2_lagrange.C \ - src/fe/fe_lagrange.C src/fe/fe_lagrange_shape_0D.C \ - src/fe/fe_lagrange_shape_1D.C src/fe/fe_lagrange_shape_2D.C \ - src/fe/fe_lagrange_shape_3D.C src/fe/fe_lagrange_vec.C \ - src/fe/fe_map.C src/fe/fe_monomial.C \ + src/fe/fe_l2_lagrange_gll.C src/fe/fe_lagrange.C \ + src/fe/fe_lagrange_gll.C src/fe/fe_lagrange_gll_shape_0D.C \ + src/fe/fe_lagrange_gll_shape_1D.C \ + src/fe/fe_lagrange_gll_shape_2D.C \ + src/fe/fe_lagrange_gll_shape_3D.C \ + src/fe/fe_lagrange_shape_0D.C src/fe/fe_lagrange_shape_1D.C \ + src/fe/fe_lagrange_shape_2D.C src/fe/fe_lagrange_shape_3D.C \ + src/fe/fe_lagrange_vec.C src/fe/fe_map.C src/fe/fe_monomial.C \ src/fe/fe_monomial_shape_0D.C src/fe/fe_monomial_shape_1D.C \ src/fe/fe_monomial_shape_2D.C src/fe/fe_monomial_shape_3D.C \ src/fe/fe_monomial_vec.C src/fe/fe_nedelec_one.C \ @@ -2298,7 +2322,13 @@ am__objects_3 = src/base/libmesh_oprof_la-dirichlet_boundary.lo \ src/fe/libmesh_oprof_la-fe_interface_inf_fe.lo \ src/fe/libmesh_oprof_la-fe_l2_hierarchic.lo \ src/fe/libmesh_oprof_la-fe_l2_lagrange.lo \ + src/fe/libmesh_oprof_la-fe_l2_lagrange_gll.lo \ src/fe/libmesh_oprof_la-fe_lagrange.lo \ + src/fe/libmesh_oprof_la-fe_lagrange_gll.lo \ + src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_0D.lo \ + src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_1D.lo \ + src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_2D.lo \ + src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_3D.lo \ src/fe/libmesh_oprof_la-fe_lagrange_shape_0D.lo \ src/fe/libmesh_oprof_la-fe_lagrange_shape_1D.lo \ src/fe/libmesh_oprof_la-fe_lagrange_shape_2D.lo \ @@ -2762,10 +2792,14 @@ am__libmesh_opt_la_SOURCES_DIST = src/base/dirichlet_boundary.C \ src/fe/fe_hierarchic_shape_3D.C src/fe/fe_hierarchic_vec.C \ src/fe/fe_interface.C src/fe/fe_interface_inf_fe.C \ src/fe/fe_l2_hierarchic.C src/fe/fe_l2_lagrange.C \ - src/fe/fe_lagrange.C src/fe/fe_lagrange_shape_0D.C \ - src/fe/fe_lagrange_shape_1D.C src/fe/fe_lagrange_shape_2D.C \ - src/fe/fe_lagrange_shape_3D.C src/fe/fe_lagrange_vec.C \ - src/fe/fe_map.C src/fe/fe_monomial.C \ + src/fe/fe_l2_lagrange_gll.C src/fe/fe_lagrange.C \ + src/fe/fe_lagrange_gll.C src/fe/fe_lagrange_gll_shape_0D.C \ + src/fe/fe_lagrange_gll_shape_1D.C \ + src/fe/fe_lagrange_gll_shape_2D.C \ + src/fe/fe_lagrange_gll_shape_3D.C \ + src/fe/fe_lagrange_shape_0D.C src/fe/fe_lagrange_shape_1D.C \ + src/fe/fe_lagrange_shape_2D.C src/fe/fe_lagrange_shape_3D.C \ + src/fe/fe_lagrange_vec.C src/fe/fe_map.C src/fe/fe_monomial.C \ src/fe/fe_monomial_shape_0D.C src/fe/fe_monomial_shape_1D.C \ src/fe/fe_monomial_shape_2D.C src/fe/fe_monomial_shape_3D.C \ src/fe/fe_monomial_vec.C src/fe/fe_nedelec_one.C \ @@ -3109,7 +3143,13 @@ am__objects_4 = src/base/libmesh_opt_la-dirichlet_boundary.lo \ src/fe/libmesh_opt_la-fe_interface_inf_fe.lo \ src/fe/libmesh_opt_la-fe_l2_hierarchic.lo \ src/fe/libmesh_opt_la-fe_l2_lagrange.lo \ + src/fe/libmesh_opt_la-fe_l2_lagrange_gll.lo \ src/fe/libmesh_opt_la-fe_lagrange.lo \ + src/fe/libmesh_opt_la-fe_lagrange_gll.lo \ + src/fe/libmesh_opt_la-fe_lagrange_gll_shape_0D.lo \ + src/fe/libmesh_opt_la-fe_lagrange_gll_shape_1D.lo \ + src/fe/libmesh_opt_la-fe_lagrange_gll_shape_2D.lo \ + src/fe/libmesh_opt_la-fe_lagrange_gll_shape_3D.lo \ src/fe/libmesh_opt_la-fe_lagrange_shape_0D.lo \ src/fe/libmesh_opt_la-fe_lagrange_shape_1D.lo \ src/fe/libmesh_opt_la-fe_lagrange_shape_2D.lo \ @@ -3572,10 +3612,14 @@ am__libmesh_prof_la_SOURCES_DIST = src/base/dirichlet_boundary.C \ src/fe/fe_hierarchic_shape_3D.C src/fe/fe_hierarchic_vec.C \ src/fe/fe_interface.C src/fe/fe_interface_inf_fe.C \ src/fe/fe_l2_hierarchic.C src/fe/fe_l2_lagrange.C \ - src/fe/fe_lagrange.C src/fe/fe_lagrange_shape_0D.C \ - src/fe/fe_lagrange_shape_1D.C src/fe/fe_lagrange_shape_2D.C \ - src/fe/fe_lagrange_shape_3D.C src/fe/fe_lagrange_vec.C \ - src/fe/fe_map.C src/fe/fe_monomial.C \ + src/fe/fe_l2_lagrange_gll.C src/fe/fe_lagrange.C \ + src/fe/fe_lagrange_gll.C src/fe/fe_lagrange_gll_shape_0D.C \ + src/fe/fe_lagrange_gll_shape_1D.C \ + src/fe/fe_lagrange_gll_shape_2D.C \ + src/fe/fe_lagrange_gll_shape_3D.C \ + src/fe/fe_lagrange_shape_0D.C src/fe/fe_lagrange_shape_1D.C \ + src/fe/fe_lagrange_shape_2D.C src/fe/fe_lagrange_shape_3D.C \ + src/fe/fe_lagrange_vec.C src/fe/fe_map.C src/fe/fe_monomial.C \ src/fe/fe_monomial_shape_0D.C src/fe/fe_monomial_shape_1D.C \ src/fe/fe_monomial_shape_2D.C src/fe/fe_monomial_shape_3D.C \ src/fe/fe_monomial_vec.C src/fe/fe_nedelec_one.C \ @@ -3919,7 +3963,13 @@ am__objects_5 = src/base/libmesh_prof_la-dirichlet_boundary.lo \ src/fe/libmesh_prof_la-fe_interface_inf_fe.lo \ src/fe/libmesh_prof_la-fe_l2_hierarchic.lo \ src/fe/libmesh_prof_la-fe_l2_lagrange.lo \ + src/fe/libmesh_prof_la-fe_l2_lagrange_gll.lo \ src/fe/libmesh_prof_la-fe_lagrange.lo \ + src/fe/libmesh_prof_la-fe_lagrange_gll.lo \ + src/fe/libmesh_prof_la-fe_lagrange_gll_shape_0D.lo \ + src/fe/libmesh_prof_la-fe_lagrange_gll_shape_1D.lo \ + src/fe/libmesh_prof_la-fe_lagrange_gll_shape_2D.lo \ + src/fe/libmesh_prof_la-fe_lagrange_gll_shape_3D.lo \ src/fe/libmesh_prof_la-fe_lagrange_shape_0D.lo \ src/fe/libmesh_prof_la-fe_lagrange_shape_1D.lo \ src/fe/libmesh_prof_la-fe_lagrange_shape_2D.lo \ @@ -5197,7 +5247,13 @@ am__depfiles_remade = src/apps/$(DEPDIR)/amr_dbg-amr.Po \ src/fe/$(DEPDIR)/libmesh_dbg_la-fe_interface_inf_fe.Plo \ src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_hierarchic.Plo \ src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange_gll.Plo \ src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll.Plo \ + src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_0D.Plo \ + src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_1D.Plo \ + src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_2D.Plo \ + src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_3D.Plo \ src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_0D.Plo \ src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_1D.Plo \ src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_2D.Plo \ @@ -5285,7 +5341,13 @@ am__depfiles_remade = src/apps/$(DEPDIR)/amr_dbg-amr.Po \ src/fe/$(DEPDIR)/libmesh_devel_la-fe_interface_inf_fe.Plo \ src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_hierarchic.Plo \ src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange_gll.Plo \ src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll.Plo \ + src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_0D.Plo \ + src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_1D.Plo \ + src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_2D.Plo \ + src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_3D.Plo \ src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_0D.Plo \ src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_1D.Plo \ src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_2D.Plo \ @@ -5373,7 +5435,13 @@ am__depfiles_remade = src/apps/$(DEPDIR)/amr_dbg-amr.Po \ src/fe/$(DEPDIR)/libmesh_oprof_la-fe_interface_inf_fe.Plo \ src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_hierarchic.Plo \ src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange_gll.Plo \ src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll.Plo \ + src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_0D.Plo \ + src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_1D.Plo \ + src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_2D.Plo \ + src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_3D.Plo \ src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_0D.Plo \ src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_1D.Plo \ src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_2D.Plo \ @@ -5461,7 +5529,13 @@ am__depfiles_remade = src/apps/$(DEPDIR)/amr_dbg-amr.Po \ src/fe/$(DEPDIR)/libmesh_opt_la-fe_interface_inf_fe.Plo \ src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_hierarchic.Plo \ src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange_gll.Plo \ src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll.Plo \ + src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_0D.Plo \ + src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_1D.Plo \ + src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_2D.Plo \ + src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_3D.Plo \ src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_0D.Plo \ src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_1D.Plo \ src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_2D.Plo \ @@ -5549,7 +5623,13 @@ am__depfiles_remade = src/apps/$(DEPDIR)/amr_dbg-amr.Po \ src/fe/$(DEPDIR)/libmesh_prof_la-fe_interface_inf_fe.Plo \ src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_hierarchic.Plo \ src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange_gll.Plo \ src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange.Plo \ + src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll.Plo \ + src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_0D.Plo \ + src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_1D.Plo \ + src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_2D.Plo \ + src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_3D.Plo \ src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_0D.Plo \ src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_1D.Plo \ src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_2D.Plo \ @@ -8149,7 +8229,13 @@ libmesh_SOURCES = \ src/fe/fe_interface_inf_fe.C \ src/fe/fe_l2_hierarchic.C \ src/fe/fe_l2_lagrange.C \ + src/fe/fe_l2_lagrange_gll.C \ src/fe/fe_lagrange.C \ + src/fe/fe_lagrange_gll.C \ + src/fe/fe_lagrange_gll_shape_0D.C \ + src/fe/fe_lagrange_gll_shape_1D.C \ + src/fe/fe_lagrange_gll_shape_2D.C \ + src/fe/fe_lagrange_gll_shape_3D.C \ src/fe/fe_lagrange_shape_0D.C \ src/fe/fe_lagrange_shape_1D.C \ src/fe/fe_lagrange_shape_2D.C \ @@ -9274,8 +9360,20 @@ src/fe/libmesh_dbg_la-fe_l2_hierarchic.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_dbg_la-fe_l2_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_dbg_la-fe_l2_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_dbg_la-fe_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_dbg_la-fe_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_0D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_1D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_2D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_3D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_dbg_la-fe_lagrange_shape_0D.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_dbg_la-fe_lagrange_shape_1D.lo: src/fe/$(am__dirstamp) \ @@ -10523,8 +10621,20 @@ src/fe/libmesh_devel_la-fe_l2_hierarchic.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_devel_la-fe_l2_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_devel_la-fe_l2_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_devel_la-fe_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_devel_la-fe_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_devel_la-fe_lagrange_gll_shape_0D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_devel_la-fe_lagrange_gll_shape_1D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_devel_la-fe_lagrange_gll_shape_2D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_devel_la-fe_lagrange_gll_shape_3D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_devel_la-fe_lagrange_shape_0D.lo: \ src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_devel_la-fe_lagrange_shape_1D.lo: \ @@ -11697,8 +11807,20 @@ src/fe/libmesh_oprof_la-fe_l2_hierarchic.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_oprof_la-fe_l2_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_oprof_la-fe_l2_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_oprof_la-fe_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_oprof_la-fe_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_0D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_1D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_2D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_3D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_oprof_la-fe_lagrange_shape_0D.lo: \ src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_oprof_la-fe_lagrange_shape_1D.lo: \ @@ -12871,8 +12993,20 @@ src/fe/libmesh_opt_la-fe_l2_hierarchic.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_opt_la-fe_l2_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_opt_la-fe_l2_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_opt_la-fe_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_opt_la-fe_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_opt_la-fe_lagrange_gll_shape_0D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_opt_la-fe_lagrange_gll_shape_1D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_opt_la-fe_lagrange_gll_shape_2D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_opt_la-fe_lagrange_gll_shape_3D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_opt_la-fe_lagrange_shape_0D.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_opt_la-fe_lagrange_shape_1D.lo: src/fe/$(am__dirstamp) \ @@ -14042,8 +14176,20 @@ src/fe/libmesh_prof_la-fe_l2_hierarchic.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_prof_la-fe_l2_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_prof_la-fe_l2_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_prof_la-fe_lagrange.lo: src/fe/$(am__dirstamp) \ src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_prof_la-fe_lagrange_gll.lo: src/fe/$(am__dirstamp) \ + src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_prof_la-fe_lagrange_gll_shape_0D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_prof_la-fe_lagrange_gll_shape_1D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_prof_la-fe_lagrange_gll_shape_2D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) +src/fe/libmesh_prof_la-fe_lagrange_gll_shape_3D.lo: \ + src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_prof_la-fe_lagrange_shape_0D.lo: \ src/fe/$(am__dirstamp) src/fe/$(DEPDIR)/$(am__dirstamp) src/fe/libmesh_prof_la-fe_lagrange_shape_1D.lo: \ @@ -15968,7 +16114,13 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_interface_inf_fe.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_hierarchic.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange_gll.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_0D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_1D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_2D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_3D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_0D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_1D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_2D.Plo@am__quote@ # am--include-marker @@ -16056,7 +16208,13 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_interface_inf_fe.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_hierarchic.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange_gll.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_0D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_1D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_2D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_3D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_0D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_1D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_2D.Plo@am__quote@ # am--include-marker @@ -16144,7 +16302,13 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_interface_inf_fe.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_hierarchic.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange_gll.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_0D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_1D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_2D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_3D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_0D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_1D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_2D.Plo@am__quote@ # am--include-marker @@ -16232,7 +16396,13 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_interface_inf_fe.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_hierarchic.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange_gll.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_0D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_1D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_2D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_3D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_0D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_1D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_2D.Plo@am__quote@ # am--include-marker @@ -16320,7 +16490,13 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_interface_inf_fe.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_hierarchic.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange_gll.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_0D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_1D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_2D.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_3D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_0D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_1D.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_2D.Plo@am__quote@ # am--include-marker @@ -18629,6 +18805,13 @@ src/fe/libmesh_dbg_la-fe_l2_lagrange.lo: src/fe/fe_l2_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_dbg_la-fe_l2_lagrange.lo `test -f 'src/fe/fe_l2_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange.C +src/fe/libmesh_dbg_la-fe_l2_lagrange_gll.lo: src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_dbg_la-fe_l2_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange_gll.Tpo -c -o src/fe/libmesh_dbg_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_l2_lagrange_gll.C' object='src/fe/libmesh_dbg_la-fe_l2_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_dbg_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C + src/fe/libmesh_dbg_la-fe_lagrange.lo: src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_dbg_la-fe_lagrange.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange.Tpo -c -o src/fe/libmesh_dbg_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange.Tpo src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange.Plo @@ -18636,6 +18819,41 @@ src/fe/libmesh_dbg_la-fe_lagrange.lo: src/fe/fe_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_dbg_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C +src/fe/libmesh_dbg_la-fe_lagrange_gll.lo: src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_dbg_la-fe_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll.Tpo -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll.C' object='src/fe/libmesh_dbg_la-fe_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C + +src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_0D.lo: src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_0D.Tpo -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_0D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_0D.C' object='src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_0D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C + +src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_1D.lo: src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_1D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_1D.Tpo -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_1D.Tpo src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_1D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_1D.C' object='src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_1D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C + +src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_2D.lo: src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_2D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_2D.Tpo -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_2D.Tpo src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_2D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_2D.C' object='src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_2D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C + +src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_3D.lo: src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_3D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_3D.Tpo -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_3D.Tpo src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_3D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_3D.C' object='src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_3D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_dbg_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C + src/fe/libmesh_dbg_la-fe_lagrange_shape_0D.lo: src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_dbg_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_dbg_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_dbg_la-fe_lagrange_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_0D.Tpo -c -o src/fe/libmesh_dbg_la-fe_lagrange_shape_0D.lo `test -f 'src/fe/fe_lagrange_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_0D.Plo @@ -21961,6 +22179,13 @@ src/fe/libmesh_devel_la-fe_l2_lagrange.lo: src/fe/fe_l2_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_devel_la-fe_l2_lagrange.lo `test -f 'src/fe/fe_l2_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange.C +src/fe/libmesh_devel_la-fe_l2_lagrange_gll.lo: src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_devel_la-fe_l2_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange_gll.Tpo -c -o src/fe/libmesh_devel_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_l2_lagrange_gll.C' object='src/fe/libmesh_devel_la-fe_l2_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_devel_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C + src/fe/libmesh_devel_la-fe_lagrange.lo: src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_devel_la-fe_lagrange.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange.Tpo -c -o src/fe/libmesh_devel_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange.Tpo src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange.Plo @@ -21968,6 +22193,41 @@ src/fe/libmesh_devel_la-fe_lagrange.lo: src/fe/fe_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_devel_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C +src/fe/libmesh_devel_la-fe_lagrange_gll.lo: src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_devel_la-fe_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll.Tpo -c -o src/fe/libmesh_devel_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll.C' object='src/fe/libmesh_devel_la-fe_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_devel_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C + +src/fe/libmesh_devel_la-fe_lagrange_gll_shape_0D.lo: src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_devel_la-fe_lagrange_gll_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_0D.Tpo -c -o src/fe/libmesh_devel_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_0D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_0D.C' object='src/fe/libmesh_devel_la-fe_lagrange_gll_shape_0D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_devel_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C + +src/fe/libmesh_devel_la-fe_lagrange_gll_shape_1D.lo: src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_devel_la-fe_lagrange_gll_shape_1D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_1D.Tpo -c -o src/fe/libmesh_devel_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_1D.Tpo src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_1D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_1D.C' object='src/fe/libmesh_devel_la-fe_lagrange_gll_shape_1D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_devel_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C + +src/fe/libmesh_devel_la-fe_lagrange_gll_shape_2D.lo: src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_devel_la-fe_lagrange_gll_shape_2D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_2D.Tpo -c -o src/fe/libmesh_devel_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_2D.Tpo src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_2D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_2D.C' object='src/fe/libmesh_devel_la-fe_lagrange_gll_shape_2D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_devel_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C + +src/fe/libmesh_devel_la-fe_lagrange_gll_shape_3D.lo: src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_devel_la-fe_lagrange_gll_shape_3D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_3D.Tpo -c -o src/fe/libmesh_devel_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_3D.Tpo src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_3D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_3D.C' object='src/fe/libmesh_devel_la-fe_lagrange_gll_shape_3D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_devel_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C + src/fe/libmesh_devel_la-fe_lagrange_shape_0D.lo: src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_devel_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_devel_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_devel_la-fe_lagrange_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_0D.Tpo -c -o src/fe/libmesh_devel_la-fe_lagrange_shape_0D.lo `test -f 'src/fe/fe_lagrange_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_0D.Plo @@ -25293,6 +25553,13 @@ src/fe/libmesh_oprof_la-fe_l2_lagrange.lo: src/fe/fe_l2_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_oprof_la-fe_l2_lagrange.lo `test -f 'src/fe/fe_l2_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange.C +src/fe/libmesh_oprof_la-fe_l2_lagrange_gll.lo: src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_oprof_la-fe_l2_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange_gll.Tpo -c -o src/fe/libmesh_oprof_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_l2_lagrange_gll.C' object='src/fe/libmesh_oprof_la-fe_l2_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_oprof_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C + src/fe/libmesh_oprof_la-fe_lagrange.lo: src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_oprof_la-fe_lagrange.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange.Tpo -c -o src/fe/libmesh_oprof_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange.Tpo src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange.Plo @@ -25300,6 +25567,41 @@ src/fe/libmesh_oprof_la-fe_lagrange.lo: src/fe/fe_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_oprof_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C +src/fe/libmesh_oprof_la-fe_lagrange_gll.lo: src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_oprof_la-fe_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll.Tpo -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll.C' object='src/fe/libmesh_oprof_la-fe_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C + +src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_0D.lo: src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_0D.Tpo -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_0D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_0D.C' object='src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_0D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C + +src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_1D.lo: src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_1D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_1D.Tpo -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_1D.Tpo src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_1D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_1D.C' object='src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_1D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C + +src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_2D.lo: src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_2D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_2D.Tpo -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_2D.Tpo src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_2D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_2D.C' object='src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_2D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C + +src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_3D.lo: src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_3D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_3D.Tpo -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_3D.Tpo src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_3D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_3D.C' object='src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_3D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_oprof_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C + src/fe/libmesh_oprof_la-fe_lagrange_shape_0D.lo: src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_oprof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_oprof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_oprof_la-fe_lagrange_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_0D.Tpo -c -o src/fe/libmesh_oprof_la-fe_lagrange_shape_0D.lo `test -f 'src/fe/fe_lagrange_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_0D.Plo @@ -28625,6 +28927,13 @@ src/fe/libmesh_opt_la-fe_l2_lagrange.lo: src/fe/fe_l2_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_opt_la-fe_l2_lagrange.lo `test -f 'src/fe/fe_l2_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange.C +src/fe/libmesh_opt_la-fe_l2_lagrange_gll.lo: src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_opt_la-fe_l2_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange_gll.Tpo -c -o src/fe/libmesh_opt_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_l2_lagrange_gll.C' object='src/fe/libmesh_opt_la-fe_l2_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_opt_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C + src/fe/libmesh_opt_la-fe_lagrange.lo: src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_opt_la-fe_lagrange.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange.Tpo -c -o src/fe/libmesh_opt_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange.Tpo src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange.Plo @@ -28632,6 +28941,41 @@ src/fe/libmesh_opt_la-fe_lagrange.lo: src/fe/fe_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_opt_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C +src/fe/libmesh_opt_la-fe_lagrange_gll.lo: src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_opt_la-fe_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll.Tpo -c -o src/fe/libmesh_opt_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll.C' object='src/fe/libmesh_opt_la-fe_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_opt_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C + +src/fe/libmesh_opt_la-fe_lagrange_gll_shape_0D.lo: src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_opt_la-fe_lagrange_gll_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_0D.Tpo -c -o src/fe/libmesh_opt_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_0D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_0D.C' object='src/fe/libmesh_opt_la-fe_lagrange_gll_shape_0D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_opt_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C + +src/fe/libmesh_opt_la-fe_lagrange_gll_shape_1D.lo: src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_opt_la-fe_lagrange_gll_shape_1D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_1D.Tpo -c -o src/fe/libmesh_opt_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_1D.Tpo src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_1D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_1D.C' object='src/fe/libmesh_opt_la-fe_lagrange_gll_shape_1D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_opt_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C + +src/fe/libmesh_opt_la-fe_lagrange_gll_shape_2D.lo: src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_opt_la-fe_lagrange_gll_shape_2D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_2D.Tpo -c -o src/fe/libmesh_opt_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_2D.Tpo src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_2D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_2D.C' object='src/fe/libmesh_opt_la-fe_lagrange_gll_shape_2D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_opt_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C + +src/fe/libmesh_opt_la-fe_lagrange_gll_shape_3D.lo: src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_opt_la-fe_lagrange_gll_shape_3D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_3D.Tpo -c -o src/fe/libmesh_opt_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_3D.Tpo src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_3D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_3D.C' object='src/fe/libmesh_opt_la-fe_lagrange_gll_shape_3D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_opt_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C + src/fe/libmesh_opt_la-fe_lagrange_shape_0D.lo: src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_opt_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_opt_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_opt_la-fe_lagrange_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_0D.Tpo -c -o src/fe/libmesh_opt_la-fe_lagrange_shape_0D.lo `test -f 'src/fe/fe_lagrange_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_0D.Plo @@ -31957,6 +32301,13 @@ src/fe/libmesh_prof_la-fe_l2_lagrange.lo: src/fe/fe_l2_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_prof_la-fe_l2_lagrange.lo `test -f 'src/fe/fe_l2_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange.C +src/fe/libmesh_prof_la-fe_l2_lagrange_gll.lo: src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_prof_la-fe_l2_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange_gll.Tpo -c -o src/fe/libmesh_prof_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_l2_lagrange_gll.C' object='src/fe/libmesh_prof_la-fe_l2_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_prof_la-fe_l2_lagrange_gll.lo `test -f 'src/fe/fe_l2_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_l2_lagrange_gll.C + src/fe/libmesh_prof_la-fe_lagrange.lo: src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_prof_la-fe_lagrange.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange.Tpo -c -o src/fe/libmesh_prof_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange.Tpo src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange.Plo @@ -31964,6 +32315,41 @@ src/fe/libmesh_prof_la-fe_lagrange.lo: src/fe/fe_lagrange.C @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_prof_la-fe_lagrange.lo `test -f 'src/fe/fe_lagrange.C' || echo '$(srcdir)/'`src/fe/fe_lagrange.C +src/fe/libmesh_prof_la-fe_lagrange_gll.lo: src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_prof_la-fe_lagrange_gll.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll.Tpo -c -o src/fe/libmesh_prof_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll.Tpo src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll.C' object='src/fe/libmesh_prof_la-fe_lagrange_gll.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_prof_la-fe_lagrange_gll.lo `test -f 'src/fe/fe_lagrange_gll.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll.C + +src/fe/libmesh_prof_la-fe_lagrange_gll_shape_0D.lo: src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_prof_la-fe_lagrange_gll_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_0D.Tpo -c -o src/fe/libmesh_prof_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_0D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_0D.C' object='src/fe/libmesh_prof_la-fe_lagrange_gll_shape_0D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_prof_la-fe_lagrange_gll_shape_0D.lo `test -f 'src/fe/fe_lagrange_gll_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_0D.C + +src/fe/libmesh_prof_la-fe_lagrange_gll_shape_1D.lo: src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_prof_la-fe_lagrange_gll_shape_1D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_1D.Tpo -c -o src/fe/libmesh_prof_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_1D.Tpo src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_1D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_1D.C' object='src/fe/libmesh_prof_la-fe_lagrange_gll_shape_1D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_prof_la-fe_lagrange_gll_shape_1D.lo `test -f 'src/fe/fe_lagrange_gll_shape_1D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_1D.C + +src/fe/libmesh_prof_la-fe_lagrange_gll_shape_2D.lo: src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_prof_la-fe_lagrange_gll_shape_2D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_2D.Tpo -c -o src/fe/libmesh_prof_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_2D.Tpo src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_2D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_2D.C' object='src/fe/libmesh_prof_la-fe_lagrange_gll_shape_2D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_prof_la-fe_lagrange_gll_shape_2D.lo `test -f 'src/fe/fe_lagrange_gll_shape_2D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_2D.C + +src/fe/libmesh_prof_la-fe_lagrange_gll_shape_3D.lo: src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_prof_la-fe_lagrange_gll_shape_3D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_3D.Tpo -c -o src/fe/libmesh_prof_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_3D.Tpo src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_3D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/fe/fe_lagrange_gll_shape_3D.C' object='src/fe/libmesh_prof_la-fe_lagrange_gll_shape_3D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -c -o src/fe/libmesh_prof_la-fe_lagrange_gll_shape_3D.lo `test -f 'src/fe/fe_lagrange_gll_shape_3D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_gll_shape_3D.C + src/fe/libmesh_prof_la-fe_lagrange_shape_0D.lo: src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmesh_prof_la_CPPFLAGS) $(CPPFLAGS) $(libmesh_prof_la_CXXFLAGS) $(CXXFLAGS) -MT src/fe/libmesh_prof_la-fe_lagrange_shape_0D.lo -MD -MP -MF src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_0D.Tpo -c -o src/fe/libmesh_prof_la-fe_lagrange_shape_0D.lo `test -f 'src/fe/fe_lagrange_shape_0D.C' || echo '$(srcdir)/'`src/fe/fe_lagrange_shape_0D.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_0D.Tpo src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_0D.Plo @@ -36723,7 +37109,13 @@ distclean: distclean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_2D.Plo @@ -36811,7 +37203,13 @@ distclean: distclean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_2D.Plo @@ -36899,7 +37297,13 @@ distclean: distclean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_2D.Plo @@ -36987,7 +37391,13 @@ distclean: distclean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_2D.Plo @@ -37075,7 +37485,13 @@ distclean: distclean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_2D.Plo @@ -39234,7 +39650,13 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_dbg_la-fe_lagrange_shape_2D.Plo @@ -39322,7 +39744,13 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_devel_la-fe_lagrange_shape_2D.Plo @@ -39410,7 +39838,13 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_oprof_la-fe_lagrange_shape_2D.Plo @@ -39498,7 +39932,13 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_opt_la-fe_lagrange_shape_2D.Plo @@ -39586,7 +40026,13 @@ maintainer-clean: maintainer-clean-recursive -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_interface_inf_fe.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_hierarchic.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_l2_lagrange_gll.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_0D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_1D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_2D.Plo + -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_gll_shape_3D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_0D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_1D.Plo -rm -f src/fe/$(DEPDIR)/libmesh_prof_la-fe_lagrange_shape_2D.Plo diff --git a/include/Makefile.in b/include/Makefile.in index e601120b296..c1923dea64f 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -712,6 +712,8 @@ include_HEADERS = \ fe/fe_compute_data.h \ fe/fe_interface.h \ fe/fe_interface_macros.h \ + fe/fe_lagrange_gll_shape.h \ + fe/fe_lagrange_gll_shape_1D.h \ fe/fe_lagrange_shape_1D.h \ fe/fe_macro.h \ fe/fe_map.h \ diff --git a/include/enums/enum_fe_family.h b/include/enums/enum_fe_family.h index 193bd056c4c..567dfb338cb 100644 --- a/include/enums/enum_fe_family.h +++ b/include/enums/enum_fe_family.h @@ -69,6 +69,10 @@ enum FEFamily : int { RATIONAL_BERNSTEIN = 61, // Side-supported basis functions SIDE_HIERARCHIC = 71, + // Nodal basis functions on the Gauss-Lobatto points, which are + // collocated with the Gauss-Lobatto quadrature rule of the same order + L2_LAGRANGE_GLL = 81, + LAGRANGE_GLL = 82, // Invalid INVALID_FE = 99}; diff --git a/include/fe/fe_lagrange_gll_shape.h b/include/fe/fe_lagrange_gll_shape.h new file mode 100644 index 00000000000..441c479e0e0 --- /dev/null +++ b/include/fe/fe_lagrange_gll_shape.h @@ -0,0 +1,327 @@ +// The libMesh Finite Element Library. +// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner + +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +#ifndef LIBMESH_FE_LAGRANGE_GLL_SHAPE_H +#define LIBMESH_FE_LAGRANGE_GLL_SHAPE_H + +// Local includes +#include "libmesh/elem.h" +#include "libmesh/enum_fe_family.h" +#include "libmesh/enum_order.h" +#include "libmesh/fe_lagrange_gll_shape_1D.h" + +// C++ includes +#include + +// The tensor product that the Gauss-Lobatto nodal families on the tensor product element +// types build their shape functions from. The families differ in which tensor index a shape +// function index names, and in nothing else, so the evaluation lives here once. + +namespace libMesh +{ + +/** + * The pairs of coordinates that the second derivative index runs over, in the order libMesh + * numbers them. + * + * The order is such that a given dimension uses the leading \f$d(d+1)/2\f$ of them, so one + * table serves all three: an edge reads the first entry, a face the first three, and a cell + * all six. + */ +constexpr unsigned int fe_lagrange_gll_second_deriv_pairs[6][2] = + {{0, 0}, // d^2 phi / dxi^2 + {0, 1}, // d^2 phi / dxi deta + {1, 1}, // d^2 phi / deta^2 + {0, 2}, // d^2 phi / dxi dzeta + {1, 2}, // d^2 phi / deta dzeta + {2, 2}}; // d^2 phi / dzeta^2 + + +/** + * \returns The number of second derivatives that a shape function of dimension \p Dim has. + */ +template +constexpr unsigned int fe_lagrange_gll_n_second_derivs() +{ + return Dim * (Dim + 1) / 2; +} + +/** + * Fills the leading \p dim entries of \p indices with the tensor index that shape function + * \p i of order \p order names, the entry for a coordinate giving the one-dimensional shape + * function that coordinate contributes. + * + * This is the whole of what separates the Gauss-Lobatto nodal families, so it is declared + * here and specialized once per family. A family that has no specialization does not link, + * which is what should happen. + */ +template +void fe_lagrange_gll_tensor_index(const Elem * elem, + const Order order, + const unsigned int dim, + const unsigned int i, + unsigned int * indices); + + +/** + * The L2_LAGRANGE_GLL degrees of freedom all belong to the element, so their indices run over + * the tensor grid in lexicographic order with the first coordinate varying fastest, which is + * also the order in which QBase lays out a tensor product rule. The element carries no index + * of its own here, so it goes unread. + */ +template <> +inline void fe_lagrange_gll_tensor_index(const Elem *, + const Order order, + const unsigned int dim, + const unsigned int i, + unsigned int * indices) +{ + const unsigned int n = static_cast(order) + 1; + + unsigned int stride = 1; + + for (unsigned int d = 0; d != dim; ++d) + { + indices[d] = (i / stride) % n; + stride *= n; + } + + libmesh_assert_less (i, stride); +} + +/** + * Fills the leading \p dim entries of \p indices with the tensor index of vertex \p v. + * + * A vertex of a tensor product element sits at -1 or 1 in each coordinate of the reference + * element, which is the first or the last of the interpolation points along it. + */ +inline void fe_lagrange_gll_vertex_index(const Elem & elem, + const unsigned int degree, + const unsigned int dim, + const unsigned int v, + unsigned int * indices) +{ + const Point q = elem.master_point(v); + + for (unsigned int d = 0; d != dim; ++d) + { + libmesh_assert_equal_to (std::abs(q(d)), 1.); + indices[d] = (q(d) > 0.) ? degree : 0; + } +} + + +/** + * Fills \p indices with the tensor index reached by stepping \p step interpolation points from + * the vertex whose index is \p from toward the vertex whose index is \p to. + * + * The two vertices are the ends of an edge, so they differ in one coordinate, and stepping + * along it counts up from \p from or down from it according to which end it is. Deriving the + * step from the vertices rather than from a table per edge is what keeps one expression + * standing for every edge of every tensor product element. + */ +inline void fe_lagrange_gll_step_index(const unsigned int degree, + const unsigned int dim, + const unsigned int * from, + const unsigned int * to, + const unsigned int step, + unsigned int * indices) +{ + unsigned int n_moved = 0; + + for (unsigned int d = 0; d != dim; ++d) + if (from[d] != to[d]) + { + indices[d] = (to[d] == degree) ? step : (degree - step); + ++n_moved; + } + + // The ends of an edge of a tensor product element differ in one coordinate, and the caller + // relies on that to lay independent steps over each other + libmesh_assert_equal_to (n_moved, 1u); +} + + +/** + * The LAGRANGE_GLL degrees of freedom are distributed as HIERARCHIC distributes its own: one + * on each vertex, degree-1 on each edge, (degree-1)^2 on each face, and the rest on the + * element. libMesh numbers them by node, in node order, and then the element's own, so a + * shape function index names an entity and a position within it. + * + * Two elements sharing an entity have to agree on which interpolation point each of its + * degrees of freedom sits at, and each numbers that entity's vertices its own way. The + * agreement comes from Elem::positive_edge_orientation and Elem::oriented_face_vertices, which + * both elements compute from the positions of the same vertices: an edge is walked from its + * lesser end, and a face from its least vertex along the lesser of the two edges leaving it. + */ +template <> +inline void fe_lagrange_gll_tensor_index(const Elem * elem, + const Order order, + const unsigned int dim, + const unsigned int i, + unsigned int * indices) +{ + libmesh_assert(elem); + + const unsigned int degree = static_cast(order); + const unsigned int n_v = elem->n_vertices(); + + if (i < n_v) + { + fe_lagrange_gll_vertex_index(*elem, degree, dim, i, indices); + return; + } + + // Below a vertex apiece there is nothing else to hold + libmesh_assert_greater (degree, 1); + + const unsigned int per_edge = degree - 1; + + // An edge element has no edges of its own, so what follows its vertices is its interior + if (dim == 1) + { + indices[0] = i - n_v + 1; + libmesh_assert_less (indices[0], degree); + return; + } + + const unsigned int n_e = elem->n_edges(); + + if (i < n_v + n_e * per_edge) + { + const unsigned int e = (i - n_v) / per_edge; + const unsigned int k = (i - n_v) % per_edge; + + // The node carrying this edge's degrees of freedom follows the vertices in node order + libmesh_assert (elem->is_node_on_edge(n_v + e, e)); + + // positive_edge_orientation reports whether the edge's own first vertex is the greater + // of the two, so walking from the lesser means starting at the second when it does + const bool reversed = elem->positive_edge_orientation(e); + + unsigned int from[3], to[3]; + fe_lagrange_gll_vertex_index(*elem, degree, dim, + elem->local_edge_node(e, reversed ? 1 : 0), from); + fe_lagrange_gll_vertex_index(*elem, degree, dim, + elem->local_edge_node(e, reversed ? 0 : 1), to); + + for (unsigned int d = 0; d != dim; ++d) + indices[d] = from[d]; + + fe_lagrange_gll_step_index(degree, dim, from, to, k + 1, indices); + return; + } + + const unsigned int per_face = per_edge * per_edge; + const unsigned int after_edges = n_v + n_e * per_edge; + const unsigned int n_f = (dim > 2) ? elem->n_faces() : 0; + + if (i < after_edges + n_f * per_face) + { + const unsigned int f = (i - after_edges) / per_face; + const unsigned int m = (i - after_edges) % per_face; + + // The node carrying this face's degrees of freedom follows the edge nodes + libmesh_assert (elem->is_node_on_side(n_v + n_e + f, f)); + + // The face's vertices from its least vertex toward the lesser of that vertex's neighbors, + // so the last is its other neighbor + const std::vector face_vertices = elem->oriented_face_vertices(f); + + unsigned int from[3], first[3], second[3]; + fe_lagrange_gll_vertex_index(*elem, degree, dim, face_vertices.front(), from); + fe_lagrange_gll_vertex_index(*elem, degree, dim, face_vertices[1], first); + fe_lagrange_gll_vertex_index(*elem, degree, dim, face_vertices.back(), second); + + for (unsigned int d = 0; d != dim; ++d) + indices[d] = from[d]; + + // The face's two directions move different coordinates, and the third holds the value + // the whole face shares, so the two steps do not tread on each other + fe_lagrange_gll_step_index(degree, dim, from, first, m % per_edge + 1, indices); + fe_lagrange_gll_step_index(degree, dim, from, second, m / per_edge + 1, indices); + return; + } + + // What is left belongs to the element, and runs over the interior of the tensor grid in + // lexicographic order with the first coordinate varying fastest + const unsigned int m = i - (after_edges + n_f * per_face); + unsigned int stride = 1; + + for (unsigned int d = 0; d != dim; ++d) + { + indices[d] = (m / stride) % per_edge + 1; + stride *= per_edge; + } + + libmesh_assert_less (m, stride); +} + + +/** + * \returns The \p Dim dimensional tensor product of one-dimensional Gauss-Lobatto nodal shape + * functions that shape function \p i of family \p T names, differentiated once in each + * coordinate that the leading \p n_derivs entries of \p derivs name. + * + * A value passes no coordinates, a first derivative one, and a second derivative two, so the + * three shape routines of every family and dimension reach the basis through this one + * function. + */ +template +inline Real fe_lagrange_gll_shape(const Elem * elem, + const Order order, + const unsigned int i, + const Point & p, + const unsigned int * const derivs, + const unsigned int n_derivs) +{ + unsigned int indices[3]; + + fe_lagrange_gll_tensor_index(elem, order, Dim, i, indices); + + Real value = 1.; + + for (unsigned int d = 0; d != Dim; ++d) + { + unsigned int n_d = 0; + for (unsigned int k = 0; k != n_derivs; ++k) + if (derivs[k] == d) + ++n_d; + + switch (n_d) + { + case 0: + value *= fe_lagrange_gll_1D_shape(order, indices[d], p(d)); + break; + + case 1: + value *= fe_lagrange_gll_1D_shape_deriv(order, indices[d], 0, p(d)); + break; + + default: + value *= fe_lagrange_gll_1D_shape_second_deriv(order, indices[d], 0, p(d)); + break; + } + } + + return value; +} + +} // namespace libMesh + +#endif // LIBMESH_FE_LAGRANGE_GLL_SHAPE_H diff --git a/include/fe/fe_lagrange_gll_shape_1D.h b/include/fe/fe_lagrange_gll_shape_1D.h new file mode 100644 index 00000000000..a27cdeb7b5a --- /dev/null +++ b/include/fe/fe_lagrange_gll_shape_1D.h @@ -0,0 +1,303 @@ +// The libMesh Finite Element Library. +// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner + +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +#ifndef LIBMESH_FE_LAGRANGE_GLL_SHAPE_1D_H +#define LIBMESH_FE_LAGRANGE_GLL_SHAPE_1D_H + +// Local includes +#include "libmesh/enum_order.h" +#include "libmesh/int_range.h" +#include "libmesh/quadrature_gauss_lobatto.h" + +// C++ includes +#include +#include + +// The one-dimensional nodal basis on the Gauss-Lobatto points, which the tensor product +// elements build their shape functions from. +// +// The interpolation points of this basis are the points of the Gauss-Lobatto rule of the +// same count, read from QGaussLobatto so that the two carry the same values. A basis and a +// quadrature rule that share their points are collocated: every shape function is one at +// its own point and zero at the others, so the mass matrix a collocated rule assembles is +// diagonal, for any mapping and any element shape. That property is exact only while the +// two agree exactly, which is why the points are taken from the rule rather than recomputed +// here. + +namespace libMesh +{ + +/** + * The one-dimensional nodal basis on \p n Gauss-Lobatto points, of degree n-1. + */ +struct GLLBasis1D +{ + /// The interpolation points, in ascending order, the first and last being -1 and 1 + std::vector nodes; + + /// The barycentric weights, the i'th being the reciprocal of \f$\prod_{j \neq i}(\xi_i - \xi_j)\f$ + std::vector weights; + + /// \p deriv[k][i] is the derivative of the i'th shape function at the k'th point + std::vector> deriv; + + /// \p second[k][i] is the second derivative of the i'th shape function at the k'th point + std::vector> second; +}; + + +/** + * The number of points of the largest Gauss-Lobatto rule QGaussLobatto tabulates, the one + * it uses for the orders FORTYSECOND and FORTYTHIRD. A basis interpolates at the points of + * one of those rules, so its degree runs to one less than this. + */ +constexpr unsigned int fe_lagrange_gll_max_points_1D = 23; + + +/** + * \returns The one-dimensional nodal basis on \p n Gauss-Lobatto points. + */ +inline GLLBasis1D build_gll_basis_1D(const unsigned int n) +{ + GLLBasis1D b; + + // A rule of n points is exact through degree 2n-3, so that is the order that selects it + QGaussLobatto rule(1, static_cast(2*n - 3)); + rule.init(EDGE2); + libmesh_assert_equal_to(rule.n_points(), n); + + b.nodes.resize(n); + for (const auto i : make_range(n)) + b.nodes[i] = rule.qp(i)(0); + + b.weights.resize(n); + for (const auto i : make_range(n)) + { + Real product = 1.; + for (const auto j : make_range(n)) + if (j != i) + product *= b.nodes[i] - b.nodes[j]; + b.weights[i] = 1. / product; + } + + // Away from its own point the derivative of a shape function is the ratio of two + // barycentric weights over the distance between the points. At its own point it is minus + // the sum of the others in its row, since the shape functions sum to one everywhere and + // so their derivatives sum to zero. That identity gives the two endpoint entries, + // -p(p+1)/4 and p(p+1)/4, without a case of their own. + b.deriv.assign(n, std::vector(n, 0.)); + for (const auto k : make_range(n)) + { + Real row_sum = 0.; + for (const auto i : make_range(n)) + if (i != k) + { + b.deriv[k][i] = (b.weights[i] / b.weights[k]) / (b.nodes[k] - b.nodes[i]); + row_sum += b.deriv[k][i]; + } + b.deriv[k][k] = -row_sum; + } + + // The derivative of a polynomial of degree p is one of degree p-1, which this basis + // interpolates exactly, so applying the first derivative twice gives the second. + b.second.assign(n, std::vector(n, 0.)); + for (const auto k : make_range(n)) + for (const auto i : make_range(n)) + { + Real sum = 0.; + for (const auto m : make_range(n)) + sum += b.deriv[k][m] * b.deriv[m][i]; + b.second[k][i] = sum; + } + + return b; +} + +/** + * \returns The one-dimensional basis of degree \p order, built once and shared by all + * callers. + * + * The bases are built together on first use, which is a few thousand operations, so that + * no lock is needed to reach one. + */ +inline const GLLBasis1D & fe_lagrange_gll_1D_basis(const Order order) +{ + static const std::array bases = []() + { + std::array b; + for (unsigned int n = 2; n <= fe_lagrange_gll_max_points_1D; ++n) + b[n] = build_gll_basis_1D(n); + return b; + }(); + + const unsigned int n = static_cast(order) + 1; + + libmesh_error_msg_if(n < 2 || n > fe_lagrange_gll_max_points_1D, + "No Gauss-Lobatto nodal basis of order " << order << " is available; " + "the tabulated Gauss-Lobatto points run to " + << fe_lagrange_gll_max_points_1D << ", so the orders run from 1 to " + << fe_lagrange_gll_max_points_1D - 1 << "."); + + return bases[n]; +} + + +/** + * \returns The index of the point of \p b that sits at \p xi, or \p invalid_uint when \p xi + * is not one of them. + * + * The comparison is exact, and it holds for every point of a collocated quadrature rule + * because the basis and the rule read the same values from QGaussLobatto. + */ +inline unsigned int fe_lagrange_gll_1D_point(const GLLBasis1D & b, const Real xi) +{ + for (const auto i : index_range(b.nodes)) + if (b.nodes[i] == xi) + return cast_int(i); + + return invalid_uint; +} + +/** + * \returns The value of the \p i'th one-dimensional Gauss-Lobatto nodal shape function of + * degree \p order at \p xi. + * + * At one of the basis's own points the value is one or zero, which is the property a + * collocated quadrature rule rests on. Elsewhere the barycentric form gives it, whose + * numerator and denominator are the terms \f$w_j/(\xi - \xi_j)\f$ that the shape functions + * share. + */ +inline Real fe_lagrange_gll_1D_shape(const Order order, + const unsigned int i, + const Real xi) +{ + const GLLBasis1D & b = fe_lagrange_gll_1D_basis(order); + + libmesh_assert_less (i, b.nodes.size()); + + const unsigned int k = fe_lagrange_gll_1D_point(b, xi); + if (k != invalid_uint) + return (i == k) ? 1. : 0.; + + Real numerator = 0., denominator = 0.; + + for (const auto j : index_range(b.nodes)) + { + const Real term = b.weights[j] / (xi - b.nodes[j]); + + denominator += term; + + if (j == i) + numerator = term; + } + + return numerator / denominator; +} + +/** + * \returns The derivative of the \p i'th one-dimensional Gauss-Lobatto nodal shape function + * of degree \p order at \p xi. + * + * At one of the basis's own points this is a row of the differentiation matrix, which the + * basis carries. Elsewhere it follows from differentiating the barycentric form, as + * \f$\ell_i(\xi)\left[S_2/S_1 - 1/(\xi - \xi_i)\right]\f$ with + * \f$S_m = \sum_j w_j/(\xi-\xi_j)^m\f$. + */ +inline Real fe_lagrange_gll_1D_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); + + const GLLBasis1D & b = fe_lagrange_gll_1D_basis(order); + + libmesh_assert_less (i, b.nodes.size()); + + const unsigned int k = fe_lagrange_gll_1D_point(b, xi); + if (k != invalid_uint) + return b.deriv[k][i]; + + Real s1 = 0., s2 = 0., numerator = 0.; + + for (const auto m : index_range(b.nodes)) + { + const Real term = b.weights[m] / (xi - b.nodes[m]); + + s1 += term; + s2 += term / (xi - b.nodes[m]); + + if (m == i) + numerator = term; + } + + const Real value = numerator / s1; + + return value * (s2 / s1 - 1. / (xi - b.nodes[i])); +} + +/** + * \returns The second derivative of the \p i'th one-dimensional Gauss-Lobatto nodal shape + * function of degree \p order at \p xi. + * + * At one of the basis's own points this is a row of the second differentiation matrix. + * Elsewhere it follows from differentiating the barycentric form twice, as + * \f$2\ell_i(\xi)\left[1/d^2 - S_2/(d S_1) - S_3/S_1 + S_2^2/S_1^2\right]\f$ with + * \f$d = \xi - \xi_i\f$ and \f$S_m = \sum_j w_j/(\xi-\xi_j)^m\f$. + */ +inline Real fe_lagrange_gll_1D_shape_second_deriv(const Order order, + const unsigned int i, + const unsigned int libmesh_dbg_var(j), + const Real xi) +{ + // only d^2()/dxi^2 in 1D! + libmesh_assert_equal_to (j, 0); + + const GLLBasis1D & b = fe_lagrange_gll_1D_basis(order); + + libmesh_assert_less (i, b.nodes.size()); + + const unsigned int k = fe_lagrange_gll_1D_point(b, xi); + if (k != invalid_uint) + return b.second[k][i]; + + Real s1 = 0., s2 = 0., s3 = 0., numerator = 0.; + + for (const auto m : index_range(b.nodes)) + { + const Real d = xi - b.nodes[m]; + const Real term = b.weights[m] / d; + + s1 += term; + s2 += term / d; + s3 += term / (d * d); + + if (m == i) + numerator = term; + } + + const Real value = numerator / s1; + const Real d = xi - b.nodes[i]; + + return 2. * value * (1. / (d * d) - s2 / (d * s1) - s3 / s1 + (s2 * s2) / (s1 * s1)); +} + +} // namespace libMesh + +#endif // LIBMESH_FE_LAGRANGE_GLL_SHAPE_1D_H diff --git a/include/fe/fe_macro.h b/include/fe/fe_macro.h index 1bbb5f08d3c..53f90301ea2 100644 --- a/include/fe/fe_macro.h +++ b/include/fe/fe_macro.h @@ -80,6 +80,8 @@ template class LIBMESH_EXPORT FE< (_dim), LAGRANGE_VEC>; \ template class LIBMESH_EXPORT FE< (_dim), L2_LAGRANGE>; \ template class LIBMESH_EXPORT FE< (_dim), L2_LAGRANGE_VEC>; \ + template class LIBMESH_EXPORT FE< (_dim), L2_LAGRANGE_GLL>; \ + template class LIBMESH_EXPORT FE< (_dim), LAGRANGE_GLL>; \ template class LIBMESH_EXPORT FE< (_dim), MONOMIAL>; \ template class LIBMESH_EXPORT FE< (_dim), SCALAR>; \ template class LIBMESH_EXPORT FE< (_dim), SIDE_HIERARCHIC>; \ @@ -102,6 +104,8 @@ template class LIBMESH_EXPORT FE< (_dim), LAGRANGE_VEC>; \ template class LIBMESH_EXPORT FE< (_dim), L2_LAGRANGE>; \ template class LIBMESH_EXPORT FE< (_dim), L2_LAGRANGE_VEC>; \ + template class LIBMESH_EXPORT FE< (_dim), L2_LAGRANGE_GLL>; \ + template class LIBMESH_EXPORT FE< (_dim), LAGRANGE_GLL>; \ template class LIBMESH_EXPORT FE< (_dim), MONOMIAL>; \ template class LIBMESH_EXPORT FE< (_dim), SCALAR>; \ template class LIBMESH_EXPORT FE< (_dim), SIDE_HIERARCHIC>; \ diff --git a/include/include_HEADERS b/include/include_HEADERS index 079841ff6d7..b68076915e8 100644 --- a/include/include_HEADERS +++ b/include/include_HEADERS @@ -87,6 +87,8 @@ include_HEADERS = \ fe/fe_compute_data.h \ fe/fe_interface.h \ fe/fe_interface_macros.h \ + fe/fe_lagrange_gll_shape.h \ + fe/fe_lagrange_gll_shape_1D.h \ fe/fe_lagrange_shape_1D.h \ fe/fe_macro.h \ fe/fe_map.h \ diff --git a/include/libmesh/Makefile.am b/include/libmesh/Makefile.am index 0083c34c372..f26b85e7a46 100644 --- a/include/libmesh/Makefile.am +++ b/include/libmesh/Makefile.am @@ -78,6 +78,8 @@ BUILT_SOURCES = \ fe_compute_data.h \ fe_interface.h \ fe_interface_macros.h \ + fe_lagrange_gll_shape.h \ + fe_lagrange_gll_shape_1D.h \ fe_lagrange_shape_1D.h \ fe_macro.h \ fe_map.h \ @@ -844,6 +846,12 @@ fe_interface.h: $(top_srcdir)/include/fe/fe_interface.h fe_interface_macros.h: $(top_srcdir)/include/fe/fe_interface_macros.h $(AM_V_GEN)rm -f $@ && $(LN_S) -f $< $@ +fe_lagrange_gll_shape.h: $(top_srcdir)/include/fe/fe_lagrange_gll_shape.h + $(AM_V_GEN)rm -f $@ && $(LN_S) -f $< $@ + +fe_lagrange_gll_shape_1D.h: $(top_srcdir)/include/fe/fe_lagrange_gll_shape_1D.h + $(AM_V_GEN)rm -f $@ && $(LN_S) -f $< $@ + fe_lagrange_shape_1D.h: $(top_srcdir)/include/fe/fe_lagrange_shape_1D.h $(AM_V_GEN)rm -f $@ && $(LN_S) -f $< $@ @@ -2178,3 +2186,4 @@ xdr_cxx.h: $(top_srcdir)/include/utils/xdr_cxx.h parallel_communicator_specializations: $(top_srcdir)/include/timpi_shims/parallel_communicator_specializations $(AM_V_GEN)rm -f $@ && $(LN_S) -f $< $@ + diff --git a/include/libmesh/Makefile.in b/include/libmesh/Makefile.in index 98e72774ce4..51a2749960a 100644 --- a/include/libmesh/Makefile.in +++ b/include/libmesh/Makefile.in @@ -573,7 +573,8 @@ BUILT_SOURCES = dirichlet_boundaries.h dof_map.h dof_map_base.h \ uniform_refinement_estimator.h \ weighted_patch_recovery_error_estimator.h fe.h fe_abstract.h \ fe_base.h fe_compute_data.h fe_interface.h \ - fe_interface_macros.h fe_lagrange_shape_1D.h fe_macro.h \ + fe_interface_macros.h fe_lagrange_gll_shape.h \ + fe_lagrange_gll_shape_1D.h fe_lagrange_shape_1D.h fe_macro.h \ fe_map.h fe_reference_element_traits.h \ fe_transformation_base.h fe_type.h fe_xyz_map.h \ h1_fe_transformation.h hcurl_fe_transformation.h \ @@ -1192,6 +1193,12 @@ fe_interface.h: $(top_srcdir)/include/fe/fe_interface.h fe_interface_macros.h: $(top_srcdir)/include/fe/fe_interface_macros.h $(AM_V_GEN)rm -f $@ && $(LN_S) -f $< $@ +fe_lagrange_gll_shape.h: $(top_srcdir)/include/fe/fe_lagrange_gll_shape.h + $(AM_V_GEN)rm -f $@ && $(LN_S) -f $< $@ + +fe_lagrange_gll_shape_1D.h: $(top_srcdir)/include/fe/fe_lagrange_gll_shape_1D.h + $(AM_V_GEN)rm -f $@ && $(LN_S) -f $< $@ + fe_lagrange_shape_1D.h: $(top_srcdir)/include/fe/fe_lagrange_shape_1D.h $(AM_V_GEN)rm -f $@ && $(LN_S) -f $< $@ diff --git a/src/fe/fe_abstract.C b/src/fe/fe_abstract.C index f35eaa96a07..36e8dfbfba8 100644 --- a/src/fe/fe_abstract.C +++ b/src/fe/fe_abstract.C @@ -100,6 +100,12 @@ std::unique_ptr FEAbstract::build(const unsigned int dim, case L2_LAGRANGE: return std::make_unique>(fet); + case L2_LAGRANGE_GLL: + return std::make_unique>(fet); + + case LAGRANGE_GLL: + return std::make_unique>(fet); + case L2_LAGRANGE_VEC: return std::make_unique>(fet); @@ -177,6 +183,12 @@ std::unique_ptr FEAbstract::build(const unsigned int dim, case L2_LAGRANGE: return std::make_unique>(fet); + case L2_LAGRANGE_GLL: + return std::make_unique>(fet); + + case LAGRANGE_GLL: + return std::make_unique>(fet); + case L2_LAGRANGE_VEC: return std::make_unique>(fet); @@ -256,6 +268,12 @@ std::unique_ptr FEAbstract::build(const unsigned int dim, case L2_LAGRANGE: return std::make_unique>(fet); + case L2_LAGRANGE_GLL: + return std::make_unique>(fet); + + case LAGRANGE_GLL: + return std::make_unique>(fet); + case L2_LAGRANGE_VEC: return std::make_unique>(fet); @@ -335,6 +353,12 @@ std::unique_ptr FEAbstract::build(const unsigned int dim, case L2_LAGRANGE: return std::make_unique>(fet); + case L2_LAGRANGE_GLL: + return std::make_unique>(fet); + + case LAGRANGE_GLL: + return std::make_unique>(fet); + case L2_LAGRANGE_VEC: return std::make_unique>(fet); diff --git a/src/fe/fe_base.C b/src/fe/fe_base.C index 92dbd181f6a..aa368d49ed6 100644 --- a/src/fe/fe_base.C +++ b/src/fe/fe_base.C @@ -210,6 +210,12 @@ FEGenericBase::build (const unsigned int dim, case L2_LAGRANGE: return std::make_unique>(fet); + case L2_LAGRANGE_GLL: + return std::make_unique>(fet); + + case LAGRANGE_GLL: + return std::make_unique>(fet); + case HIERARCHIC: return std::make_unique>(fet); @@ -260,6 +266,12 @@ FEGenericBase::build (const unsigned int dim, case L2_LAGRANGE: return std::make_unique>(fet); + case L2_LAGRANGE_GLL: + return std::make_unique>(fet); + + case LAGRANGE_GLL: + return std::make_unique>(fet); + case HIERARCHIC: return std::make_unique>(fet); @@ -312,6 +324,12 @@ FEGenericBase::build (const unsigned int dim, case L2_LAGRANGE: return std::make_unique>(fet); + case L2_LAGRANGE_GLL: + return std::make_unique>(fet); + + case LAGRANGE_GLL: + return std::make_unique>(fet); + case HIERARCHIC: return std::make_unique>(fet); @@ -367,6 +385,12 @@ FEGenericBase::build (const unsigned int dim, case L2_LAGRANGE: return std::make_unique>(fet); + case L2_LAGRANGE_GLL: + return std::make_unique>(fet); + + case LAGRANGE_GLL: + return std::make_unique>(fet); + case HIERARCHIC: return std::make_unique>(fet); diff --git a/src/fe/fe_boundary.C b/src/fe/fe_boundary.C index 7ddb3250959..452ca2575bd 100644 --- a/src/fe/fe_boundary.C +++ b/src/fe/fe_boundary.C @@ -79,6 +79,8 @@ LIBMESH_ERRORS_IN_LOW_D(L2_HIERARCHIC_VEC) LIBMESH_ERRORS_IN_LOW_D(SIDE_HIERARCHIC) LIBMESH_ERRORS_IN_LOW_D(LAGRANGE) LIBMESH_ERRORS_IN_LOW_D(L2_LAGRANGE) +LIBMESH_ERRORS_IN_LOW_D(L2_LAGRANGE_GLL) +LIBMESH_ERRORS_IN_LOW_D(LAGRANGE_GLL) LIBMESH_ERRORS_IN_LOW_D(LAGRANGE_VEC) LIBMESH_ERRORS_IN_LOW_D(L2_LAGRANGE_VEC) LIBMESH_ERRORS_IN_LOW_D(MONOMIAL) @@ -1164,6 +1166,8 @@ template LIBMESH_EXPORT void FE<3,_type>::edge_reinit(Elem const *, unsigned int REINIT_AND_SIDE_MAPS(LAGRANGE); REINIT_AND_SIDE_MAPS(LAGRANGE_VEC); REINIT_AND_SIDE_MAPS(L2_LAGRANGE); +REINIT_AND_SIDE_MAPS(L2_LAGRANGE_GLL); +REINIT_AND_SIDE_MAPS(LAGRANGE_GLL); REINIT_AND_SIDE_MAPS(L2_LAGRANGE_VEC); REINIT_AND_SIDE_MAPS(HIERARCHIC); REINIT_AND_SIDE_MAPS(HIERARCHIC_VEC); diff --git a/src/fe/fe_interface.C b/src/fe/fe_interface.C index 7dfc8bc0ddd..3e402a82edf 100644 --- a/src/fe/fe_interface.C +++ b/src/fe/fe_interface.C @@ -19,6 +19,7 @@ // Local includes #include "libmesh/fe_interface.h" +#include "libmesh/fe_lagrange_gll_shape_1D.h" #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS #include "libmesh/fe_interface_macros.h" @@ -94,6 +95,8 @@ FEInterface::is_InfFE_elem(const ElemType et) fe_family_case_func(SIDE_HIERARCHIC, dim, func_and_args, prefix, suffix) \ fe_family_case_func(LAGRANGE, dim, func_and_args, prefix, suffix) \ fe_family_case_func(L2_LAGRANGE, dim, func_and_args, prefix, suffix) \ + fe_family_case_func(L2_LAGRANGE_GLL, dim, func_and_args, prefix, suffix) \ + fe_family_case_func(LAGRANGE_GLL, dim, func_and_args, prefix, suffix) \ fe_family_case_func(MONOMIAL, dim, func_and_args, prefix, suffix) \ fe_family_case_func(SCALAR, dim, func_and_args, prefix, suffix) \ fe_family_case_func(XYZ, dim, func_and_args, prefix, suffix) \ @@ -108,6 +111,8 @@ FEInterface::is_InfFE_elem(const ElemType et) fe_family_case(SIDE_HIERARCHIC) \ fe_family_case(LAGRANGE) \ fe_family_case(L2_LAGRANGE) \ + fe_family_case(L2_LAGRANGE_GLL) \ + fe_family_case(LAGRANGE_GLL) \ fe_family_case(MONOMIAL) \ fe_family_case(SCALAR) \ fe_family_case(XYZ) \ @@ -2200,6 +2205,29 @@ unsigned int FEInterface::max_order(const FEType & fe_t, return unknown; } break; + case L2_LAGRANGE_GLL: + case LAGRANGE_GLL: + switch (el_t) + { + case EDGE2: + case EDGE3: + case EDGE4: + case QUAD4: + case QUADSHELL4: + case QUAD8: + case QUADSHELL8: + case QUAD9: + case QUADSHELL9: + case HEX8: + case HEX20: + case HEX27: + // A basis of degree p interpolates at p+1 Gauss-Lobatto points, and the points + // are tabulated up to fe_lagrange_gll_max_points_1D of them + return fe_lagrange_gll_max_points_1D - 1; + default: + return unknown; + } + break; case MONOMIAL: case L2_LAGRANGE: case L2_LAGRANGE_VEC: @@ -2617,6 +2645,7 @@ bool FEInterface::extra_hanging_dofs(const FEType & fe_t) { case LAGRANGE: case L2_LAGRANGE: + case L2_LAGRANGE_GLL: case MONOMIAL: case MONOMIAL_VEC: case L2_HIERARCHIC: @@ -2634,6 +2663,11 @@ bool FEInterface::extra_hanging_dofs(const FEType & fe_t) case HIERARCHIC: case HIERARCHIC_VEC: case L2_HIERARCHIC_VEC: + // A mid-edge or mid-face node of this family owns the interpolation points inside its + // entity, and past order two none of those is the node itself, so the node cannot serve + // as a vertex for the elements meeting it at a refinement interface and needs a degree + // of freedom of its own there + case LAGRANGE_GLL: fe_family_horder_case() default: return true; @@ -2663,6 +2697,7 @@ bool FEInterface::orientation_dependent (const FEFamily & fe_family) case HIERARCHIC: case L2_HIERARCHIC: case HIERARCHIC_VEC: + case LAGRANGE_GLL: case L2_HIERARCHIC_VEC: case BERNSTEIN: case RATIONAL_BERNSTEIN: @@ -2706,7 +2741,9 @@ FEInterface::is_hierarchic (const FEType & fe_type) case CLOUGH: // maybe some day? case LAGRANGE: case LAGRANGE_VEC: + case LAGRANGE_GLL: case L2_LAGRANGE: + case L2_LAGRANGE_GLL: case L2_LAGRANGE_VEC: case NEDELEC_ONE: case RATIONAL_BERNSTEIN: @@ -2732,6 +2769,7 @@ FEContinuity FEInterface::get_continuity(const FEType & fe_type) case MONOMIAL_VEC: case L2_HIERARCHIC: case L2_LAGRANGE: + case L2_LAGRANGE_GLL: case XYZ: case SCALAR: case L2_RAVIART_THOMAS: @@ -2741,6 +2779,7 @@ FEContinuity FEInterface::get_continuity(const FEType & fe_type) // C0 elements case LAGRANGE: + case LAGRANGE_GLL: case HIERARCHIC: case BERNSTEIN: case SZABAB: diff --git a/src/fe/fe_l2_lagrange_gll.C b/src/fe/fe_l2_lagrange_gll.C new file mode 100644 index 00000000000..2d4ecad1e8b --- /dev/null +++ b/src/fe/fe_l2_lagrange_gll.C @@ -0,0 +1,198 @@ +// The libMesh Finite Element Library. +// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner + +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + +// Local includes +#include "libmesh/elem.h" +#include "libmesh/enum_to_string.h" +#include "libmesh/fe.h" +#include "libmesh/fe_interface.h" +#include "libmesh/fe_lagrange_gll_shape_1D.h" +#include "libmesh/fe_macro.h" + + +namespace libMesh +{ + +/** + * \returns The number of degrees of freedom that the L2_LAGRANGE_GLL basis of order \p o + * carries on an element of type \p t. + * + * The basis is a tensor product of one-dimensional bases, so it lives on the tensor + * product element types alone, and it carries \f$(p+1)^d\f$ degrees of freedom on one of + * those whatever its node count: every degree of freedom belongs to the element, so an + * order of eight asks nothing of the element beyond its shape. + */ +unsigned int l2_lagrange_gll_n_dofs(const ElemType t, const Order o) +{ + libmesh_assert_greater (o, 0); + + const unsigned int n = static_cast(o) + 1; + + libmesh_error_msg_if(n > fe_lagrange_gll_max_points_1D, + "The L2_LAGRANGE_GLL basis of order " << o << " would interpolate at " + << n << " Gauss-Lobatto points, and they are tabulated up to " + << fe_lagrange_gll_max_points_1D << "."); + + switch (t) + { + case NODEELEM: + return 1; + + case EDGE2: + case EDGE3: + case EDGE4: + return n; + + case QUAD4: + case QUADSHELL4: + case QUAD8: + case QUADSHELL8: + case QUAD9: + case QUADSHELL9: + return n*n; + + case HEX8: + case HEX20: + case HEX27: + return n*n*n; + + case INVALID_ELEM: + return 0; + + default: + libmesh_error_msg("The L2_LAGRANGE_GLL basis is a tensor product, so it has no form on " + << Utility::enum_to_string(t) << "."); + } +} + + +unsigned int l2_lagrange_gll_n_dofs(const Elem * e, const Order o) +{ + libmesh_assert(e); + return l2_lagrange_gll_n_dofs(e->type(), o); +} + +/** + * Evaluates a solution at the nodes of \p elem, for the writers that report a variable + * there. + * + * The interpolation points of this basis are the Gauss-Lobatto points, which are the nodes + * of the element only at orders one and two, so beyond those the values are interpolated + * at the nodes rather than read off the coefficients. + */ +void l2_lagrange_gll_nodal_soln(const Elem * elem, + const Order order, + const std::vector & elem_soln, + std::vector & nodal_soln, + const bool add_p_level) +{ + const unsigned int n_nodes = elem->n_nodes(); + + nodal_soln.resize(n_nodes); + + const FEType fe_type(order, L2_LAGRANGE_GLL); + + const unsigned int n_sf = + FEInterface::n_shape_functions(fe_type, elem, add_p_level); + + std::vector refspace_nodes; + FEBase::get_refspace_nodes(elem->type(), refspace_nodes); + libmesh_assert_equal_to (refspace_nodes.size(), n_nodes); + libmesh_assert_equal_to (elem_soln.size(), n_sf); + + std::fill(nodal_soln.begin(), nodal_soln.end(), 0); + + for (const auto n : make_range(n_nodes)) + for (const auto i : make_range(n_sf)) + nodal_soln[n] += elem_soln[i] * + FEInterface::shape(fe_type, elem, i, refspace_nodes[n], add_p_level); +} + +LIBMESH_FE_NODAL_SOLN(L2_LAGRANGE_GLL, l2_lagrange_gll_nodal_soln) +LIBMESH_FE_SIDE_NODAL_SOLN(L2_LAGRANGE_GLL) + + +// Every degree of freedom of this basis belongs to the element +template <> unsigned int FE<0,L2_LAGRANGE_GLL>::n_dofs(const ElemType t, const Order o) { return l2_lagrange_gll_n_dofs(t, o); } +template <> unsigned int FE<1,L2_LAGRANGE_GLL>::n_dofs(const ElemType t, const Order o) { return l2_lagrange_gll_n_dofs(t, o); } +template <> unsigned int FE<2,L2_LAGRANGE_GLL>::n_dofs(const ElemType t, const Order o) { return l2_lagrange_gll_n_dofs(t, o); } +template <> unsigned int FE<3,L2_LAGRANGE_GLL>::n_dofs(const ElemType t, const Order o) { return l2_lagrange_gll_n_dofs(t, o); } + +template <> unsigned int FE<0,L2_LAGRANGE_GLL>::n_dofs(const Elem * e, const Order o) { return l2_lagrange_gll_n_dofs(e, o); } +template <> unsigned int FE<1,L2_LAGRANGE_GLL>::n_dofs(const Elem * e, const Order o) { return l2_lagrange_gll_n_dofs(e, o); } +template <> unsigned int FE<2,L2_LAGRANGE_GLL>::n_dofs(const Elem * e, const Order o) { return l2_lagrange_gll_n_dofs(e, o); } +template <> unsigned int FE<3,L2_LAGRANGE_GLL>::n_dofs(const Elem * e, const Order o) { return l2_lagrange_gll_n_dofs(e, o); } + +template <> unsigned int FE<0,L2_LAGRANGE_GLL>::n_dofs_at_node(const ElemType, const Order, const unsigned int) { return 0; } +template <> unsigned int FE<1,L2_LAGRANGE_GLL>::n_dofs_at_node(const ElemType, const Order, const unsigned int) { return 0; } +template <> unsigned int FE<2,L2_LAGRANGE_GLL>::n_dofs_at_node(const ElemType, const Order, const unsigned int) { return 0; } +template <> unsigned int FE<3,L2_LAGRANGE_GLL>::n_dofs_at_node(const ElemType, const Order, const unsigned int) { return 0; } + +template <> unsigned int FE<0,L2_LAGRANGE_GLL>::n_dofs_at_node(const Elem &, const Order, const unsigned int) { return 0; } +template <> unsigned int FE<1,L2_LAGRANGE_GLL>::n_dofs_at_node(const Elem &, const Order, const unsigned int) { return 0; } +template <> unsigned int FE<2,L2_LAGRANGE_GLL>::n_dofs_at_node(const Elem &, const Order, const unsigned int) { return 0; } +template <> unsigned int FE<3,L2_LAGRANGE_GLL>::n_dofs_at_node(const Elem &, const Order, const unsigned int) { return 0; } + +template <> unsigned int FE<0,L2_LAGRANGE_GLL>::n_dofs_per_elem(const ElemType t, const Order o) { return l2_lagrange_gll_n_dofs(t, o); } +template <> unsigned int FE<1,L2_LAGRANGE_GLL>::n_dofs_per_elem(const ElemType t, const Order o) { return l2_lagrange_gll_n_dofs(t, o); } +template <> unsigned int FE<2,L2_LAGRANGE_GLL>::n_dofs_per_elem(const ElemType t, const Order o) { return l2_lagrange_gll_n_dofs(t, o); } +template <> unsigned int FE<3,L2_LAGRANGE_GLL>::n_dofs_per_elem(const ElemType t, const Order o) { return l2_lagrange_gll_n_dofs(t, o); } + +template <> unsigned int FE<0,L2_LAGRANGE_GLL>::n_dofs_per_elem(const Elem & e, const Order o) { return l2_lagrange_gll_n_dofs(&e, o); } +template <> unsigned int FE<1,L2_LAGRANGE_GLL>::n_dofs_per_elem(const Elem & e, const Order o) { return l2_lagrange_gll_n_dofs(&e, o); } +template <> unsigned int FE<2,L2_LAGRANGE_GLL>::n_dofs_per_elem(const Elem & e, const Order o) { return l2_lagrange_gll_n_dofs(&e, o); } +template <> unsigned int FE<3,L2_LAGRANGE_GLL>::n_dofs_per_elem(const Elem & e, const Order o) { return l2_lagrange_gll_n_dofs(&e, o); } + + +template <> FEContinuity FE<0,L2_LAGRANGE_GLL>::get_continuity() const { return DISCONTINUOUS; } +template <> FEContinuity FE<1,L2_LAGRANGE_GLL>::get_continuity() const { return DISCONTINUOUS; } +template <> FEContinuity FE<2,L2_LAGRANGE_GLL>::get_continuity() const { return DISCONTINUOUS; } +template <> FEContinuity FE<3,L2_LAGRANGE_GLL>::get_continuity() const { return DISCONTINUOUS; } + +// A nodal basis is not hierarchic +template <> bool FE<0,L2_LAGRANGE_GLL>::is_hierarchic() const { return false; } +template <> bool FE<1,L2_LAGRANGE_GLL>::is_hierarchic() const { return false; } +template <> bool FE<2,L2_LAGRANGE_GLL>::is_hierarchic() const { return false; } +template <> bool FE<3,L2_LAGRANGE_GLL>::is_hierarchic() const { return false; } + +// The shape functions are the same on every element of a type +template <> bool FE<0,L2_LAGRANGE_GLL>::shapes_need_reinit() const { return false; } +template <> bool FE<1,L2_LAGRANGE_GLL>::shapes_need_reinit() const { return false; } +template <> bool FE<2,L2_LAGRANGE_GLL>::shapes_need_reinit() const { return false; } +template <> bool FE<3,L2_LAGRANGE_GLL>::shapes_need_reinit() const { return false; } + +// A DISCONTINUOUS basis shares nothing across a hanging node, so it constrains nothing +#ifdef LIBMESH_ENABLE_AMR +template <> +void FE<2,L2_LAGRANGE_GLL>::compute_constraints (DofConstraints &, + DofMap &, + const unsigned int, + const Elem *) +{ } + +template <> +void FE<3,L2_LAGRANGE_GLL>::compute_constraints (DofConstraints &, + DofMap &, + const unsigned int, + const Elem *) +{ } +#endif // LIBMESH_ENABLE_AMR + + +} // namespace libMesh diff --git a/src/fe/fe_lagrange_gll.C b/src/fe/fe_lagrange_gll.C new file mode 100644 index 00000000000..03f25cb6903 --- /dev/null +++ b/src/fe/fe_lagrange_gll.C @@ -0,0 +1,326 @@ +// The libMesh Finite Element Library. +// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner + +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + +// Local includes +#include "libmesh/elem.h" +#include "libmesh/enum_to_string.h" +#include "libmesh/fe.h" +#include "libmesh/fe_interface.h" +#include "libmesh/fe_lagrange_gll_shape_1D.h" +#include "libmesh/fe_macro.h" + + +namespace libMesh +{ + +/** + * \returns The number of degrees of freedom that the LAGRANGE_GLL basis of order \p o carries + * on an element of type \p t. + * + * The basis is a tensor product, so it lives on the tensor product element types alone, and + * carries \f$(p+1)^d\f$ degrees of freedom on one of those. + * + * The element has to have a node for each entity that owns degrees of freedom, which is what + * limits the order some types reach. A vertex owns one and an edge owns p-1, so a type without + * mid-edge nodes stops at order one. A face owns \f$(p-1)^2\f$, so in three dimensions a type + * without face nodes stops there too. Interior degrees of freedom belong to the element rather + * than to a node, so no type needs an interior node, and these are the same limits HIERARCHIC + * carries for the same reason. + */ +unsigned int lagrange_gll_n_dofs(const ElemType t, const Order o) +{ + libmesh_assert_greater (o, 0); + + const unsigned int n = static_cast(o) + 1; + + libmesh_error_msg_if(n > fe_lagrange_gll_max_points_1D, + "The LAGRANGE_GLL basis of order " << o << " would interpolate at " + << n << " Gauss-Lobatto points, and they are tabulated up to " + << fe_lagrange_gll_max_points_1D << "."); + + switch (t) + { + case NODEELEM: + return 1; + + // An edge owns no entity between its vertices and its interior, so it needs no node + // beyond them at any order + case EDGE2: + case EDGE3: + case EDGE4: + return n; + + // Without mid-edge nodes there is nowhere to put an edge's degrees of freedom + case QUAD4: + case QUADSHELL4: + libmesh_error_msg_if(o > FIRST, + "The LAGRANGE_GLL basis of order " << o << " puts " << o - 1 + << " degrees of freedom on each edge, and " + << Utility::enum_to_string(t) << " has no mid-edge node to own them. " + "QUAD8 or QUAD9 does."); + libmesh_fallthrough(); + case QUAD8: + case QUADSHELL8: + case QUAD9: + case QUADSHELL9: + return n*n; + + // In three dimensions a face owns degrees of freedom as well, so a type needs face + // nodes and not only mid-edge ones + case HEX8: + libmesh_error_msg_if(o > FIRST, + "The LAGRANGE_GLL basis of order " << o + << " puts degrees of freedom on the edges and faces of a hexahedron, " + "and HEX8 has no node to own them. HEX27 does."); + libmesh_fallthrough(); + case HEX20: + libmesh_error_msg_if(o > FIRST, + "The LAGRANGE_GLL basis of order " << o << " puts " << (o - 1)*(o - 1) + << " degrees of freedom on each face, and HEX20 has no face node to " + "own them. HEX27 does."); + libmesh_fallthrough(); + case HEX27: + return n*n*n; + + case INVALID_ELEM: + return 0; + + default: + libmesh_error_msg("The LAGRANGE_GLL basis is a tensor product, so it has no form on " + << Utility::enum_to_string(t) << "."); + } +} + + +unsigned int lagrange_gll_n_dofs(const Elem * e, const Order o) +{ + libmesh_assert(e); + return lagrange_gll_n_dofs(e->type(), o); +} + +/** + * \returns The number of degrees of freedom that node \p n of an element of type \p t owns. + * + * A vertex owns the one whose interpolation point it is. A mid-edge node owns the p-1 points + * inside its edge, and a mid-face node the \f$(p-1)^2\f$ inside its face. An interior node owns + * none: those points belong to the element, which is what lets static condensation reach them + * and what keeps a type without an interior node usable. + */ +unsigned int lagrange_gll_n_dofs_at_node(const ElemType t, + const Order o, + const unsigned int n) +{ + libmesh_assert_greater (o, 0); + + const unsigned int per_edge = static_cast(o) - 1; + + switch (t) + { + case NODEELEM: + return 1; + + case EDGE2: + case EDGE3: + case EDGE4: + return (n < 2) ? 1 : 0; + + case QUAD4: + case QUADSHELL4: + libmesh_assert_less (n, 4); + libmesh_fallthrough(); + case QUAD8: + case QUADSHELL8: + case QUAD9: + case QUADSHELL9: + if (n < 4) + return 1; + if (n < 8) + return per_edge; + return 0; + + case HEX8: + libmesh_assert_less (n, 8); + libmesh_fallthrough(); + case HEX20: + case HEX27: + if (n < 8) + return 1; + if (n < 20) + return per_edge; + if (n < 26) + return per_edge * per_edge; + return 0; + + case INVALID_ELEM: + return 0; + + default: + libmesh_error_msg("The LAGRANGE_GLL basis is a tensor product, so it has no form on " + << Utility::enum_to_string(t) << "."); + } +} + +/** + * \returns The number of degrees of freedom that the element itself owns, which are the + * interpolation points interior to it: \f$(p-1)^d\f$ of them. + */ +unsigned int lagrange_gll_n_dofs_per_elem(const ElemType t, const Order o) +{ + libmesh_assert_greater (o, 0); + + const unsigned int per_edge = static_cast(o) - 1; + + switch (t) + { + case NODEELEM: + case INVALID_ELEM: + return 0; + + case EDGE2: + case EDGE3: + case EDGE4: + return per_edge; + + case QUAD4: + case QUADSHELL4: + case QUAD8: + case QUADSHELL8: + case QUAD9: + case QUADSHELL9: + return per_edge * per_edge; + + case HEX8: + case HEX20: + case HEX27: + return per_edge * per_edge * per_edge; + + default: + libmesh_error_msg("The LAGRANGE_GLL basis is a tensor product, so it has no form on " + << Utility::enum_to_string(t) << "."); + } +} + + +/** + * Evaluates a solution at the nodes of \p elem, for the writers that report a variable there. + * + * The vertex coefficients are already values at their nodes, but past order two the remaining + * interpolation points are not nodes, so the values at the nodes are interpolated rather than + * read off. + */ +void lagrange_gll_nodal_soln(const Elem * elem, + const Order order, + const std::vector & elem_soln, + std::vector & nodal_soln, + const bool add_p_level) +{ + const unsigned int n_nodes = elem->n_nodes(); + + nodal_soln.resize(n_nodes); + + const FEType fe_type(order, LAGRANGE_GLL); + + const unsigned int n_sf = + FEInterface::n_shape_functions(fe_type, elem, add_p_level); + + std::vector refspace_nodes; + FEBase::get_refspace_nodes(elem->type(), refspace_nodes); + libmesh_assert_equal_to (refspace_nodes.size(), n_nodes); + libmesh_assert_equal_to (elem_soln.size(), n_sf); + + std::fill(nodal_soln.begin(), nodal_soln.end(), 0); + + for (const auto n : make_range(n_nodes)) + for (const auto i : make_range(n_sf)) + nodal_soln[n] += elem_soln[i] * + FEInterface::shape(fe_type, elem, i, refspace_nodes[n], add_p_level); +} + +LIBMESH_FE_NODAL_SOLN(LAGRANGE_GLL, lagrange_gll_nodal_soln) +LIBMESH_FE_SIDE_NODAL_SOLN(LAGRANGE_GLL) + + +template <> unsigned int FE<0,LAGRANGE_GLL>::n_dofs(const ElemType t, const Order o) { return lagrange_gll_n_dofs(t, o); } +template <> unsigned int FE<1,LAGRANGE_GLL>::n_dofs(const ElemType t, const Order o) { return lagrange_gll_n_dofs(t, o); } +template <> unsigned int FE<2,LAGRANGE_GLL>::n_dofs(const ElemType t, const Order o) { return lagrange_gll_n_dofs(t, o); } +template <> unsigned int FE<3,LAGRANGE_GLL>::n_dofs(const ElemType t, const Order o) { return lagrange_gll_n_dofs(t, o); } + +template <> unsigned int FE<0,LAGRANGE_GLL>::n_dofs(const Elem * e, const Order o) { return lagrange_gll_n_dofs(e, o); } +template <> unsigned int FE<1,LAGRANGE_GLL>::n_dofs(const Elem * e, const Order o) { return lagrange_gll_n_dofs(e, o); } +template <> unsigned int FE<2,LAGRANGE_GLL>::n_dofs(const Elem * e, const Order o) { return lagrange_gll_n_dofs(e, o); } +template <> unsigned int FE<3,LAGRANGE_GLL>::n_dofs(const Elem * e, const Order o) { return lagrange_gll_n_dofs(e, o); } + +template <> unsigned int FE<0,LAGRANGE_GLL>::n_dofs_at_node(const ElemType t, const Order o, const unsigned int n) { return lagrange_gll_n_dofs_at_node(t, o, n); } +template <> unsigned int FE<1,LAGRANGE_GLL>::n_dofs_at_node(const ElemType t, const Order o, const unsigned int n) { return lagrange_gll_n_dofs_at_node(t, o, n); } +template <> unsigned int FE<2,LAGRANGE_GLL>::n_dofs_at_node(const ElemType t, const Order o, const unsigned int n) { return lagrange_gll_n_dofs_at_node(t, o, n); } +template <> unsigned int FE<3,LAGRANGE_GLL>::n_dofs_at_node(const ElemType t, const Order o, const unsigned int n) { return lagrange_gll_n_dofs_at_node(t, o, n); } + +template <> unsigned int FE<0,LAGRANGE_GLL>::n_dofs_at_node(const Elem & e, const Order o, const unsigned int n) { return lagrange_gll_n_dofs_at_node(e.type(), o, n); } +template <> unsigned int FE<1,LAGRANGE_GLL>::n_dofs_at_node(const Elem & e, const Order o, const unsigned int n) { return lagrange_gll_n_dofs_at_node(e.type(), o, n); } +template <> unsigned int FE<2,LAGRANGE_GLL>::n_dofs_at_node(const Elem & e, const Order o, const unsigned int n) { return lagrange_gll_n_dofs_at_node(e.type(), o, n); } +template <> unsigned int FE<3,LAGRANGE_GLL>::n_dofs_at_node(const Elem & e, const Order o, const unsigned int n) { return lagrange_gll_n_dofs_at_node(e.type(), o, n); } + +template <> unsigned int FE<0,LAGRANGE_GLL>::n_dofs_per_elem(const ElemType t, const Order o) { return lagrange_gll_n_dofs_per_elem(t, o); } +template <> unsigned int FE<1,LAGRANGE_GLL>::n_dofs_per_elem(const ElemType t, const Order o) { return lagrange_gll_n_dofs_per_elem(t, o); } +template <> unsigned int FE<2,LAGRANGE_GLL>::n_dofs_per_elem(const ElemType t, const Order o) { return lagrange_gll_n_dofs_per_elem(t, o); } +template <> unsigned int FE<3,LAGRANGE_GLL>::n_dofs_per_elem(const ElemType t, const Order o) { return lagrange_gll_n_dofs_per_elem(t, o); } + +template <> unsigned int FE<0,LAGRANGE_GLL>::n_dofs_per_elem(const Elem & e, const Order o) { return lagrange_gll_n_dofs_per_elem(e.type(), o); } +template <> unsigned int FE<1,LAGRANGE_GLL>::n_dofs_per_elem(const Elem & e, const Order o) { return lagrange_gll_n_dofs_per_elem(e.type(), o); } +template <> unsigned int FE<2,LAGRANGE_GLL>::n_dofs_per_elem(const Elem & e, const Order o) { return lagrange_gll_n_dofs_per_elem(e.type(), o); } +template <> unsigned int FE<3,LAGRANGE_GLL>::n_dofs_per_elem(const Elem & e, const Order o) { return lagrange_gll_n_dofs_per_elem(e.type(), o); } + +// A nodal basis on the Gauss-Lobatto points is continuous across a shared entity +// because the two elements agree on which point each shared degree of freedom sits at +template <> FEContinuity FE<0,LAGRANGE_GLL>::get_continuity() const { return C_ZERO; } +template <> FEContinuity FE<1,LAGRANGE_GLL>::get_continuity() const { return C_ZERO; } +template <> FEContinuity FE<2,LAGRANGE_GLL>::get_continuity() const { return C_ZERO; } +template <> FEContinuity FE<3,LAGRANGE_GLL>::get_continuity() const { return C_ZERO; } + +// A nodal basis is not hierarchic +template <> bool FE<0,LAGRANGE_GLL>::is_hierarchic() const { return false; } +template <> bool FE<1,LAGRANGE_GLL>::is_hierarchic() const { return false; } +template <> bool FE<2,LAGRANGE_GLL>::is_hierarchic() const { return false; } +template <> bool FE<3,LAGRANGE_GLL>::is_hierarchic() const { return false; } + +// The shape functions follow the orientation of the entity owning each degree of +// freedom, so an element whose entities are oriented differently needs them again +template <> bool FE<0,LAGRANGE_GLL>::shapes_need_reinit() const { return true; } +template <> bool FE<1,LAGRANGE_GLL>::shapes_need_reinit() const { return true; } +template <> bool FE<2,LAGRANGE_GLL>::shapes_need_reinit() const { return true; } +template <> bool FE<3,LAGRANGE_GLL>::shapes_need_reinit() const { return true; } + +#ifdef LIBMESH_ENABLE_AMR +template <> +void FE<2,LAGRANGE_GLL>::compute_constraints (DofConstraints & constraints, + DofMap & dof_map, + const unsigned int variable_number, + const Elem * elem) +{ compute_proj_constraints(constraints, dof_map, variable_number, elem); } + +template <> +void FE<3,LAGRANGE_GLL>::compute_constraints (DofConstraints & constraints, + DofMap & dof_map, + const unsigned int variable_number, + const Elem * elem) +{ compute_proj_constraints(constraints, dof_map, variable_number, elem); } +#endif // LIBMESH_ENABLE_AMR + + +} // namespace libMesh diff --git a/src/fe/fe_lagrange_gll_shape_0D.C b/src/fe/fe_lagrange_gll_shape_0D.C new file mode 100644 index 00000000000..1fe3cd9967a --- /dev/null +++ b/src/fe/fe_lagrange_gll_shape_0D.C @@ -0,0 +1,258 @@ +// The libMesh Finite Element Library. +// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner + +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + +// Local includes +#include "libmesh/fe.h" +#include "libmesh/elem.h" + + +namespace libMesh +{ + +LIBMESH_DEFAULT_VECTORIZED_FE(0,L2_LAGRANGE_GLL) +LIBMESH_DEFAULT_VECTORIZED_FE(0,LAGRANGE_GLL) + + +template <> +Real FE<0,L2_LAGRANGE_GLL>::shape(const ElemType, + const Order, + const unsigned int libmesh_dbg_var(i), + const Point &) +{ + libmesh_assert_less (i, 1); + return 1.; +} + + +template <> +Real FE<0,L2_LAGRANGE_GLL>::shape(const Elem *, + const Order, + const unsigned int libmesh_dbg_var(i), + const Point &, + const bool) +{ + libmesh_assert_less (i, 1); + return 1.; +} + + +template <> +Real FE<0,L2_LAGRANGE_GLL>::shape(const FEType, + const Elem *, + const unsigned int libmesh_dbg_var(i), + const Point &, + const bool) +{ + libmesh_assert_less (i, 1); + return 1.; +} + + +template <> +Real FE<0,LAGRANGE_GLL>::shape(const ElemType, + const Order, + const unsigned int libmesh_dbg_var(i), + const Point &) +{ + libmesh_assert_less (i, 1); + return 1.; +} + + +template <> +Real FE<0,LAGRANGE_GLL>::shape(const Elem *, + const Order, + const unsigned int libmesh_dbg_var(i), + const Point &, + const bool) +{ + libmesh_assert_less (i, 1); + return 1.; +} + + +template <> +Real FE<0,LAGRANGE_GLL>::shape(const FEType, + const Elem *, + const unsigned int libmesh_dbg_var(i), + const Point &, + const bool) +{ + libmesh_assert_less (i, 1); + return 1.; +} + + +template <> +Real FE<0,L2_LAGRANGE_GLL>::shape_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,L2_LAGRANGE_GLL>::shape_deriv(const Elem *, + const Order, + const unsigned int, + const unsigned int, + const Point &, + const bool) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,L2_LAGRANGE_GLL>::shape_deriv(const FEType, + const Elem *, + const unsigned int, + const unsigned int, + const Point &, + const bool) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,LAGRANGE_GLL>::shape_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,LAGRANGE_GLL>::shape_deriv(const Elem *, + const Order, + const unsigned int, + const unsigned int, + const Point &, + const bool) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,LAGRANGE_GLL>::shape_deriv(const FEType, + const Elem *, + const unsigned int, + const unsigned int, + const Point &, + const bool) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +#ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES + +template <> +Real FE<0,L2_LAGRANGE_GLL>::shape_second_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,L2_LAGRANGE_GLL>::shape_second_deriv(const Elem *, + const Order, + const unsigned int, + const unsigned int, + const Point &, + const bool) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,L2_LAGRANGE_GLL>::shape_second_deriv(const FEType, + const Elem *, + const unsigned int, + const unsigned int, + const Point &, + const bool) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,LAGRANGE_GLL>::shape_second_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,LAGRANGE_GLL>::shape_second_deriv(const Elem *, + const Order, + const unsigned int, + const unsigned int, + const Point &, + const bool) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +template <> +Real FE<0,LAGRANGE_GLL>::shape_second_deriv(const FEType, + const Elem *, + const unsigned int, + const unsigned int, + const Point &, + const bool) +{ + libmesh_error_msg("No spatial derivatives in 0D!"); + return 0.; +} + + +#endif // LIBMESH_ENABLE_SECOND_DERIVATIVES + +} // namespace libMesh diff --git a/src/fe/fe_lagrange_gll_shape_1D.C b/src/fe/fe_lagrange_gll_shape_1D.C new file mode 100644 index 00000000000..1503d6d08cc --- /dev/null +++ b/src/fe/fe_lagrange_gll_shape_1D.C @@ -0,0 +1,298 @@ +// The libMesh Finite Element Library. +// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner + +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + +// Local includes +#include "libmesh/fe.h" +#include "libmesh/elem.h" +#include "libmesh/fe_lagrange_gll_shape.h" + + +namespace libMesh +{ + +LIBMESH_DEFAULT_VECTORIZED_FE(1,L2_LAGRANGE_GLL) +LIBMESH_DEFAULT_VECTORIZED_FE(1,LAGRANGE_GLL) + + +template <> +Real FE<1,L2_LAGRANGE_GLL>::shape(const ElemType, + const Order order, + const unsigned int i, + const Point & p) +{ + return fe_lagrange_gll_shape + (nullptr, order, i, p, nullptr, 0); +} + + +template <> +Real FE<1,L2_LAGRANGE_GLL>::shape(const Elem * elem, + const Order order, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<1,L2_LAGRANGE_GLL>::shape(const FEType fet, + const Elem * elem, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<1,L2_LAGRANGE_GLL>::shape_deriv(const ElemType, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p) +{ + libmesh_assert_less (j, 1); + + return fe_lagrange_gll_shape + (nullptr, order, i, p, &j, 1); +} + + +template <> +Real FE<1,L2_LAGRANGE_GLL>::shape_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 1); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +template <> +Real FE<1,L2_LAGRANGE_GLL>::shape_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 1); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +template <> +Real FE<1,LAGRANGE_GLL>::shape(const ElemType, + const Order, + const unsigned int, + const Point &) +{ + libmesh_error_msg("The LAGRANGE_GLL shape functions follow the orientation of the " + "entity owning each degree of freedom, so they need an Elem."); + return 0.; +} + + +template <> +Real FE<1,LAGRANGE_GLL>::shape(const Elem * elem, + const Order order, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<1,LAGRANGE_GLL>::shape(const FEType fet, + const Elem * elem, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<1,LAGRANGE_GLL>::shape_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("The LAGRANGE_GLL shape functions follow the orientation of the " + "entity owning each degree of freedom, so they need an Elem."); + return 0.; +} + + +template <> +Real FE<1,LAGRANGE_GLL>::shape_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 1); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +template <> +Real FE<1,LAGRANGE_GLL>::shape_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 1); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +#ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES + +template <> +Real FE<1,L2_LAGRANGE_GLL>::shape_second_deriv(const ElemType, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p) +{ + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<1>()); + + return fe_lagrange_gll_shape + (nullptr, order, i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<1,L2_LAGRANGE_GLL>::shape_second_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<1>()); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<1,L2_LAGRANGE_GLL>::shape_second_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<1>()); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<1,LAGRANGE_GLL>::shape_second_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("The LAGRANGE_GLL shape functions follow the orientation of the " + "entity owning each degree of freedom, so they need an Elem."); + return 0.; +} + + +template <> +Real FE<1,LAGRANGE_GLL>::shape_second_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<1>()); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<1,LAGRANGE_GLL>::shape_second_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<1>()); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +#endif // LIBMESH_ENABLE_SECOND_DERIVATIVES + +} // namespace libMesh diff --git a/src/fe/fe_lagrange_gll_shape_2D.C b/src/fe/fe_lagrange_gll_shape_2D.C new file mode 100644 index 00000000000..b929e3fb95c --- /dev/null +++ b/src/fe/fe_lagrange_gll_shape_2D.C @@ -0,0 +1,298 @@ +// The libMesh Finite Element Library. +// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner + +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + +// Local includes +#include "libmesh/fe.h" +#include "libmesh/elem.h" +#include "libmesh/fe_lagrange_gll_shape.h" + + +namespace libMesh +{ + +LIBMESH_DEFAULT_VECTORIZED_FE(2,L2_LAGRANGE_GLL) +LIBMESH_DEFAULT_VECTORIZED_FE(2,LAGRANGE_GLL) + + +template <> +Real FE<2,L2_LAGRANGE_GLL>::shape(const ElemType, + const Order order, + const unsigned int i, + const Point & p) +{ + return fe_lagrange_gll_shape + (nullptr, order, i, p, nullptr, 0); +} + + +template <> +Real FE<2,L2_LAGRANGE_GLL>::shape(const Elem * elem, + const Order order, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<2,L2_LAGRANGE_GLL>::shape(const FEType fet, + const Elem * elem, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<2,L2_LAGRANGE_GLL>::shape_deriv(const ElemType, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p) +{ + libmesh_assert_less (j, 2); + + return fe_lagrange_gll_shape + (nullptr, order, i, p, &j, 1); +} + + +template <> +Real FE<2,L2_LAGRANGE_GLL>::shape_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 2); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +template <> +Real FE<2,L2_LAGRANGE_GLL>::shape_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 2); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +template <> +Real FE<2,LAGRANGE_GLL>::shape(const ElemType, + const Order, + const unsigned int, + const Point &) +{ + libmesh_error_msg("The LAGRANGE_GLL shape functions follow the orientation of the " + "entity owning each degree of freedom, so they need an Elem."); + return 0.; +} + + +template <> +Real FE<2,LAGRANGE_GLL>::shape(const Elem * elem, + const Order order, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<2,LAGRANGE_GLL>::shape(const FEType fet, + const Elem * elem, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<2,LAGRANGE_GLL>::shape_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("The LAGRANGE_GLL shape functions follow the orientation of the " + "entity owning each degree of freedom, so they need an Elem."); + return 0.; +} + + +template <> +Real FE<2,LAGRANGE_GLL>::shape_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 2); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +template <> +Real FE<2,LAGRANGE_GLL>::shape_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 2); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +#ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES + +template <> +Real FE<2,L2_LAGRANGE_GLL>::shape_second_deriv(const ElemType, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p) +{ + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<2>()); + + return fe_lagrange_gll_shape + (nullptr, order, i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<2,L2_LAGRANGE_GLL>::shape_second_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<2>()); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<2,L2_LAGRANGE_GLL>::shape_second_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<2>()); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<2,LAGRANGE_GLL>::shape_second_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("The LAGRANGE_GLL shape functions follow the orientation of the " + "entity owning each degree of freedom, so they need an Elem."); + return 0.; +} + + +template <> +Real FE<2,LAGRANGE_GLL>::shape_second_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<2>()); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<2,LAGRANGE_GLL>::shape_second_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<2>()); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +#endif // LIBMESH_ENABLE_SECOND_DERIVATIVES + +} // namespace libMesh diff --git a/src/fe/fe_lagrange_gll_shape_3D.C b/src/fe/fe_lagrange_gll_shape_3D.C new file mode 100644 index 00000000000..d6b641fda9e --- /dev/null +++ b/src/fe/fe_lagrange_gll_shape_3D.C @@ -0,0 +1,298 @@ +// The libMesh Finite Element Library. +// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner + +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. + +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + +// Local includes +#include "libmesh/fe.h" +#include "libmesh/elem.h" +#include "libmesh/fe_lagrange_gll_shape.h" + + +namespace libMesh +{ + +LIBMESH_DEFAULT_VECTORIZED_FE(3,L2_LAGRANGE_GLL) +LIBMESH_DEFAULT_VECTORIZED_FE(3,LAGRANGE_GLL) + + +template <> +Real FE<3,L2_LAGRANGE_GLL>::shape(const ElemType, + const Order order, + const unsigned int i, + const Point & p) +{ + return fe_lagrange_gll_shape + (nullptr, order, i, p, nullptr, 0); +} + + +template <> +Real FE<3,L2_LAGRANGE_GLL>::shape(const Elem * elem, + const Order order, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<3,L2_LAGRANGE_GLL>::shape(const FEType fet, + const Elem * elem, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<3,L2_LAGRANGE_GLL>::shape_deriv(const ElemType, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p) +{ + libmesh_assert_less (j, 3); + + return fe_lagrange_gll_shape + (nullptr, order, i, p, &j, 1); +} + + +template <> +Real FE<3,L2_LAGRANGE_GLL>::shape_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 3); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +template <> +Real FE<3,L2_LAGRANGE_GLL>::shape_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 3); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +template <> +Real FE<3,LAGRANGE_GLL>::shape(const ElemType, + const Order, + const unsigned int, + const Point &) +{ + libmesh_error_msg("The LAGRANGE_GLL shape functions follow the orientation of the " + "entity owning each degree of freedom, so they need an Elem."); + return 0.; +} + + +template <> +Real FE<3,LAGRANGE_GLL>::shape(const Elem * elem, + const Order order, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<3,LAGRANGE_GLL>::shape(const FEType fet, + const Elem * elem, + const unsigned int i, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, nullptr, 0); +} + + +template <> +Real FE<3,LAGRANGE_GLL>::shape_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("The LAGRANGE_GLL shape functions follow the orientation of the " + "entity owning each degree of freedom, so they need an Elem."); + return 0.; +} + + +template <> +Real FE<3,LAGRANGE_GLL>::shape_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 3); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +template <> +Real FE<3,LAGRANGE_GLL>::shape_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, 3); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, &j, 1); +} + + +#ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES + +template <> +Real FE<3,L2_LAGRANGE_GLL>::shape_second_deriv(const ElemType, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p) +{ + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<3>()); + + return fe_lagrange_gll_shape + (nullptr, order, i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<3,L2_LAGRANGE_GLL>::shape_second_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<3>()); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<3,L2_LAGRANGE_GLL>::shape_second_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<3>()); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<3,LAGRANGE_GLL>::shape_second_deriv(const ElemType, + const Order, + const unsigned int, + const unsigned int, + const Point &) +{ + libmesh_error_msg("The LAGRANGE_GLL shape functions follow the orientation of the " + "entity owning each degree of freedom, so they need an Elem."); + return 0.; +} + + +template <> +Real FE<3,LAGRANGE_GLL>::shape_second_deriv(const Elem * elem, + const Order order, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<3>()); + + return fe_lagrange_gll_shape + (elem, order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +template <> +Real FE<3,LAGRANGE_GLL>::shape_second_deriv(const FEType fet, + const Elem * elem, + const unsigned int i, + const unsigned int j, + const Point & p, + const bool add_p_level) +{ + libmesh_assert(elem); + libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<3>()); + + return fe_lagrange_gll_shape + (elem, fet.order + add_p_level*elem->p_level(), i, p, fe_lagrange_gll_second_deriv_pairs[j], 2); +} + + +#endif // LIBMESH_ENABLE_SECOND_DERIVATIVES + +} // namespace libMesh diff --git a/src/fe/fe_transformation_base.C b/src/fe/fe_transformation_base.C index 0fb48dfdfc0..2ade6f106c0 100644 --- a/src/fe/fe_transformation_base.C +++ b/src/fe/fe_transformation_base.C @@ -51,6 +51,8 @@ std::unique_ptr> FETransformationBase @@ -45,6 +46,22 @@ FEType::default_quadrature_rule (const unsigned int dim, if (family == SUBDIVISION) return std::make_unique(dim, static_cast(1 + extraorder)); + // The Gauss-Lobatto nodal bases interpolate at the points of the Gauss-Lobatto rule of + // their own order, so that rule is the one they are collocated with: it makes their mass + // matrix diagonal and asks nothing to evaluate their shape functions. A rule of n points + // is exact through degree 2n-3, so the order that yields the p+1 points a basis of degree + // p interpolates at is 2p-1. An extraorder carries past that, which buys accuracy on the + // integrands a Gauss-Lobatto rule of p+1 points does not reach and gives up collocation. + // + // A p refined element keeps the pairing: QBase raises the order of a rule by twice the + // p_level it is initialized with, and 2p-1 rises by two for each degree, so the rule on an + // element of level l carries the p+l+1 points that the basis of degree p+l interpolates at. + if (family == L2_LAGRANGE_GLL || family == LAGRANGE_GLL) + { + const int p = static_cast(order.get_order()); + return std::make_unique(dim, static_cast(2*p - 1 + extraorder)); + } + return std::make_unique(dim, static_cast(this->default_quadrature_order() + extraorder)); } diff --git a/src/libmesh_SOURCES b/src/libmesh_SOURCES index d73987f9168..b67cae35417 100644 --- a/src/libmesh_SOURCES +++ b/src/libmesh_SOURCES @@ -65,7 +65,13 @@ libmesh_SOURCES = \ src/fe/fe_interface_inf_fe.C \ src/fe/fe_l2_hierarchic.C \ src/fe/fe_l2_lagrange.C \ + src/fe/fe_l2_lagrange_gll.C \ src/fe/fe_lagrange.C \ + src/fe/fe_lagrange_gll.C \ + src/fe/fe_lagrange_gll_shape_0D.C \ + src/fe/fe_lagrange_gll_shape_1D.C \ + src/fe/fe_lagrange_gll_shape_2D.C \ + src/fe/fe_lagrange_gll_shape_3D.C \ src/fe/fe_lagrange_shape_0D.C \ src/fe/fe_lagrange_shape_1D.C \ src/fe/fe_lagrange_shape_2D.C \ diff --git a/src/utils/string_to_enum.C b/src/utils/string_to_enum.C index 18e86cd1c6e..6eb25055fdc 100644 --- a/src/utils/string_to_enum.C +++ b/src/utils/string_to_enum.C @@ -223,6 +223,8 @@ std::map fefamily_to_enum { {"LAGRANGE_VEC" , LAGRANGE_VEC}, {"L2_LAGRANGE" , L2_LAGRANGE}, {"L2_LAGRANGE_VEC" , L2_LAGRANGE_VEC}, + {"LAGRANGE_GLL" , LAGRANGE_GLL}, + {"L2_LAGRANGE_GLL" , L2_LAGRANGE_GLL}, {"HIERARCHIC" , HIERARCHIC}, {"HIERARCHIC_VEC" , HIERARCHIC_VEC}, {"L2_HIERARCHIC" , L2_HIERARCHIC}, diff --git a/tests/Makefile.am b/tests/Makefile.am index 40eecc7894b..957860e05e3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -35,6 +35,11 @@ unit_tests_sources = \ fe/inf_fe_radial_test.C \ fe/fe_l2_hierarchic_test.C \ fe/fe_l2_lagrange_test.C \ + fe/fe_l2_lagrange_gll_test.C \ + fe/fe_lagrange_gll_test.C \ + fe/fe_gll_collocation_test.C \ + fe/fe_gll_lagrange_agreement_test.C \ + fe/fe_amr_constraint_test.C \ fe/fe_lagrange_test.C \ fe/fe_monomial_test.C \ fe/fe_rational_map.C \ diff --git a/tests/Makefile.in b/tests/Makefile.in index ebc683c99bc..da6bdcbd932 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -218,9 +218,13 @@ am__unit_tests_dbg_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ fe/fe_orientation_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_l2_lagrange_gll_test.C fe/fe_lagrange_gll_test.C \ + fe/fe_gll_collocation_test.C \ + fe/fe_gll_lagrange_agreement_test.C \ + fe/fe_amr_constraint_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 \ @@ -305,6 +309,11 @@ am__objects_2 = unit_tests_dbg-driver.$(OBJEXT) \ fe/unit_tests_dbg-inf_fe_radial_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_l2_hierarchic_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_l2_lagrange_test.$(OBJEXT) \ + fe/unit_tests_dbg-fe_l2_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_dbg-fe_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_dbg-fe_gll_collocation_test.$(OBJEXT) \ + fe/unit_tests_dbg-fe_gll_lagrange_agreement_test.$(OBJEXT) \ + fe/unit_tests_dbg-fe_amr_constraint_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_lagrange_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_monomial_test.$(OBJEXT) \ fe/unit_tests_dbg-fe_rational_map.$(OBJEXT) \ @@ -436,9 +445,13 @@ am__unit_tests_devel_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ fe/fe_orientation_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_l2_lagrange_gll_test.C fe/fe_lagrange_gll_test.C \ + fe/fe_gll_collocation_test.C \ + fe/fe_gll_lagrange_agreement_test.C \ + fe/fe_amr_constraint_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 \ @@ -522,6 +535,11 @@ am__objects_4 = unit_tests_devel-driver.$(OBJEXT) \ fe/unit_tests_devel-inf_fe_radial_test.$(OBJEXT) \ fe/unit_tests_devel-fe_l2_hierarchic_test.$(OBJEXT) \ fe/unit_tests_devel-fe_l2_lagrange_test.$(OBJEXT) \ + fe/unit_tests_devel-fe_l2_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_devel-fe_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_devel-fe_gll_collocation_test.$(OBJEXT) \ + fe/unit_tests_devel-fe_gll_lagrange_agreement_test.$(OBJEXT) \ + fe/unit_tests_devel-fe_amr_constraint_test.$(OBJEXT) \ fe/unit_tests_devel-fe_lagrange_test.$(OBJEXT) \ fe/unit_tests_devel-fe_monomial_test.$(OBJEXT) \ fe/unit_tests_devel-fe_rational_map.$(OBJEXT) \ @@ -671,9 +689,13 @@ am__unit_tests_oprof_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ fe/fe_orientation_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_l2_lagrange_gll_test.C fe/fe_lagrange_gll_test.C \ + fe/fe_gll_collocation_test.C \ + fe/fe_gll_lagrange_agreement_test.C \ + fe/fe_amr_constraint_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 \ @@ -757,6 +779,11 @@ am__objects_6 = unit_tests_oprof-driver.$(OBJEXT) \ fe/unit_tests_oprof-inf_fe_radial_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_l2_hierarchic_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_l2_lagrange_test.$(OBJEXT) \ + fe/unit_tests_oprof-fe_l2_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_oprof-fe_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_oprof-fe_gll_collocation_test.$(OBJEXT) \ + fe/unit_tests_oprof-fe_gll_lagrange_agreement_test.$(OBJEXT) \ + fe/unit_tests_oprof-fe_amr_constraint_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_lagrange_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_monomial_test.$(OBJEXT) \ fe/unit_tests_oprof-fe_rational_map.$(OBJEXT) \ @@ -884,9 +911,13 @@ am__unit_tests_opt_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ fe/fe_orientation_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_l2_lagrange_gll_test.C fe/fe_lagrange_gll_test.C \ + fe/fe_gll_collocation_test.C \ + fe/fe_gll_lagrange_agreement_test.C \ + fe/fe_amr_constraint_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 \ @@ -970,6 +1001,11 @@ am__objects_8 = unit_tests_opt-driver.$(OBJEXT) \ fe/unit_tests_opt-inf_fe_radial_test.$(OBJEXT) \ fe/unit_tests_opt-fe_l2_hierarchic_test.$(OBJEXT) \ fe/unit_tests_opt-fe_l2_lagrange_test.$(OBJEXT) \ + fe/unit_tests_opt-fe_l2_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_opt-fe_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_opt-fe_gll_collocation_test.$(OBJEXT) \ + fe/unit_tests_opt-fe_gll_lagrange_agreement_test.$(OBJEXT) \ + fe/unit_tests_opt-fe_amr_constraint_test.$(OBJEXT) \ fe/unit_tests_opt-fe_lagrange_test.$(OBJEXT) \ fe/unit_tests_opt-fe_monomial_test.$(OBJEXT) \ fe/unit_tests_opt-fe_rational_map.$(OBJEXT) \ @@ -1097,9 +1133,13 @@ am__unit_tests_prof_SOURCES_DIST = driver.C libmesh_cppunit.h \ fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ fe/fe_orientation_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_l2_lagrange_gll_test.C fe/fe_lagrange_gll_test.C \ + fe/fe_gll_collocation_test.C \ + fe/fe_gll_lagrange_agreement_test.C \ + fe/fe_amr_constraint_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 \ @@ -1183,6 +1223,11 @@ am__objects_10 = unit_tests_prof-driver.$(OBJEXT) \ fe/unit_tests_prof-inf_fe_radial_test.$(OBJEXT) \ fe/unit_tests_prof-fe_l2_hierarchic_test.$(OBJEXT) \ fe/unit_tests_prof-fe_l2_lagrange_test.$(OBJEXT) \ + fe/unit_tests_prof-fe_l2_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_prof-fe_lagrange_gll_test.$(OBJEXT) \ + fe/unit_tests_prof-fe_gll_collocation_test.$(OBJEXT) \ + fe/unit_tests_prof-fe_gll_lagrange_agreement_test.$(OBJEXT) \ + fe/unit_tests_prof-fe_amr_constraint_test.$(OBJEXT) \ fe/unit_tests_prof-fe_lagrange_test.$(OBJEXT) \ fe/unit_tests_prof-fe_monomial_test.$(OBJEXT) \ fe/unit_tests_prof-fe_rational_map.$(OBJEXT) \ @@ -1355,13 +1400,18 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ base/$(DEPDIR)/unit_tests_prof-overlapping_coupling_test.Po \ base/$(DEPDIR)/unit_tests_prof-point_neighbor_coupling_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-dual_shape_verification_test.Po \ + fe/$(DEPDIR)/unit_tests_dbg-fe_amr_constraint_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_gll_collocation_test.Po \ + fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_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 \ + fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_gll_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_orientation_test.Po \ @@ -1372,13 +1422,18 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_dbg-fe_xyz_test.Po \ fe/$(DEPDIR)/unit_tests_dbg-inf_fe_radial_test.Po \ fe/$(DEPDIR)/unit_tests_devel-dual_shape_verification_test.Po \ + fe/$(DEPDIR)/unit_tests_devel-fe_amr_constraint_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_gll_collocation_test.Po \ + fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_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 \ + fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_test.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_gll_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_orientation_test.Po \ @@ -1389,13 +1444,18 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_devel-fe_xyz_test.Po \ fe/$(DEPDIR)/unit_tests_devel-inf_fe_radial_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-dual_shape_verification_test.Po \ + fe/$(DEPDIR)/unit_tests_oprof-fe_amr_constraint_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_gll_collocation_test.Po \ + fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_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 \ + fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_gll_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_orientation_test.Po \ @@ -1406,13 +1466,18 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_oprof-fe_xyz_test.Po \ fe/$(DEPDIR)/unit_tests_oprof-inf_fe_radial_test.Po \ fe/$(DEPDIR)/unit_tests_opt-dual_shape_verification_test.Po \ + fe/$(DEPDIR)/unit_tests_opt-fe_amr_constraint_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_gll_collocation_test.Po \ + fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_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 \ + fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_test.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_gll_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_orientation_test.Po \ @@ -1423,13 +1488,18 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ fe/$(DEPDIR)/unit_tests_opt-fe_xyz_test.Po \ fe/$(DEPDIR)/unit_tests_opt-inf_fe_radial_test.Po \ fe/$(DEPDIR)/unit_tests_prof-dual_shape_verification_test.Po \ + fe/$(DEPDIR)/unit_tests_prof-fe_amr_constraint_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_gll_collocation_test.Po \ + fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_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 \ + fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_test.Po \ fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_test.Po \ + fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_gll_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_orientation_test.Po \ @@ -2459,9 +2529,13 @@ unit_tests_sources = driver.C libmesh_cppunit.h stream_redirector.h \ fe/fe_hermite_test.C fe/fe_hierarchic_test.C \ fe/fe_orientation_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_l2_lagrange_gll_test.C fe/fe_lagrange_gll_test.C \ + fe/fe_gll_collocation_test.C \ + fe/fe_gll_lagrange_agreement_test.C \ + fe/fe_amr_constraint_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 \ @@ -2821,6 +2895,16 @@ fe/unit_tests_dbg-fe_l2_hierarchic_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_dbg-fe_l2_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_dbg-fe_l2_lagrange_gll_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_dbg-fe_lagrange_gll_test.$(OBJEXT): fe/$(am__dirstamp) \ + fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_dbg-fe_gll_collocation_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_dbg-fe_gll_lagrange_agreement_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_dbg-fe_amr_constraint_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_dbg-fe_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_dbg-fe_monomial_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -3145,6 +3229,16 @@ fe/unit_tests_devel-fe_l2_hierarchic_test.$(OBJEXT): \ fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_devel-fe_l2_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_devel-fe_l2_lagrange_gll_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_devel-fe_lagrange_gll_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_devel-fe_gll_collocation_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_devel-fe_gll_lagrange_agreement_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_devel-fe_amr_constraint_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_devel-fe_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_devel-fe_monomial_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -3449,6 +3543,16 @@ fe/unit_tests_oprof-fe_l2_hierarchic_test.$(OBJEXT): \ fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_oprof-fe_l2_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_oprof-fe_l2_lagrange_gll_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_oprof-fe_lagrange_gll_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_oprof-fe_gll_collocation_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_oprof-fe_gll_lagrange_agreement_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_oprof-fe_amr_constraint_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_oprof-fe_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_oprof-fe_monomial_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -3713,6 +3817,16 @@ fe/unit_tests_opt-fe_l2_hierarchic_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_opt-fe_l2_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_opt-fe_l2_lagrange_gll_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_opt-fe_lagrange_gll_test.$(OBJEXT): fe/$(am__dirstamp) \ + fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_opt-fe_gll_collocation_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_opt-fe_gll_lagrange_agreement_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_opt-fe_amr_constraint_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_opt-fe_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_opt-fe_monomial_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -3977,6 +4091,16 @@ fe/unit_tests_prof-fe_l2_hierarchic_test.$(OBJEXT): \ fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_prof-fe_l2_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_prof-fe_l2_lagrange_gll_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_prof-fe_lagrange_gll_test.$(OBJEXT): fe/$(am__dirstamp) \ + fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_prof-fe_gll_collocation_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_prof-fe_gll_lagrange_agreement_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) +fe/unit_tests_prof-fe_amr_constraint_test.$(OBJEXT): \ + fe/$(am__dirstamp) fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_prof-fe_lagrange_test.$(OBJEXT): fe/$(am__dirstamp) \ fe/$(DEPDIR)/$(am__dirstamp) fe/unit_tests_prof-fe_monomial_test.$(OBJEXT): fe/$(am__dirstamp) \ @@ -4269,13 +4393,18 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/unit_tests_prof-overlapping_coupling_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/unit_tests_prof-point_neighbor_coupling_test.Po@am__quote@ # am--include-marker @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_amr_constraint_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_gll_collocation_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_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 +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_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_gll_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_orientation_test.Po@am__quote@ # am--include-marker @@ -4286,13 +4415,18 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-fe_xyz_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_dbg-inf_fe_radial_test.Po@am__quote@ # am--include-marker @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_amr_constraint_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_gll_collocation_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_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 +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_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_gll_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_orientation_test.Po@am__quote@ # am--include-marker @@ -4303,13 +4437,18 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-fe_xyz_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_devel-inf_fe_radial_test.Po@am__quote@ # am--include-marker @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_amr_constraint_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_gll_collocation_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_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 +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_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_gll_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_orientation_test.Po@am__quote@ # am--include-marker @@ -4320,13 +4459,18 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-fe_xyz_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_oprof-inf_fe_radial_test.Po@am__quote@ # am--include-marker @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_amr_constraint_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_gll_collocation_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_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 +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_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_gll_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_orientation_test.Po@am__quote@ # am--include-marker @@ -4337,13 +4481,18 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-fe_xyz_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_opt-inf_fe_radial_test.Po@am__quote@ # am--include-marker @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_amr_constraint_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_gll_collocation_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_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 +@AMDEP_TRUE@@am__include@ @am__quote@fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_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_gll_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_orientation_test.Po@am__quote@ # am--include-marker @@ -5132,6 +5281,76 @@ fe/unit_tests_dbg-fe_l2_lagrange_test.obj: fe/fe_l2_lagrange_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_l2_lagrange_test.obj `if test -f 'fe/fe_l2_lagrange_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_test.C'; fi` +fe/unit_tests_dbg-fe_l2_lagrange_gll_test.o: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_dbg-fe_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_dbg-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C + +fe/unit_tests_dbg-fe_l2_lagrange_gll_test.obj: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_dbg-fe_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_dbg-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` + +fe/unit_tests_dbg-fe_lagrange_gll_test.o: fe/fe_lagrange_gll_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_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_dbg-fe_lagrange_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_dbg-fe_lagrange_gll_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_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C + +fe/unit_tests_dbg-fe_lagrange_gll_test.obj: fe/fe_lagrange_gll_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_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_dbg-fe_lagrange_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_dbg-fe_lagrange_gll_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_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` + +fe/unit_tests_dbg-fe_gll_collocation_test.o: fe/fe_gll_collocation_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_gll_collocation_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_dbg-fe_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_dbg-fe_gll_collocation_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_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C + +fe/unit_tests_dbg-fe_gll_collocation_test.obj: fe/fe_gll_collocation_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_gll_collocation_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_dbg-fe_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_dbg-fe_gll_collocation_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_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` + +fe/unit_tests_dbg-fe_gll_lagrange_agreement_test.o: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_dbg-fe_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_dbg-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C + +fe/unit_tests_dbg-fe_gll_lagrange_agreement_test.obj: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_dbg-fe_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_dbg-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` + +fe/unit_tests_dbg-fe_amr_constraint_test.o: fe/fe_amr_constraint_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_amr_constraint_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_dbg-fe_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_dbg-fe_amr_constraint_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_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C + +fe/unit_tests_dbg-fe_amr_constraint_test.obj: fe/fe_amr_constraint_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_amr_constraint_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_dbg-fe_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_dbg-fe_amr_constraint_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_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` + fe/unit_tests_dbg-fe_lagrange_test.o: fe/fe_lagrange_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_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_test.Tpo -c -o fe/unit_tests_dbg-fe_lagrange_test.o `test -f 'fe/fe_lagrange_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_test.Tpo fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_test.Po @@ -6910,6 +7129,76 @@ fe/unit_tests_devel-fe_l2_lagrange_test.obj: fe/fe_l2_lagrange_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_l2_lagrange_test.obj `if test -f 'fe/fe_l2_lagrange_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_test.C'; fi` +fe/unit_tests_devel-fe_l2_lagrange_gll_test.o: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_devel-fe_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_devel-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C + +fe/unit_tests_devel-fe_l2_lagrange_gll_test.obj: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_devel-fe_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_devel-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` + +fe/unit_tests_devel-fe_lagrange_gll_test.o: fe/fe_lagrange_gll_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_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_devel-fe_lagrange_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_devel-fe_lagrange_gll_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_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C + +fe/unit_tests_devel-fe_lagrange_gll_test.obj: fe/fe_lagrange_gll_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_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_devel-fe_lagrange_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_devel-fe_lagrange_gll_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_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` + +fe/unit_tests_devel-fe_gll_collocation_test.o: fe/fe_gll_collocation_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_gll_collocation_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_devel-fe_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_devel-fe_gll_collocation_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_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C + +fe/unit_tests_devel-fe_gll_collocation_test.obj: fe/fe_gll_collocation_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_gll_collocation_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_devel-fe_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_devel-fe_gll_collocation_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_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` + +fe/unit_tests_devel-fe_gll_lagrange_agreement_test.o: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_devel-fe_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_devel-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C + +fe/unit_tests_devel-fe_gll_lagrange_agreement_test.obj: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_devel-fe_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_devel-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` + +fe/unit_tests_devel-fe_amr_constraint_test.o: fe/fe_amr_constraint_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_amr_constraint_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_devel-fe_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_devel-fe_amr_constraint_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_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C + +fe/unit_tests_devel-fe_amr_constraint_test.obj: fe/fe_amr_constraint_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_amr_constraint_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_devel-fe_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_devel-fe_amr_constraint_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_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` + fe/unit_tests_devel-fe_lagrange_test.o: fe/fe_lagrange_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_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_test.Tpo -c -o fe/unit_tests_devel-fe_lagrange_test.o `test -f 'fe/fe_lagrange_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_test.Tpo fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_test.Po @@ -8688,6 +8977,76 @@ fe/unit_tests_oprof-fe_l2_lagrange_test.obj: fe/fe_l2_lagrange_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_l2_lagrange_test.obj `if test -f 'fe/fe_l2_lagrange_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_test.C'; fi` +fe/unit_tests_oprof-fe_l2_lagrange_gll_test.o: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_oprof-fe_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_oprof-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C + +fe/unit_tests_oprof-fe_l2_lagrange_gll_test.obj: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_oprof-fe_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_oprof-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` + +fe/unit_tests_oprof-fe_lagrange_gll_test.o: fe/fe_lagrange_gll_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_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_oprof-fe_lagrange_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_oprof-fe_lagrange_gll_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_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C + +fe/unit_tests_oprof-fe_lagrange_gll_test.obj: fe/fe_lagrange_gll_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_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_oprof-fe_lagrange_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_oprof-fe_lagrange_gll_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_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` + +fe/unit_tests_oprof-fe_gll_collocation_test.o: fe/fe_gll_collocation_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_gll_collocation_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_oprof-fe_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_oprof-fe_gll_collocation_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_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C + +fe/unit_tests_oprof-fe_gll_collocation_test.obj: fe/fe_gll_collocation_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_gll_collocation_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_oprof-fe_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_oprof-fe_gll_collocation_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_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` + +fe/unit_tests_oprof-fe_gll_lagrange_agreement_test.o: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_oprof-fe_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_oprof-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C + +fe/unit_tests_oprof-fe_gll_lagrange_agreement_test.obj: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_oprof-fe_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_oprof-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` + +fe/unit_tests_oprof-fe_amr_constraint_test.o: fe/fe_amr_constraint_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_amr_constraint_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_oprof-fe_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_oprof-fe_amr_constraint_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_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C + +fe/unit_tests_oprof-fe_amr_constraint_test.obj: fe/fe_amr_constraint_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_amr_constraint_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_oprof-fe_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_oprof-fe_amr_constraint_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_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` + fe/unit_tests_oprof-fe_lagrange_test.o: fe/fe_lagrange_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_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_test.Tpo -c -o fe/unit_tests_oprof-fe_lagrange_test.o `test -f 'fe/fe_lagrange_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_test.Tpo fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_test.Po @@ -10466,6 +10825,76 @@ fe/unit_tests_opt-fe_l2_lagrange_test.obj: fe/fe_l2_lagrange_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_l2_lagrange_test.obj `if test -f 'fe/fe_l2_lagrange_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_test.C'; fi` +fe/unit_tests_opt-fe_l2_lagrange_gll_test.o: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_opt-fe_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_opt-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C + +fe/unit_tests_opt-fe_l2_lagrange_gll_test.obj: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_opt-fe_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_opt-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` + +fe/unit_tests_opt-fe_lagrange_gll_test.o: fe/fe_lagrange_gll_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_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_opt-fe_lagrange_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_opt-fe_lagrange_gll_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_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C + +fe/unit_tests_opt-fe_lagrange_gll_test.obj: fe/fe_lagrange_gll_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_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_opt-fe_lagrange_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_opt-fe_lagrange_gll_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_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` + +fe/unit_tests_opt-fe_gll_collocation_test.o: fe/fe_gll_collocation_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_gll_collocation_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_opt-fe_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_opt-fe_gll_collocation_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_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C + +fe/unit_tests_opt-fe_gll_collocation_test.obj: fe/fe_gll_collocation_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_gll_collocation_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_opt-fe_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_opt-fe_gll_collocation_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_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` + +fe/unit_tests_opt-fe_gll_lagrange_agreement_test.o: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_opt-fe_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_opt-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C + +fe/unit_tests_opt-fe_gll_lagrange_agreement_test.obj: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_opt-fe_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_opt-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` + +fe/unit_tests_opt-fe_amr_constraint_test.o: fe/fe_amr_constraint_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_amr_constraint_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_opt-fe_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_opt-fe_amr_constraint_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_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C + +fe/unit_tests_opt-fe_amr_constraint_test.obj: fe/fe_amr_constraint_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_amr_constraint_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_opt-fe_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_opt-fe_amr_constraint_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_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` + fe/unit_tests_opt-fe_lagrange_test.o: fe/fe_lagrange_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_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_test.Tpo -c -o fe/unit_tests_opt-fe_lagrange_test.o `test -f 'fe/fe_lagrange_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_test.Tpo fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_test.Po @@ -12244,6 +12673,76 @@ fe/unit_tests_prof-fe_l2_lagrange_test.obj: fe/fe_l2_lagrange_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_l2_lagrange_test.obj `if test -f 'fe/fe_l2_lagrange_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_test.C'; fi` +fe/unit_tests_prof-fe_l2_lagrange_gll_test.o: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_prof-fe_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_prof-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.o `test -f 'fe/fe_l2_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_l2_lagrange_gll_test.C + +fe/unit_tests_prof-fe_l2_lagrange_gll_test.obj: fe/fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_test.Tpo -c -o fe/unit_tests_prof-fe_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_l2_lagrange_gll_test.C' object='fe/unit_tests_prof-fe_l2_lagrange_gll_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_l2_lagrange_gll_test.obj `if test -f 'fe/fe_l2_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_l2_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_l2_lagrange_gll_test.C'; fi` + +fe/unit_tests_prof-fe_lagrange_gll_test.o: fe/fe_lagrange_gll_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_gll_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_prof-fe_lagrange_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_prof-fe_lagrange_gll_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_gll_test.o `test -f 'fe/fe_lagrange_gll_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_gll_test.C + +fe/unit_tests_prof-fe_lagrange_gll_test.obj: fe/fe_lagrange_gll_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_gll_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_gll_test.Tpo -c -o fe/unit_tests_prof-fe_lagrange_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_gll_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_gll_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_lagrange_gll_test.C' object='fe/unit_tests_prof-fe_lagrange_gll_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_gll_test.obj `if test -f 'fe/fe_lagrange_gll_test.C'; then $(CYGPATH_W) 'fe/fe_lagrange_gll_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_lagrange_gll_test.C'; fi` + +fe/unit_tests_prof-fe_gll_collocation_test.o: fe/fe_gll_collocation_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_gll_collocation_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_prof-fe_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_prof-fe_gll_collocation_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_gll_collocation_test.o `test -f 'fe/fe_gll_collocation_test.C' || echo '$(srcdir)/'`fe/fe_gll_collocation_test.C + +fe/unit_tests_prof-fe_gll_collocation_test.obj: fe/fe_gll_collocation_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_gll_collocation_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_gll_collocation_test.Tpo -c -o fe/unit_tests_prof-fe_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_gll_collocation_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_gll_collocation_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_collocation_test.C' object='fe/unit_tests_prof-fe_gll_collocation_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_gll_collocation_test.obj `if test -f 'fe/fe_gll_collocation_test.C'; then $(CYGPATH_W) 'fe/fe_gll_collocation_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_collocation_test.C'; fi` + +fe/unit_tests_prof-fe_gll_lagrange_agreement_test.o: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_prof-fe_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_prof-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.o `test -f 'fe/fe_gll_lagrange_agreement_test.C' || echo '$(srcdir)/'`fe/fe_gll_lagrange_agreement_test.C + +fe/unit_tests_prof-fe_gll_lagrange_agreement_test.obj: fe/fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_test.Tpo -c -o fe/unit_tests_prof-fe_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_gll_lagrange_agreement_test.C' object='fe/unit_tests_prof-fe_gll_lagrange_agreement_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_gll_lagrange_agreement_test.obj `if test -f 'fe/fe_gll_lagrange_agreement_test.C'; then $(CYGPATH_W) 'fe/fe_gll_lagrange_agreement_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_gll_lagrange_agreement_test.C'; fi` + +fe/unit_tests_prof-fe_amr_constraint_test.o: fe/fe_amr_constraint_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_amr_constraint_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_prof-fe_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_prof-fe_amr_constraint_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_amr_constraint_test.o `test -f 'fe/fe_amr_constraint_test.C' || echo '$(srcdir)/'`fe/fe_amr_constraint_test.C + +fe/unit_tests_prof-fe_amr_constraint_test.obj: fe/fe_amr_constraint_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_amr_constraint_test.obj -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_amr_constraint_test.Tpo -c -o fe/unit_tests_prof-fe_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_amr_constraint_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_amr_constraint_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fe/fe_amr_constraint_test.C' object='fe/unit_tests_prof-fe_amr_constraint_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_amr_constraint_test.obj `if test -f 'fe/fe_amr_constraint_test.C'; then $(CYGPATH_W) 'fe/fe_amr_constraint_test.C'; else $(CYGPATH_W) '$(srcdir)/fe/fe_amr_constraint_test.C'; fi` + fe/unit_tests_prof-fe_lagrange_test.o: fe/fe_lagrange_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_test.o -MD -MP -MF fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_test.Tpo -c -o fe/unit_tests_prof-fe_lagrange_test.o `test -f 'fe/fe_lagrange_test.C' || echo '$(srcdir)/'`fe/fe_lagrange_test.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_test.Tpo fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_test.Po @@ -14188,13 +14687,18 @@ distclean: distclean-am -rm -f base/$(DEPDIR)/unit_tests_prof-overlapping_coupling_test.Po -rm -f base/$(DEPDIR)/unit_tests_prof-point_neighbor_coupling_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_gll_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_orientation_test.Po @@ -14205,13 +14709,18 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_xyz_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-inf_fe_radial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_gll_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_orientation_test.Po @@ -14222,13 +14731,18 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_xyz_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-inf_fe_radial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_gll_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_orientation_test.Po @@ -14239,13 +14753,18 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_xyz_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-inf_fe_radial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_gll_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_orientation_test.Po @@ -14256,13 +14775,18 @@ distclean: distclean-am -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_xyz_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-inf_fe_radial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_gll_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_orientation_test.Po @@ -14870,13 +15394,18 @@ maintainer-clean: maintainer-clean-am -rm -f base/$(DEPDIR)/unit_tests_prof-overlapping_coupling_test.Po -rm -f base/$(DEPDIR)/unit_tests_prof-point_neighbor_coupling_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_lagrange_gll_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_orientation_test.Po @@ -14887,13 +15416,18 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_dbg-fe_xyz_test.Po -rm -f fe/$(DEPDIR)/unit_tests_dbg-inf_fe_radial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_lagrange_gll_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_orientation_test.Po @@ -14904,13 +15438,18 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_devel-fe_xyz_test.Po -rm -f fe/$(DEPDIR)/unit_tests_devel-inf_fe_radial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_lagrange_gll_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_orientation_test.Po @@ -14921,13 +15460,18 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_oprof-fe_xyz_test.Po -rm -f fe/$(DEPDIR)/unit_tests_oprof-inf_fe_radial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_lagrange_gll_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_orientation_test.Po @@ -14938,13 +15482,18 @@ maintainer-clean: maintainer-clean-am -rm -f fe/$(DEPDIR)/unit_tests_opt-fe_xyz_test.Po -rm -f fe/$(DEPDIR)/unit_tests_opt-inf_fe_radial_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-dual_shape_verification_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_amr_constraint_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_gll_collocation_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_gll_lagrange_agreement_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 + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_gll_test.Po -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_l2_lagrange_test.Po + -rm -f fe/$(DEPDIR)/unit_tests_prof-fe_lagrange_gll_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_orientation_test.Po diff --git a/tests/fe/fe_amr_constraint_test.C b/tests/fe/fe_amr_constraint_test.C new file mode 100644 index 00000000000..b4428ac720c --- /dev/null +++ b/tests/fe/fe_amr_constraint_test.C @@ -0,0 +1,168 @@ +// A conforming basis on an adaptively refined mesh needs the degrees of freedom on a hanging +// node constrained to the coarse side it lies on. Whether that machinery is right is not +// visible on a conforming mesh, and nothing else here exercises it, so this holds it to the +// property it exists to preserve: the constrained space still contains the polynomials of its +// own order, so projecting one reproduces it exactly, on both sides of the interface. +// +// A wrong constraint shows up as a solution that no longer equals the polynomial it was +// projected from, since enforcing the constraint moves the hanging degrees of freedom away +// from the values that interpolate it. + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "test_comm.h" +#include "libmesh_cppunit.h" + +#include +#include +#include + +using namespace libMesh; + +namespace { + +/** + * A polynomial of total degree \p D, which the tensor product space of order \p D holds, so a + * family of that order can reproduce it and a projection onto it should. + */ +template +Number amr_test_poly(const Point & p, + const Parameters &, + const std::string &, + const std::string &) +{ + const Real s = 1. + p(0) + 2.*p(1) + 3.*p(2); + + Real value = 1.; + for (unsigned int d = 0; d != D; ++d) + value *= s; + + return value; +} + +} + +#ifdef LIBMESH_ENABLE_AMR + +template +class FEAMRConstraintTest : public CppUnit::TestCase +{ +protected: + std::unique_ptr _mesh; + std::string libmesh_suite_name; + +public: + void setUp() + { + _mesh = std::make_unique(*TestCommWorld); + + const unsigned int dim = Elem::type_to_dim_map[elem_type]; + + // A second order type, which the families needing mid-edge and face nodes ask for + ElemType base = elem_type; + if (elem_type == QUAD9) base = QUAD4; + if (elem_type == HEX27) base = HEX8; + if (elem_type == EDGE3) base = EDGE2; + + if (dim == 1) + MeshTools::Generation::build_line(*_mesh, 4, 0., 1., base); + else if (dim == 2) + MeshTools::Generation::build_square(*_mesh, 2, 2, 0., 1., 0., 1., base); + else + MeshTools::Generation::build_cube(*_mesh, 2, 2, 2, 0., 1., 0., 1., 0., 1., base); + + if (base != elem_type) + _mesh->all_second_order(); + + // Refine part of the mesh, which is what puts a hanging node on the interface between the + // refined elements and their unrefined neighbours + MeshRefinement refine(*_mesh); + + for (auto * elem : _mesh->active_element_ptr_range()) + if (elem->id() % 4 == 0) + elem->set_refinement_flag(Elem::REFINE); + + refine.refine_and_coarsen_elements(); + } + + void tearDown() { _mesh.reset(); } + + void testConstrainedSpaceHoldsPolynomials() + { + LOG_UNIT_TEST; + + EquationSystems es(*_mesh); + System & sys = es.add_system("amr"); + sys.add_variable("u", FEType(order, family)); + es.init(); + + sys.project_solution(amr_test_poly(order)>, + nullptr, es.parameters); + + // The constraints the projection just enforced must leave the polynomial intact, at points + // spread through the mesh so that some fall in the refined part and some outside it + Parameters dummy; + unsigned int n_checked = 0; + + for (int a = 1; a < 8; ++a) + for (int b = 1; b < 8; ++b) + { + const unsigned int dim = Elem::type_to_dim_map[elem_type]; + const Point q(a/8., (dim > 1) ? b/8. : 0., (dim > 2) ? (a + b)/16. : 0.); + + const Number expected = + amr_test_poly(order)>(q, dummy, "", ""); + const Number actual = sys.point_value(0, q); + + LIBMESH_ASSERT_NUMBERS_EQUAL(expected, actual, TOLERANCE*std::sqrt(TOLERANCE)); + ++n_checked; + } + + CPPUNIT_ASSERT(n_checked > 0); + } +}; + +#define INSTANTIATE_FEAMRCONSTRAINTTEST(elemtype, order, family) \ + class FEAMRConstraintTest_##family##_##order##_##elemtype : \ + public FEAMRConstraintTest { \ + public: \ + FEAMRConstraintTest_##family##_##order##_##elemtype() : \ + FEAMRConstraintTest() { \ + if (unitlog->summarized_logs_enabled()) \ + this->libmesh_suite_name = "FEAMRConstraintTest"; \ + else \ + this->libmesh_suite_name = \ + "FEAMRConstraintTest_" #family "_" #order "_" #elemtype; \ + } \ + CPPUNIT_TEST_SUITE( FEAMRConstraintTest_##family##_##order##_##elemtype ); \ + CPPUNIT_TEST( testConstrainedSpaceHoldsPolynomials ); \ + CPPUNIT_TEST_SUITE_END(); \ + }; \ + \ + CPPUNIT_TEST_SUITE_REGISTRATION( FEAMRConstraintTest_##family##_##order##_##elemtype ) + +// The Gauss-Lobatto basis this exists for, with LAGRANGE and HIERARCHIC beside it. LAGRANGE is +// the control: its constraints are long settled, so a failure there would be the test's fault +// rather than the family's. HIERARCHIC is the other family that allocates a separate degree of +// freedom at a hanging node, which is the path this was written to cover. +INSTANTIATE_FEAMRCONSTRAINTTEST(QUAD9, SECOND, LAGRANGE); +INSTANTIATE_FEAMRCONSTRAINTTEST(QUAD9, THIRD, LAGRANGE_GLL); +INSTANTIATE_FEAMRCONSTRAINTTEST(QUAD9, FOURTH, LAGRANGE_GLL); +INSTANTIATE_FEAMRCONSTRAINTTEST(QUAD9, THIRD, HIERARCHIC); + +#if LIBMESH_DIM > 2 +INSTANTIATE_FEAMRCONSTRAINTTEST(HEX27, SECOND, LAGRANGE); +INSTANTIATE_FEAMRCONSTRAINTTEST(HEX27, THIRD, LAGRANGE_GLL); +INSTANTIATE_FEAMRCONSTRAINTTEST(HEX27, THIRD, HIERARCHIC); +#endif + +#endif // LIBMESH_ENABLE_AMR diff --git a/tests/fe/fe_gll_collocation_test.C b/tests/fe/fe_gll_collocation_test.C new file mode 100644 index 00000000000..811b894d2f0 --- /dev/null +++ b/tests/fe/fe_gll_collocation_test.C @@ -0,0 +1,245 @@ +// A nodal basis whose interpolation points are the points of a quadrature rule is collocated +// with it: each shape function is one at its own point and zero at every other, so the mass +// matrix that rule assembles is diagonal. That holds for any mapping and any element shape, +// since the Jacobian only scales a diagonal entry, and it holds for both Gauss-Lobatto nodal +// families, which differ in the order they number their degrees of freedom rather than in +// where those degrees of freedom sit. +// +// The L2 family numbers them in the order the rule lays out its points, so its matrix of shape +// function values is the identity. The C0 family numbers them by the entity that owns them, so +// the matrix is a permutation of the identity. What both hold to is that the map from a degree +// of freedom to its point is one to one, which is what the diagonal rests on. +// +// The property is exact rather than approximate, so the tests compare against 1 and 0 with no +// tolerance. That is what the basis reading its points from QGaussLobatto buys: a basis that +// computed its own would agree only to roundoff. + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "test_comm.h" +#include "libmesh_cppunit.h" + +#include +#include +#include + +using namespace libMesh; + +template +class FEGLLCollocationTest : public CppUnit::TestCase +{ +protected: + std::unique_ptr _mesh; + std::string libmesh_suite_name; + +public: + void setUp() + { + _mesh = std::make_unique(*TestCommWorld); + + const unsigned int dim = Elem::type_to_dim_map[elem_type]; + + if (dim == 1) + MeshTools::Generation::build_line(*_mesh, 2, 0., 1., elem_type); + else if (dim == 2) + MeshTools::Generation::build_square(*_mesh, 2, 2, 0., 1., 0., 1., elem_type); + else + MeshTools::Generation::build_cube(*_mesh, 2, 2, 2, 0., 1., 0., 1., 0., 1., elem_type); + + // Skew the mesh so that no element is a scaled copy of the reference element, which + // holds the diagonal mass matrix to being a property of the basis rather than of a + // Jacobian that happens to be constant. + for (auto * node : _mesh->node_ptr_range()) + { + Node & p = *node; + const Real y = (LIBMESH_DIM > 1) ? p(1) : 0.; + const Real z = (LIBMESH_DIM > 2) ? p(2) : 0.; + + p(0) += 0.3 * y + 0.17 * z; + if (LIBMESH_DIM > 1) + p(1) += 0.23 * z; + } + } + + void tearDown() { _mesh.reset(); } + + /** + * The point of the collocated rule that each degree of freedom interpolates at, taken from + * the shape function values and holding them to being one there and zero everywhere else. + * + * The L2 family numbers its degrees of freedom in the order the rule lays out its points, so + * this map is the identity for it. The C0 family numbers them by the entity that owns them, + * so the map is a permutation. Either way it is one to one, which is what makes the mass + * matrix diagonal. + */ + std::vector collocation_map(const std::vector> & phi) + { + std::vector point_of_dof(phi.size(), invalid_uint); + std::vector taken(phi.size(), false); + + for (const auto i : index_range(phi)) + { + CPPUNIT_ASSERT_EQUAL(phi.size(), phi[i].size()); + + for (const auto q : index_range(phi[i])) + { + if (phi[i][q] == 1.) + { + CPPUNIT_ASSERT_EQUAL(invalid_uint, point_of_dof[i]); + point_of_dof[i] = cast_int(q); + } + else + // Exactly zero, not nearly: the basis and the rule carry the same points + CPPUNIT_ASSERT_EQUAL(Real(0), phi[i][q]); + } + + CPPUNIT_ASSERT(point_of_dof[i] != invalid_uint); + + // One degree of freedom per point, so that no point is claimed twice + CPPUNIT_ASSERT(!taken[point_of_dof[i]]); + taken[point_of_dof[i]] = true; + } + + return point_of_dof; + } + + void testShapesAreCollocated() + { + LOG_UNIT_TEST; + + const FEType fe_type(order, family); + const unsigned int dim = Elem::type_to_dim_map[elem_type]; + + std::unique_ptr fe = FEBase::build(dim, fe_type); + std::unique_ptr qrule = fe_type.default_quadrature_rule(dim); + fe->attach_quadrature_rule(qrule.get()); + + // The accessors have to be reached before reinit, which is what tells the element what to + // compute + const std::vector> & phi = fe->get_phi(); + + unsigned int n_elem = 0; + + for (const auto * elem : _mesh->active_local_element_ptr_range()) + { + fe->reinit(elem); + + // The rule carries one point per degree of freedom + CPPUNIT_ASSERT_EQUAL(phi.size(), std::size_t(qrule->n_points())); + + const std::vector point_of_dof = collocation_map(phi); + + // The L2 family also agrees with the rule on the order of the points + if (family == L2_LAGRANGE_GLL) + for (const auto i : index_range(point_of_dof)) + CPPUNIT_ASSERT_EQUAL(cast_int(i), point_of_dof[i]); + + ++n_elem; + } + + _mesh->comm().sum(n_elem); + CPPUNIT_ASSERT(n_elem > 0); + } + + void testMassMatrixIsDiagonal() + { + LOG_UNIT_TEST; + + const FEType fe_type(order, family); + const unsigned int dim = Elem::type_to_dim_map[elem_type]; + + std::unique_ptr fe = FEBase::build(dim, fe_type); + std::unique_ptr qrule = fe_type.default_quadrature_rule(dim); + fe->attach_quadrature_rule(qrule.get()); + + const std::vector> & phi = fe->get_phi(); + const std::vector & JxW = fe->get_JxW(); + + for (const auto * elem : _mesh->active_local_element_ptr_range()) + { + fe->reinit(elem); + + const std::vector point_of_dof = collocation_map(phi); + const std::size_t n_dofs = phi.size(); + + // Summed the way an assembly loop would sum it, so that the diagonal is a property of + // the arithmetic that assembles a mass matrix rather than one read back from the shape + // function values the assertions above already hold + for (const auto i : make_range(n_dofs)) + for (const auto j : make_range(n_dofs)) + { + Real m = 0.; + for (const auto q : index_range(JxW)) + m += JxW[q] * phi[i][q] * phi[j][q]; + + if (i == j) + { + // A diagonal entry is the weight of its own point times the Jacobian there, + // which is positive on a valid element, so the mass matrix is positive + // definite and its inverse costs a reciprocal per entry + CPPUNIT_ASSERT(m > 0.); + LIBMESH_ASSERT_FP_EQUAL(JxW[point_of_dof[i]], m, TOLERANCE*TOLERANCE); + } + else + CPPUNIT_ASSERT_EQUAL(Real(0), m); + } + } + } +}; + +#define INSTANTIATE_FEGLLCOLLOCATIONTEST(elemtype, order, family) \ + class FEGLLCollocationTest_##family##_##order##_##elemtype : \ + public FEGLLCollocationTest { \ + public: \ + FEGLLCollocationTest_##family##_##order##_##elemtype() : \ + FEGLLCollocationTest() { \ + if (unitlog->summarized_logs_enabled()) \ + this->libmesh_suite_name = "FEGLLCollocationTest"; \ + else \ + this->libmesh_suite_name = \ + "FEGLLCollocationTest_" #family "_" #order "_" #elemtype; \ + } \ + CPPUNIT_TEST_SUITE( FEGLLCollocationTest_##family##_##order##_##elemtype ); \ + CPPUNIT_TEST( testShapesAreCollocated ); \ + CPPUNIT_TEST( testMassMatrixIsDiagonal ); \ + CPPUNIT_TEST_SUITE_END(); \ + }; \ + \ + CPPUNIT_TEST_SUITE_REGISTRATION( FEGLLCollocationTest_##family##_##order##_##elemtype ) + +INSTANTIATE_FEGLLCOLLOCATIONTEST(EDGE2, FIRST, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(EDGE3, THIRD, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(EDGE3, EIGHTH, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(EDGE2, FIRST, LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(EDGE3, THIRD, LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(EDGE3, EIGHTH, LAGRANGE_GLL); + +#if LIBMESH_DIM > 1 +INSTANTIATE_FEGLLCOLLOCATIONTEST(QUAD4, FIRST, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(QUAD9, SECOND, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(QUAD9, FOURTH, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(QUAD9, EIGHTH, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(QUAD4, FIRST, LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(QUAD9, SECOND, LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(QUAD9, FOURTH, LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(QUAD9, EIGHTH, LAGRANGE_GLL); +#endif + +#if LIBMESH_DIM > 2 +INSTANTIATE_FEGLLCOLLOCATIONTEST(HEX8, FIRST, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(HEX27, SECOND, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(HEX27, FOURTH, L2_LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(HEX8, FIRST, LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(HEX27, SECOND, LAGRANGE_GLL); +INSTANTIATE_FEGLLCOLLOCATIONTEST(HEX27, FOURTH, LAGRANGE_GLL); +#endif diff --git a/tests/fe/fe_gll_lagrange_agreement_test.C b/tests/fe/fe_gll_lagrange_agreement_test.C new file mode 100644 index 00000000000..7145995da6f --- /dev/null +++ b/tests/fe/fe_gll_lagrange_agreement_test.C @@ -0,0 +1,171 @@ +// LAGRANGE and the Gauss-Lobatto nodal families are the same functions at orders one and two +// on the tensor product element types, because the Gauss-Lobatto points of those orders, +// {-1,1} and {-1,0,1}, are where those elements put their nodes. The two are separate +// implementations of that shared ground: LAGRANGE evaluates a closed form per order, and the +// Gauss-Lobatto basis evaluates a barycentric form against its point table. Nothing couples +// them, so this test does, by pairing each Gauss-Lobatto shape function with the LAGRANGE one +// whose node sits at the same reference point and holding the two to the same values. +// +// It is what would catch the point table, the barycentric evaluation, or the tensor index map +// drifting away from a basis whose values are already settled. + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "test_comm.h" +#include "libmesh_cppunit.h" + +#include +#include + +using namespace libMesh; + +template +class FEGLLLagrangeAgreementTest : public CppUnit::TestCase +{ +protected: + std::unique_ptr _mesh; + std::string libmesh_suite_name; + +public: + void setUp() + { + _mesh = std::make_unique(*TestCommWorld); + + const unsigned int dim = Elem::type_to_dim_map[elem_type]; + + if (dim == 1) + MeshTools::Generation::build_line(*_mesh, 1, 0., 1., elem_type); + else if (dim == 2) + MeshTools::Generation::build_square(*_mesh, 1, 1, 0., 1., 0., 1., elem_type); + else + MeshTools::Generation::build_cube(*_mesh, 1, 1, 1, 0., 1., 0., 1., 0., 1., elem_type); + } + + void tearDown() { _mesh.reset(); } + + /// The reference point that Gauss-Lobatto shape function \p i interpolates at + Point gll_point(const unsigned int i, const unsigned int dim) + { + const unsigned int n = static_cast(order) + 1; + + // The n point Gauss-Lobatto rule, which is exact through degree 2n-3 + QGaussLobatto rule(1, static_cast(2*n - 3)); + rule.init(EDGE2); + + Point q; + unsigned int stride = 1; + + for (const auto d : make_range(dim)) + { + q(d) = rule.qp((i / stride) % n)(0); + stride *= n; + } + + return q; + } + + /// The node of \p elem whose reference position is \p q, or invalid_uint if it has none + unsigned int node_at(const Elem & elem, const Point & q) + { + unsigned int found = invalid_uint; + + for (const auto n : elem.node_index_range()) + if (elem.master_point(n).relative_fuzzy_equals(q, TOLERANCE)) + { + // The pairing has to be one node per shape function for the comparison to mean + // anything, so a second match is a failure rather than a choice + CPPUNIT_ASSERT_EQUAL(invalid_uint, found); + found = n; + } + + return found; + } + + void testAgreesWithLagrange() + { + LOG_UNIT_TEST; + + const unsigned int dim = Elem::type_to_dim_map[elem_type]; + + const FEType gll_type(order, L2_LAGRANGE_GLL); + const FEType lagrange_type(order, LAGRANGE); + + // Points spread over the reference element, away from its own interpolation points, so + // that agreement is of the functions rather than of the values they are pinned to + std::vector samples; + for (int a = -3; a <= 3; ++a) + for (int b = -3; b <= 3; ++b) + for (int c = -3; c <= 3; ++c) + samples.emplace_back(a/7., (dim > 1) ? b/7. : 0., (dim > 2) ? c/7. : 0.); + + unsigned int n_paired = 0; + + for (const auto * elem : _mesh->active_local_element_ptr_range()) + { + const unsigned int n_gll = FEInterface::n_shape_functions(gll_type, elem); + const unsigned int n_lag = FEInterface::n_shape_functions(lagrange_type, elem); + + // The bases span the same space here, so they have the same count + CPPUNIT_ASSERT_EQUAL(n_lag, n_gll); + + for (const auto i : make_range(n_gll)) + { + const unsigned int n = node_at(*elem, gll_point(i, dim)); + CPPUNIT_ASSERT(n != invalid_uint); + + for (const Point & q : samples) + LIBMESH_ASSERT_FP_EQUAL(FEInterface::shape(lagrange_type, elem, n, q), + FEInterface::shape(gll_type, elem, i, q), + TOLERANCE*TOLERANCE); + + ++n_paired; + } + } + + _mesh->comm().sum(n_paired); + CPPUNIT_ASSERT(n_paired > 0); + } +}; + +#define INSTANTIATE_FEGLLAGREEMENTTEST(elemtype, order) \ + class FEGLLLagrangeAgreementTest_##order##_##elemtype : \ + public FEGLLLagrangeAgreementTest { \ + public: \ + FEGLLLagrangeAgreementTest_##order##_##elemtype() : \ + FEGLLLagrangeAgreementTest() { \ + if (unitlog->summarized_logs_enabled()) \ + this->libmesh_suite_name = "FEGLLLagrangeAgreementTest"; \ + else \ + this->libmesh_suite_name = \ + "FEGLLLagrangeAgreementTest_" #order "_" #elemtype; \ + } \ + CPPUNIT_TEST_SUITE( FEGLLLagrangeAgreementTest_##order##_##elemtype ); \ + CPPUNIT_TEST( testAgreesWithLagrange ); \ + CPPUNIT_TEST_SUITE_END(); \ + }; \ + \ + CPPUNIT_TEST_SUITE_REGISTRATION( FEGLLLagrangeAgreementTest_##order##_##elemtype ) + +// The element types whose nodes are the Gauss-Lobatto points of the order in question. The +// serendipity types are left out: LAGRANGE spans a smaller space on QUAD8 and HEX20 than a +// tensor product basis of the same order, so there is no pairing to hold there. +INSTANTIATE_FEGLLAGREEMENTTEST(EDGE2, FIRST); +INSTANTIATE_FEGLLAGREEMENTTEST(EDGE3, SECOND); + +#if LIBMESH_DIM > 1 +INSTANTIATE_FEGLLAGREEMENTTEST(QUAD4, FIRST); +INSTANTIATE_FEGLLAGREEMENTTEST(QUAD9, SECOND); +#endif + +#if LIBMESH_DIM > 2 +INSTANTIATE_FEGLLAGREEMENTTEST(HEX8, FIRST); +INSTANTIATE_FEGLLAGREEMENTTEST(HEX27, SECOND); +#endif diff --git a/tests/fe/fe_l2_lagrange_gll_test.C b/tests/fe/fe_l2_lagrange_gll_test.C new file mode 100644 index 00000000000..3e9eaec453a --- /dev/null +++ b/tests/fe/fe_l2_lagrange_gll_test.C @@ -0,0 +1,26 @@ +#include "fe_test.h" + +// The L2_LAGRANGE_GLL basis is a tensor product, so it lives on the tensor product element +// types alone. Every one of its degrees of freedom belongs to the element, so it asks +// nothing of the element's node count and an order above two runs on a first order type. + +INSTANTIATE_FETEST(FIRST, L2_LAGRANGE_GLL, EDGE2); +INSTANTIATE_FETEST(SECOND, L2_LAGRANGE_GLL, EDGE2); +INSTANTIATE_FETEST(SECOND, L2_LAGRANGE_GLL, EDGE3); +INSTANTIATE_FETEST(THIRD, L2_LAGRANGE_GLL, EDGE3); +INSTANTIATE_FETEST(FOURTH, L2_LAGRANGE_GLL, EDGE3); + +#if LIBMESH_DIM > 1 +INSTANTIATE_FETEST(FIRST, L2_LAGRANGE_GLL, QUAD4); +INSTANTIATE_FETEST(SECOND, L2_LAGRANGE_GLL, QUAD4); +INSTANTIATE_FETEST(SECOND, L2_LAGRANGE_GLL, QUAD9); +INSTANTIATE_FETEST(THIRD, L2_LAGRANGE_GLL, QUAD9); +INSTANTIATE_FETEST(FOURTH, L2_LAGRANGE_GLL, QUAD9); +#endif + +#if LIBMESH_DIM > 2 +INSTANTIATE_FETEST(FIRST, L2_LAGRANGE_GLL, HEX8); +INSTANTIATE_FETEST(SECOND, L2_LAGRANGE_GLL, HEX8); +INSTANTIATE_FETEST(SECOND, L2_LAGRANGE_GLL, HEX27); +INSTANTIATE_FETEST(THIRD, L2_LAGRANGE_GLL, HEX27); +#endif diff --git a/tests/fe/fe_lagrange_gll_test.C b/tests/fe/fe_lagrange_gll_test.C new file mode 100644 index 00000000000..5ff6c48f170 --- /dev/null +++ b/tests/fe/fe_lagrange_gll_test.C @@ -0,0 +1,25 @@ +#include "fe_test.h" + +// The C0 Gauss-Lobatto basis needs a node for each entity that owns degrees of freedom, so +// order two and above wants mid-edge nodes in two dimensions and face nodes as well in three. + +INSTANTIATE_FETEST(FIRST, LAGRANGE_GLL, EDGE2); +INSTANTIATE_FETEST(SECOND, LAGRANGE_GLL, EDGE2); +INSTANTIATE_FETEST(SECOND, LAGRANGE_GLL, EDGE3); +INSTANTIATE_FETEST(THIRD, LAGRANGE_GLL, EDGE3); +INSTANTIATE_FETEST(FOURTH, LAGRANGE_GLL, EDGE3); + +#if LIBMESH_DIM > 1 +INSTANTIATE_FETEST(FIRST, LAGRANGE_GLL, QUAD4); +INSTANTIATE_FETEST(SECOND, LAGRANGE_GLL, QUAD8); +INSTANTIATE_FETEST(SECOND, LAGRANGE_GLL, QUAD9); +INSTANTIATE_FETEST(THIRD, LAGRANGE_GLL, QUAD9); +INSTANTIATE_FETEST(FOURTH, LAGRANGE_GLL, QUAD9); +#endif + +#if LIBMESH_DIM > 2 +INSTANTIATE_FETEST(FIRST, LAGRANGE_GLL, HEX8); +INSTANTIATE_FETEST(SECOND, LAGRANGE_GLL, HEX27); +INSTANTIATE_FETEST(THIRD, LAGRANGE_GLL, HEX27); +INSTANTIATE_FETEST(FOURTH, LAGRANGE_GLL, HEX27); +#endif diff --git a/tests/fe/fe_orientation_test.C b/tests/fe/fe_orientation_test.C index 220bff534e2..b27902479d0 100644 --- a/tests/fe/fe_orientation_test.C +++ b/tests/fe/fe_orientation_test.C @@ -350,10 +350,15 @@ public: INSTANTIATE_FEORIENTATIONTEST(TRI6, THIRD, HIERARCHIC); INSTANTIATE_FEORIENTATIONTEST(QUAD9, THIRD, HIERARCHIC); +INSTANTIATE_FEORIENTATIONTEST(QUAD9, THIRD, LAGRANGE_GLL); +INSTANTIATE_FEORIENTATIONTEST(QUAD9, FOURTH, LAGRANGE_GLL); INSTANTIATE_FEORIENTATIONTEST(TET14, THIRD, HIERARCHIC); INSTANTIATE_FEORIENTATIONTEST(TET14, FOURTH, HIERARCHIC); INSTANTIATE_FEORIENTATIONTEST(HEX27, THIRD, HIERARCHIC); INSTANTIATE_FEORIENTATIONTEST(HEX27, FOURTH, HIERARCHIC); +INSTANTIATE_FEORIENTATIONTEST(HEX27, THIRD, LAGRANGE_GLL); +INSTANTIATE_FEORIENTATIONTEST(HEX27, FOURTH, LAGRANGE_GLL); +INSTANTIATE_FEORIENTATIONTEST(HEX27, FIFTH, LAGRANGE_GLL); INSTANTIATE_FEORIENTATIONTEST(PRISM21, THIRD, HIERARCHIC); INSTANTIATE_FEORIENTATIONTEST(PRISM21, FOURTH, HIERARCHIC); INSTANTIATE_FECONFORMITYTEST(HEX27, THIRD, SIDE_HIERARCHIC); diff --git a/tests/fe/fe_test.h b/tests/fe/fe_test.h index 01cb9ff6751..10818b5af32 100644 --- a/tests/fe/fe_test.h +++ b/tests/fe/fe_test.h @@ -814,6 +814,8 @@ class FETest : public FETestBase { case LAGRANGE: case L2_LAGRANGE: + case LAGRANGE_GLL: + case L2_LAGRANGE_GLL: case BERNSTEIN: case RATIONAL_BERNSTEIN: {