From f72f66da7bf7f9257b49ec06fd7e07b853bc0a35 Mon Sep 17 00:00:00 2001 From: Yimin Jin Date: Fri, 19 Jan 2024 11:41:23 +0800 Subject: [PATCH] modify the test codes to meet the format requirements --- tests/dofs/dof_accessor_04.cc | 77 ++++++++++++++++++------------- tests/dofs/dof_accessor_04.output | 20 +------- 2 files changed, 47 insertions(+), 50 deletions(-) diff --git a/tests/dofs/dof_accessor_04.cc b/tests/dofs/dof_accessor_04.cc index 9f88b53f75..f4b205aa0e 100644 --- a/tests/dofs/dof_accessor_04.cc +++ b/tests/dofs/dof_accessor_04.cc @@ -14,23 +14,27 @@ // --------------------------------------------------------------------- // Test DoFCellAccessor::distribute_local_to_global( -// local_matrix, local_vector, global_matrix, global_vector) +// local_matrix, local_vector, global_matrix, global_vector) -#include -#include #include #include + #include + +#include +#include + #include -#include #include +#include #include -#include +#include "../tests.h" -int main() +int +main() { - using namespace dealii; + initlog(); // create the triangulation Triangulation<2> tria; @@ -50,37 +54,48 @@ int main() sp.copy_from(dsp); SparseMatrix global_matrix(sp); - Vector global_vector(dof_handler.n_dofs()); + Vector global_vector(dof_handler.n_dofs()); // create local matrix and local vector FullMatrix local_matrix(fe.dofs_per_cell, fe.dofs_per_cell); - Vector local_vector(fe.dofs_per_cell); + Vector local_vector(fe.dofs_per_cell); for (unsigned int i = 0; i < fe.dofs_per_cell; ++i) - { - local_vector(i) = i + 1; - for (unsigned int j = 0; j < fe.dofs_per_cell; ++j) - local_matrix(i, j) = i * fe.dofs_per_cell + j + 1; - } + { + local_vector(i) = i + 1; + for (unsigned int j = 0; j < fe.dofs_per_cell; ++j) + local_matrix(i, j) = i * fe.dofs_per_cell + j + 1; + } // call function distribute_local_to_global() auto cell = dof_handler.begin_active(); - cell->distribute_local_to_global(local_matrix, local_vector, global_matrix, global_vector); - - // output the local matrix and local vector - std::cout << "local matrix:" << std::endl; - local_matrix.print_formatted(std::cout, 0, false); - - std::cout << "local vector:" << std::endl; - local_vector.print(std::cout, 0, false); - - std::cout << std::endl; - - // output the global matrix and global vector - std::cout << "global matrix:" << std::endl; - global_matrix.print_formatted(std::cout, 0, false); - - std::cout << "global vector:" << std::endl; - global_vector.print(std::cout, 0, false); + cell->distribute_local_to_global(local_matrix, + local_vector, + global_matrix, + global_vector); + + // check if each entry of the local matrix/vector has + // found its position in the global matrix/vector + bool passed = true; + for (unsigned int i = 0; i < fe.dofs_per_cell; ++i) + { + if (global_vector(i) != local_vector(i)) + passed = false; + + for (unsigned int j = 0; j < fe.dofs_per_cell; ++j) + if (global_matrix(i, j) != local_matrix(i, j)) + { + passed = false; + break; + } + + if (passed == false) + break; + } + + if (passed) + deallog << "PASSED" << std::endl; + else + deallog << "NOT PASSED" << std::endl; return 0; } diff --git a/tests/dofs/dof_accessor_04.output b/tests/dofs/dof_accessor_04.output index d005b76f35..126825131c 100644 --- a/tests/dofs/dof_accessor_04.output +++ b/tests/dofs/dof_accessor_04.output @@ -1,20 +1,2 @@ -local matrix: - 1 2 3 4 - 5 6 7 8 - 9 10 11 12 -13 14 15 16 -local vector: -1 2 3 4 -global matrix: - 1 2 3 4 - 5 6 7 8 0 0 - 9 10 11 12 0 0 -13 14 15 16 0 0 0 0 0 - 0 0 0 0 - 0 0 0 0 0 0 - 0 0 0 0 - 0 0 0 0 0 0 - 0 0 0 0 -global vector: -1 2 3 4 0 0 0 0 0 +DEAL::PASSED -- 2.39.5