diff --git a/tests/Makefile.am b/tests/Makefile.am index 7e375d5880..e4b6b0f08a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -102,6 +102,7 @@ unit_tests_sources = \ numerics/lumped_mass_matrix_test.C \ numerics/eigen_sparse_matrix_test.C \ numerics/tensor_traits_test.C \ + numerics/shell_matrix.C \ parallel/message_tag.C \ parallel/packed_range_test.C \ parallel/parallel_sort_test.C \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 63c1d5837b..90d1a7807d 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -236,9 +236,9 @@ am__unit_tests_dbg_SOURCES_DIST = driver.C libmesh_cppunit.h \ numerics/petsc_matrix_test.C numerics/diagonal_matrix_test.C \ numerics/lumped_mass_matrix_test.C \ numerics/eigen_sparse_matrix_test.C \ - numerics/tensor_traits_test.C parallel/message_tag.C \ - parallel/packed_range_test.C parallel/parallel_sort_test.C \ - parallel/parallel_sync_test.C \ + numerics/tensor_traits_test.C numerics/shell_matrix.C \ + parallel/message_tag.C parallel/packed_range_test.C \ + parallel/parallel_sort_test.C parallel/parallel_sync_test.C \ parallel/parallel_ghost_sync_test.C parallel/parallel_test.C \ parallel/parallel_point_test.C partitioning/partitioner_test.h \ partitioning/centroid_partitioner_test.C \ @@ -349,6 +349,7 @@ am__objects_3 = unit_tests_dbg-driver.$(OBJEXT) \ numerics/unit_tests_dbg-lumped_mass_matrix_test.$(OBJEXT) \ numerics/unit_tests_dbg-eigen_sparse_matrix_test.$(OBJEXT) \ numerics/unit_tests_dbg-tensor_traits_test.$(OBJEXT) \ + numerics/unit_tests_dbg-shell_matrix.$(OBJEXT) \ parallel/unit_tests_dbg-message_tag.$(OBJEXT) \ parallel/unit_tests_dbg-packed_range_test.$(OBJEXT) \ parallel/unit_tests_dbg-parallel_sort_test.$(OBJEXT) \ @@ -430,9 +431,9 @@ am__unit_tests_devel_SOURCES_DIST = driver.C libmesh_cppunit.h \ numerics/petsc_matrix_test.C numerics/diagonal_matrix_test.C \ numerics/lumped_mass_matrix_test.C \ numerics/eigen_sparse_matrix_test.C \ - numerics/tensor_traits_test.C parallel/message_tag.C \ - parallel/packed_range_test.C parallel/parallel_sort_test.C \ - parallel/parallel_sync_test.C \ + numerics/tensor_traits_test.C numerics/shell_matrix.C \ + parallel/message_tag.C parallel/packed_range_test.C \ + parallel/parallel_sort_test.C parallel/parallel_sync_test.C \ parallel/parallel_ghost_sync_test.C parallel/parallel_test.C \ parallel/parallel_point_test.C partitioning/partitioner_test.h \ partitioning/centroid_partitioner_test.C \ @@ -541,6 +542,7 @@ am__objects_5 = unit_tests_devel-driver.$(OBJEXT) \ numerics/unit_tests_devel-lumped_mass_matrix_test.$(OBJEXT) \ numerics/unit_tests_devel-eigen_sparse_matrix_test.$(OBJEXT) \ numerics/unit_tests_devel-tensor_traits_test.$(OBJEXT) \ + numerics/unit_tests_devel-shell_matrix.$(OBJEXT) \ parallel/unit_tests_devel-message_tag.$(OBJEXT) \ parallel/unit_tests_devel-packed_range_test.$(OBJEXT) \ parallel/unit_tests_devel-parallel_sort_test.$(OBJEXT) \ @@ -618,9 +620,9 @@ am__unit_tests_oprof_SOURCES_DIST = driver.C libmesh_cppunit.h \ numerics/petsc_matrix_test.C numerics/diagonal_matrix_test.C \ numerics/lumped_mass_matrix_test.C \ numerics/eigen_sparse_matrix_test.C \ - numerics/tensor_traits_test.C parallel/message_tag.C \ - parallel/packed_range_test.C parallel/parallel_sort_test.C \ - parallel/parallel_sync_test.C \ + numerics/tensor_traits_test.C numerics/shell_matrix.C \ + parallel/message_tag.C parallel/packed_range_test.C \ + parallel/parallel_sort_test.C parallel/parallel_sync_test.C \ parallel/parallel_ghost_sync_test.C parallel/parallel_test.C \ parallel/parallel_point_test.C partitioning/partitioner_test.h \ partitioning/centroid_partitioner_test.C \ @@ -729,6 +731,7 @@ am__objects_7 = unit_tests_oprof-driver.$(OBJEXT) \ numerics/unit_tests_oprof-lumped_mass_matrix_test.$(OBJEXT) \ numerics/unit_tests_oprof-eigen_sparse_matrix_test.$(OBJEXT) \ numerics/unit_tests_oprof-tensor_traits_test.$(OBJEXT) \ + numerics/unit_tests_oprof-shell_matrix.$(OBJEXT) \ parallel/unit_tests_oprof-message_tag.$(OBJEXT) \ parallel/unit_tests_oprof-packed_range_test.$(OBJEXT) \ parallel/unit_tests_oprof-parallel_sort_test.$(OBJEXT) \ @@ -806,9 +809,9 @@ am__unit_tests_opt_SOURCES_DIST = driver.C libmesh_cppunit.h \ numerics/petsc_matrix_test.C numerics/diagonal_matrix_test.C \ numerics/lumped_mass_matrix_test.C \ numerics/eigen_sparse_matrix_test.C \ - numerics/tensor_traits_test.C parallel/message_tag.C \ - parallel/packed_range_test.C parallel/parallel_sort_test.C \ - parallel/parallel_sync_test.C \ + numerics/tensor_traits_test.C numerics/shell_matrix.C \ + parallel/message_tag.C parallel/packed_range_test.C \ + parallel/parallel_sort_test.C parallel/parallel_sync_test.C \ parallel/parallel_ghost_sync_test.C parallel/parallel_test.C \ parallel/parallel_point_test.C partitioning/partitioner_test.h \ partitioning/centroid_partitioner_test.C \ @@ -917,6 +920,7 @@ am__objects_9 = unit_tests_opt-driver.$(OBJEXT) \ numerics/unit_tests_opt-lumped_mass_matrix_test.$(OBJEXT) \ numerics/unit_tests_opt-eigen_sparse_matrix_test.$(OBJEXT) \ numerics/unit_tests_opt-tensor_traits_test.$(OBJEXT) \ + numerics/unit_tests_opt-shell_matrix.$(OBJEXT) \ parallel/unit_tests_opt-message_tag.$(OBJEXT) \ parallel/unit_tests_opt-packed_range_test.$(OBJEXT) \ parallel/unit_tests_opt-parallel_sort_test.$(OBJEXT) \ @@ -994,9 +998,9 @@ am__unit_tests_prof_SOURCES_DIST = driver.C libmesh_cppunit.h \ numerics/petsc_matrix_test.C numerics/diagonal_matrix_test.C \ numerics/lumped_mass_matrix_test.C \ numerics/eigen_sparse_matrix_test.C \ - numerics/tensor_traits_test.C parallel/message_tag.C \ - parallel/packed_range_test.C parallel/parallel_sort_test.C \ - parallel/parallel_sync_test.C \ + numerics/tensor_traits_test.C numerics/shell_matrix.C \ + parallel/message_tag.C parallel/packed_range_test.C \ + parallel/parallel_sort_test.C parallel/parallel_sync_test.C \ parallel/parallel_ghost_sync_test.C parallel/parallel_test.C \ parallel/parallel_point_test.C partitioning/partitioner_test.h \ partitioning/centroid_partitioner_test.C \ @@ -1105,6 +1109,7 @@ am__objects_11 = unit_tests_prof-driver.$(OBJEXT) \ numerics/unit_tests_prof-lumped_mass_matrix_test.$(OBJEXT) \ numerics/unit_tests_prof-eigen_sparse_matrix_test.$(OBJEXT) \ numerics/unit_tests_prof-tensor_traits_test.$(OBJEXT) \ + numerics/unit_tests_prof-shell_matrix.$(OBJEXT) \ parallel/unit_tests_prof-message_tag.$(OBJEXT) \ parallel/unit_tests_prof-packed_range_test.$(OBJEXT) \ parallel/unit_tests_prof-parallel_sort_test.$(OBJEXT) \ @@ -1477,6 +1482,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ numerics/$(DEPDIR)/unit_tests_dbg-parsed_function_test.Po \ numerics/$(DEPDIR)/unit_tests_dbg-petsc_matrix_test.Po \ numerics/$(DEPDIR)/unit_tests_dbg-petsc_vector_test.Po \ + numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Po \ numerics/$(DEPDIR)/unit_tests_dbg-tensor_traits_test.Po \ numerics/$(DEPDIR)/unit_tests_dbg-trilinos_epetra_vector_test.Po \ numerics/$(DEPDIR)/unit_tests_dbg-type_tensor_test.Po \ @@ -1494,6 +1500,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ numerics/$(DEPDIR)/unit_tests_devel-parsed_function_test.Po \ numerics/$(DEPDIR)/unit_tests_devel-petsc_matrix_test.Po \ numerics/$(DEPDIR)/unit_tests_devel-petsc_vector_test.Po \ + numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Po \ numerics/$(DEPDIR)/unit_tests_devel-tensor_traits_test.Po \ numerics/$(DEPDIR)/unit_tests_devel-trilinos_epetra_vector_test.Po \ numerics/$(DEPDIR)/unit_tests_devel-type_tensor_test.Po \ @@ -1511,6 +1518,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ numerics/$(DEPDIR)/unit_tests_oprof-parsed_function_test.Po \ numerics/$(DEPDIR)/unit_tests_oprof-petsc_matrix_test.Po \ numerics/$(DEPDIR)/unit_tests_oprof-petsc_vector_test.Po \ + numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Po \ numerics/$(DEPDIR)/unit_tests_oprof-tensor_traits_test.Po \ numerics/$(DEPDIR)/unit_tests_oprof-trilinos_epetra_vector_test.Po \ numerics/$(DEPDIR)/unit_tests_oprof-type_tensor_test.Po \ @@ -1528,6 +1536,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ numerics/$(DEPDIR)/unit_tests_opt-parsed_function_test.Po \ numerics/$(DEPDIR)/unit_tests_opt-petsc_matrix_test.Po \ numerics/$(DEPDIR)/unit_tests_opt-petsc_vector_test.Po \ + numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Po \ numerics/$(DEPDIR)/unit_tests_opt-tensor_traits_test.Po \ numerics/$(DEPDIR)/unit_tests_opt-trilinos_epetra_vector_test.Po \ numerics/$(DEPDIR)/unit_tests_opt-type_tensor_test.Po \ @@ -1545,6 +1554,7 @@ am__depfiles_remade = ./$(DEPDIR)/unit_tests_dbg-driver.Po \ numerics/$(DEPDIR)/unit_tests_prof-parsed_function_test.Po \ numerics/$(DEPDIR)/unit_tests_prof-petsc_matrix_test.Po \ numerics/$(DEPDIR)/unit_tests_prof-petsc_vector_test.Po \ + numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Po \ numerics/$(DEPDIR)/unit_tests_prof-tensor_traits_test.Po \ numerics/$(DEPDIR)/unit_tests_prof-trilinos_epetra_vector_test.Po \ numerics/$(DEPDIR)/unit_tests_prof-type_tensor_test.Po \ @@ -2109,6 +2119,7 @@ petscversion = @petscversion@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -2176,9 +2187,9 @@ unit_tests_sources = driver.C libmesh_cppunit.h stream_redirector.h \ numerics/petsc_matrix_test.C numerics/diagonal_matrix_test.C \ numerics/lumped_mass_matrix_test.C \ numerics/eigen_sparse_matrix_test.C \ - numerics/tensor_traits_test.C parallel/message_tag.C \ - parallel/packed_range_test.C parallel/parallel_sort_test.C \ - parallel/parallel_sync_test.C \ + numerics/tensor_traits_test.C numerics/shell_matrix.C \ + parallel/message_tag.C parallel/packed_range_test.C \ + parallel/parallel_sort_test.C parallel/parallel_sync_test.C \ parallel/parallel_ghost_sync_test.C parallel/parallel_test.C \ parallel/parallel_point_test.C partitioning/partitioner_test.h \ partitioning/centroid_partitioner_test.C \ @@ -2500,6 +2511,8 @@ numerics/unit_tests_dbg-eigen_sparse_matrix_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) numerics/unit_tests_dbg-tensor_traits_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) +numerics/unit_tests_dbg-shell_matrix.$(OBJEXT): \ + numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) parallel/$(am__dirstamp): @$(MKDIR_P) parallel @: > parallel/$(am__dirstamp) @@ -2762,6 +2775,8 @@ numerics/unit_tests_devel-eigen_sparse_matrix_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) numerics/unit_tests_devel-tensor_traits_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) +numerics/unit_tests_devel-shell_matrix.$(OBJEXT): \ + numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) parallel/unit_tests_devel-message_tag.$(OBJEXT): \ parallel/$(am__dirstamp) parallel/$(DEPDIR)/$(am__dirstamp) parallel/unit_tests_devel-packed_range_test.$(OBJEXT): \ @@ -2982,6 +2997,8 @@ numerics/unit_tests_oprof-eigen_sparse_matrix_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) numerics/unit_tests_oprof-tensor_traits_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) +numerics/unit_tests_oprof-shell_matrix.$(OBJEXT): \ + numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) parallel/unit_tests_oprof-message_tag.$(OBJEXT): \ parallel/$(am__dirstamp) parallel/$(DEPDIR)/$(am__dirstamp) parallel/unit_tests_oprof-packed_range_test.$(OBJEXT): \ @@ -3202,6 +3219,8 @@ numerics/unit_tests_opt-eigen_sparse_matrix_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) numerics/unit_tests_opt-tensor_traits_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) +numerics/unit_tests_opt-shell_matrix.$(OBJEXT): \ + numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) parallel/unit_tests_opt-message_tag.$(OBJEXT): \ parallel/$(am__dirstamp) parallel/$(DEPDIR)/$(am__dirstamp) parallel/unit_tests_opt-packed_range_test.$(OBJEXT): \ @@ -3422,6 +3441,8 @@ numerics/unit_tests_prof-eigen_sparse_matrix_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) numerics/unit_tests_prof-tensor_traits_test.$(OBJEXT): \ numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) +numerics/unit_tests_prof-shell_matrix.$(OBJEXT): \ + numerics/$(am__dirstamp) numerics/$(DEPDIR)/$(am__dirstamp) parallel/unit_tests_prof-message_tag.$(OBJEXT): \ parallel/$(am__dirstamp) parallel/$(DEPDIR)/$(am__dirstamp) parallel/unit_tests_prof-packed_range_test.$(OBJEXT): \ @@ -3830,6 +3851,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_dbg-parsed_function_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_dbg-petsc_matrix_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_dbg-petsc_vector_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_dbg-tensor_traits_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_dbg-trilinos_epetra_vector_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_dbg-type_tensor_test.Po@am__quote@ # am--include-marker @@ -3847,6 +3869,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_devel-parsed_function_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_devel-petsc_matrix_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_devel-petsc_vector_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_devel-tensor_traits_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_devel-trilinos_epetra_vector_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_devel-type_tensor_test.Po@am__quote@ # am--include-marker @@ -3864,6 +3887,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_oprof-parsed_function_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_oprof-petsc_matrix_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_oprof-petsc_vector_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_oprof-tensor_traits_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_oprof-trilinos_epetra_vector_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_oprof-type_tensor_test.Po@am__quote@ # am--include-marker @@ -3881,6 +3905,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_opt-parsed_function_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_opt-petsc_matrix_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_opt-petsc_vector_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_opt-tensor_traits_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_opt-trilinos_epetra_vector_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_opt-type_tensor_test.Po@am__quote@ # am--include-marker @@ -3898,6 +3923,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_prof-parsed_function_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_prof-petsc_matrix_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_prof-petsc_vector_test.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_prof-tensor_traits_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_prof-trilinos_epetra_vector_test.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@numerics/$(DEPDIR)/unit_tests_prof-type_tensor_test.Po@am__quote@ # am--include-marker @@ -5155,6 +5181,20 @@ numerics/unit_tests_dbg-tensor_traits_test.obj: numerics/tensor_traits_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 numerics/unit_tests_dbg-tensor_traits_test.obj `if test -f 'numerics/tensor_traits_test.C'; then $(CYGPATH_W) 'numerics/tensor_traits_test.C'; else $(CYGPATH_W) '$(srcdir)/numerics/tensor_traits_test.C'; fi` +numerics/unit_tests_dbg-shell_matrix.o: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_dbg_CPPFLAGS) $(CPPFLAGS) $(unit_tests_dbg_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_dbg-shell_matrix.o -MD -MP -MF numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Tpo -c -o numerics/unit_tests_dbg-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_dbg-shell_matrix.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 numerics/unit_tests_dbg-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C + +numerics/unit_tests_dbg-shell_matrix.obj: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_dbg_CPPFLAGS) $(CPPFLAGS) $(unit_tests_dbg_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_dbg-shell_matrix.obj -MD -MP -MF numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Tpo -c -o numerics/unit_tests_dbg-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_dbg-shell_matrix.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 numerics/unit_tests_dbg-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` + parallel/unit_tests_dbg-message_tag.o: parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_dbg_CPPFLAGS) $(CPPFLAGS) $(unit_tests_dbg_CXXFLAGS) $(CXXFLAGS) -MT parallel/unit_tests_dbg-message_tag.o -MD -MP -MF parallel/$(DEPDIR)/unit_tests_dbg-message_tag.Tpo -c -o parallel/unit_tests_dbg-message_tag.o `test -f 'parallel/message_tag.C' || echo '$(srcdir)/'`parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) parallel/$(DEPDIR)/unit_tests_dbg-message_tag.Tpo parallel/$(DEPDIR)/unit_tests_dbg-message_tag.Po @@ -6625,6 +6665,20 @@ numerics/unit_tests_devel-tensor_traits_test.obj: numerics/tensor_traits_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 numerics/unit_tests_devel-tensor_traits_test.obj `if test -f 'numerics/tensor_traits_test.C'; then $(CYGPATH_W) 'numerics/tensor_traits_test.C'; else $(CYGPATH_W) '$(srcdir)/numerics/tensor_traits_test.C'; fi` +numerics/unit_tests_devel-shell_matrix.o: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_devel_CPPFLAGS) $(CPPFLAGS) $(unit_tests_devel_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_devel-shell_matrix.o -MD -MP -MF numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Tpo -c -o numerics/unit_tests_devel-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_devel-shell_matrix.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 numerics/unit_tests_devel-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C + +numerics/unit_tests_devel-shell_matrix.obj: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_devel_CPPFLAGS) $(CPPFLAGS) $(unit_tests_devel_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_devel-shell_matrix.obj -MD -MP -MF numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Tpo -c -o numerics/unit_tests_devel-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_devel-shell_matrix.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 numerics/unit_tests_devel-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` + parallel/unit_tests_devel-message_tag.o: parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_devel_CPPFLAGS) $(CPPFLAGS) $(unit_tests_devel_CXXFLAGS) $(CXXFLAGS) -MT parallel/unit_tests_devel-message_tag.o -MD -MP -MF parallel/$(DEPDIR)/unit_tests_devel-message_tag.Tpo -c -o parallel/unit_tests_devel-message_tag.o `test -f 'parallel/message_tag.C' || echo '$(srcdir)/'`parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) parallel/$(DEPDIR)/unit_tests_devel-message_tag.Tpo parallel/$(DEPDIR)/unit_tests_devel-message_tag.Po @@ -8095,6 +8149,20 @@ numerics/unit_tests_oprof-tensor_traits_test.obj: numerics/tensor_traits_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 numerics/unit_tests_oprof-tensor_traits_test.obj `if test -f 'numerics/tensor_traits_test.C'; then $(CYGPATH_W) 'numerics/tensor_traits_test.C'; else $(CYGPATH_W) '$(srcdir)/numerics/tensor_traits_test.C'; fi` +numerics/unit_tests_oprof-shell_matrix.o: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_oprof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_oprof_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_oprof-shell_matrix.o -MD -MP -MF numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Tpo -c -o numerics/unit_tests_oprof-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_oprof-shell_matrix.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 numerics/unit_tests_oprof-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C + +numerics/unit_tests_oprof-shell_matrix.obj: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_oprof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_oprof_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_oprof-shell_matrix.obj -MD -MP -MF numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Tpo -c -o numerics/unit_tests_oprof-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_oprof-shell_matrix.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 numerics/unit_tests_oprof-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` + parallel/unit_tests_oprof-message_tag.o: parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_oprof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_oprof_CXXFLAGS) $(CXXFLAGS) -MT parallel/unit_tests_oprof-message_tag.o -MD -MP -MF parallel/$(DEPDIR)/unit_tests_oprof-message_tag.Tpo -c -o parallel/unit_tests_oprof-message_tag.o `test -f 'parallel/message_tag.C' || echo '$(srcdir)/'`parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) parallel/$(DEPDIR)/unit_tests_oprof-message_tag.Tpo parallel/$(DEPDIR)/unit_tests_oprof-message_tag.Po @@ -9565,6 +9633,20 @@ numerics/unit_tests_opt-tensor_traits_test.obj: numerics/tensor_traits_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 numerics/unit_tests_opt-tensor_traits_test.obj `if test -f 'numerics/tensor_traits_test.C'; then $(CYGPATH_W) 'numerics/tensor_traits_test.C'; else $(CYGPATH_W) '$(srcdir)/numerics/tensor_traits_test.C'; fi` +numerics/unit_tests_opt-shell_matrix.o: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_opt_CPPFLAGS) $(CPPFLAGS) $(unit_tests_opt_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_opt-shell_matrix.o -MD -MP -MF numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Tpo -c -o numerics/unit_tests_opt-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_opt-shell_matrix.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 numerics/unit_tests_opt-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C + +numerics/unit_tests_opt-shell_matrix.obj: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_opt_CPPFLAGS) $(CPPFLAGS) $(unit_tests_opt_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_opt-shell_matrix.obj -MD -MP -MF numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Tpo -c -o numerics/unit_tests_opt-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_opt-shell_matrix.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 numerics/unit_tests_opt-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` + parallel/unit_tests_opt-message_tag.o: parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_opt_CPPFLAGS) $(CPPFLAGS) $(unit_tests_opt_CXXFLAGS) $(CXXFLAGS) -MT parallel/unit_tests_opt-message_tag.o -MD -MP -MF parallel/$(DEPDIR)/unit_tests_opt-message_tag.Tpo -c -o parallel/unit_tests_opt-message_tag.o `test -f 'parallel/message_tag.C' || echo '$(srcdir)/'`parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) parallel/$(DEPDIR)/unit_tests_opt-message_tag.Tpo parallel/$(DEPDIR)/unit_tests_opt-message_tag.Po @@ -11035,6 +11117,20 @@ numerics/unit_tests_prof-tensor_traits_test.obj: numerics/tensor_traits_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 numerics/unit_tests_prof-tensor_traits_test.obj `if test -f 'numerics/tensor_traits_test.C'; then $(CYGPATH_W) 'numerics/tensor_traits_test.C'; else $(CYGPATH_W) '$(srcdir)/numerics/tensor_traits_test.C'; fi` +numerics/unit_tests_prof-shell_matrix.o: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_prof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_prof_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_prof-shell_matrix.o -MD -MP -MF numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Tpo -c -o numerics/unit_tests_prof-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_prof-shell_matrix.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 numerics/unit_tests_prof-shell_matrix.o `test -f 'numerics/shell_matrix.C' || echo '$(srcdir)/'`numerics/shell_matrix.C + +numerics/unit_tests_prof-shell_matrix.obj: numerics/shell_matrix.C +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_prof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_prof_CXXFLAGS) $(CXXFLAGS) -MT numerics/unit_tests_prof-shell_matrix.obj -MD -MP -MF numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Tpo -c -o numerics/unit_tests_prof-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Tpo numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='numerics/shell_matrix.C' object='numerics/unit_tests_prof-shell_matrix.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 numerics/unit_tests_prof-shell_matrix.obj `if test -f 'numerics/shell_matrix.C'; then $(CYGPATH_W) 'numerics/shell_matrix.C'; else $(CYGPATH_W) '$(srcdir)/numerics/shell_matrix.C'; fi` + parallel/unit_tests_prof-message_tag.o: parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit_tests_prof_CPPFLAGS) $(CPPFLAGS) $(unit_tests_prof_CXXFLAGS) $(CXXFLAGS) -MT parallel/unit_tests_prof-message_tag.o -MD -MP -MF parallel/$(DEPDIR)/unit_tests_prof-message_tag.Tpo -c -o parallel/unit_tests_prof-message_tag.o `test -f 'parallel/message_tag.C' || echo '$(srcdir)/'`parallel/message_tag.C @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) parallel/$(DEPDIR)/unit_tests_prof-message_tag.Tpo parallel/$(DEPDIR)/unit_tests_prof-message_tag.Po @@ -12098,6 +12194,7 @@ distclean: distclean-am -rm -f numerics/$(DEPDIR)/unit_tests_dbg-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-type_tensor_test.Po @@ -12115,6 +12212,7 @@ distclean: distclean-am -rm -f numerics/$(DEPDIR)/unit_tests_devel-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-type_tensor_test.Po @@ -12132,6 +12230,7 @@ distclean: distclean-am -rm -f numerics/$(DEPDIR)/unit_tests_oprof-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-type_tensor_test.Po @@ -12149,6 +12248,7 @@ distclean: distclean-am -rm -f numerics/$(DEPDIR)/unit_tests_opt-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-type_tensor_test.Po @@ -12166,6 +12266,7 @@ distclean: distclean-am -rm -f numerics/$(DEPDIR)/unit_tests_prof-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-type_tensor_test.Po @@ -12670,6 +12771,7 @@ maintainer-clean: maintainer-clean-am -rm -f numerics/$(DEPDIR)/unit_tests_dbg-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_dbg-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_dbg-type_tensor_test.Po @@ -12687,6 +12789,7 @@ maintainer-clean: maintainer-clean-am -rm -f numerics/$(DEPDIR)/unit_tests_devel-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_devel-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_devel-type_tensor_test.Po @@ -12704,6 +12807,7 @@ maintainer-clean: maintainer-clean-am -rm -f numerics/$(DEPDIR)/unit_tests_oprof-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_oprof-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_oprof-type_tensor_test.Po @@ -12721,6 +12825,7 @@ maintainer-clean: maintainer-clean-am -rm -f numerics/$(DEPDIR)/unit_tests_opt-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_opt-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_opt-type_tensor_test.Po @@ -12738,6 +12843,7 @@ maintainer-clean: maintainer-clean-am -rm -f numerics/$(DEPDIR)/unit_tests_prof-parsed_function_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-petsc_matrix_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-petsc_vector_test.Po + -rm -f numerics/$(DEPDIR)/unit_tests_prof-shell_matrix.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-tensor_traits_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-trilinos_epetra_vector_test.Po -rm -f numerics/$(DEPDIR)/unit_tests_prof-type_tensor_test.Po diff --git a/tests/numerics/shell_matrix.C b/tests/numerics/shell_matrix.C new file mode 100644 index 0000000000..926efee62c --- /dev/null +++ b/tests/numerics/shell_matrix.C @@ -0,0 +1,190 @@ +#include "libmesh/shell_matrix.h" +#include "libmesh/enum_solver_type.h" +#include "libmesh/sparse_shell_matrix.h" +#include "libmesh/solver_configuration.h" +#ifdef LIBMESH_HAVE_PETSC +#include "libmesh/petsc_linear_solver.h" +#include "libmesh/petsc_vector.h" +#include "libmesh/petsc_matrix.h" +#include "libmesh/petsc_shell_matrix.h" + +#include "libmesh_cppunit.h" +#include "test_comm.h" + +using namespace libMesh; + +class ShellMatrixTest : public CppUnit::TestCase +{ +public: + LIBMESH_CPPUNIT_TEST_SUITE(ShellMatrixTest); + + CPPUNIT_TEST(testPetscShell); + CPPUNIT_TEST(testSparseShell_petsc); + + CPPUNIT_TEST_SUITE_END(); + +public: + void setUp() + { + _comm = TestCommWorld; + } + + void tearDown() {} + + void testPetscShell() + { + LOG_UNIT_TEST; + + // Depending on the config: Use different vector-types here! + PetscLinearSolver linear_solver(*_comm); + linear_solver.init(); + NoPcSolverConfiguration solver_conf(linear_solver); + linear_solver.set_solver_configuration(solver_conf); + KSPSetInitialGuessNonzero(linear_solver.ksp(), PETSC_TRUE); + + unsigned int maxits=20; + Real tol = 1e-3; + + UnityShellMat mat = (*_comm); + + // Depending on the config: Use different vector-types here! + PetscVector rhs(*_comm, 20); + rhs.set(5,2.); + rhs.close(); + auto solution = rhs.clone(); + solution->set(7,2.); + solution->close(); + linear_solver.solve(mat, *solution, rhs, tol, maxits); + + for (numeric_index_type m=0; m < rhs.size(); ++m) + CPPUNIT_ASSERT_EQUAL(solution->el(m), rhs.el(m)); + } + + void testSparseShell_petsc() + { + LOG_UNIT_TEST; + + // Depending on the config: Use different vector-types here! + PetscLinearSolver linear_solver(*_comm); + linear_solver.init(); + NoPcSolverConfiguration solver_conf(linear_solver); + linear_solver.set_solver_configuration(solver_conf); + KSPSetInitialGuessNonzero(linear_solver.ksp(), PETSC_TRUE); + + PetscMatrix petsc_mat(*_comm); + petsc_mat.init(20,20,20,20,1,0,1); // hard-coded dimension. + set_unity(petsc_mat); + petsc_mat.close(); + SparseShellMatrix mat(petsc_mat); + + unsigned int maxits=20; + Real tol = 1e-3; + + // Depending on the config: Use different vector-types here! + PetscVector rhs(*_comm, 20); + rhs.set(5,2.); + rhs.close(); + auto solution = rhs.clone(); + solution->set(7,2.); + solution->close(); + linear_solver.solve(mat, *solution, rhs, tol, maxits); + + for (numeric_index_type m=0; m < rhs.size(); ++m) + CPPUNIT_ASSERT_EQUAL(solution->el(m), rhs.el(m)); + + // Make the matrix singular: + // a) set an irrelevant element to '0': + solution->set(7,2.); + petsc_mat.set(2,2,0.); + petsc_mat.close(); + auto rval = linear_solver.solve(mat, *solution, rhs, tol, maxits); + // In this case, we can solve the equation. + CPPUNIT_ASSERT_EQUAL(rval.second, 0.00); + // b) set the relevant element to '0': + petsc_mat.set(5,5,0.); + petsc_mat.close(); + rval = linear_solver.solve(mat, *solution, rhs, tol, maxits); + // In this case, we can not solve the equation. + // The best solution is the 0-vector and we have an error of 2.0 + CPPUNIT_ASSERT_EQUAL(rval.second, 2.00); + + } + +private: + Parallel::Communicator * _comm; + + void set_unity(SparseMatrix & M) + { + for (libMesh::numeric_index_type n=0; n < M.m(); ++n) + M.set(n,n,1.); + } + + + class NoPcSolverConfiguration : public libMesh::SolverConfiguration + { + public: + + NoPcSolverConfiguration(libMesh::PetscLinearSolver & petsc_linear_solver) : + _petsc_linear_solver(petsc_linear_solver) + { + } + + // Shell-matrices are implemented only for few solvers/preconditioners. + // The SolverConfiguration overrides input-arguments, so here we force GMRES without precond. + virtual void configure_solver() + { + PetscErrorCode ierr = 0; + ierr = KSPSetType (_petsc_linear_solver.ksp(), const_cast(KSPGMRES)); + CHKERRABORT(_petsc_linear_solver.comm().get(), ierr); + ierr = PCSetType (_petsc_linear_solver.pc(), const_cast(PCNONE)); + CHKERRABORT(_petsc_linear_solver.comm().get(), ierr); + } + + // The linear solver object that we are configuring + libMesh::PetscLinearSolver & _petsc_linear_solver; + + }; + + + class UnityShellMat : public libMesh::ShellMatrix + { + public: + UnityShellMat(Parallel::Communicator & comm): + ShellMatrix(comm){} + + virtual ~UnityShellMat() = default; + + virtual libMesh::numeric_index_type m () const override + { + return 20; + } + virtual libMesh::numeric_index_type n () const override + { + return 20; + } + + virtual void vector_mult(libMesh::NumericVector &dest, + const libMesh::NumericVector< libMesh::Number > &arg) const override + { + dest = arg; + } + + virtual void vector_mult_add (libMesh::NumericVector &dest, + const libMesh::NumericVector< libMesh::Number > &arg) const override + { + dest += arg; + } + + virtual void get_diagonal (libMesh::NumericVector &dest) const override + { + for (numeric_index_type m=0; m < dest.local_size(); ++m) + dest.set(m, 1.); + } + + }; + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(ShellMatrixTest); + +#endif // #ifdef LIBMESH_HAVE_PETSC