38 {
39 LOG_UNIT_TEST;
40
41 typedef Eigen::Matrix<Real, Eigen::Dynamic, Eigen::Dynamic> DynamicEigenMatrix;
42 typedef std::vector<DynamicEigenMatrix> DynamicMatrixVector;
43 std::map<processor_id_type, DynamicMatrixVector> send_data;
44
45
47 {
49 send_data[i] = DynamicMatrixVector{ DynamicEigenMatrix(i+1, i+2) };
52 send_data[i][0](
row, col) =
row * 100000.0 + col * 1000.0 + 10.0 * i + j;
53 }
54
55
56 auto verify_data =
58 {
60 const std::size_t rows = recv_data[0].rows();
61 const std::size_t cols = recv_data[0].cols();
62
63 CPPUNIT_ASSERT_EQUAL( rows, static_cast<std::size_t>(i+1) );
64 CPPUNIT_ASSERT_EQUAL( cols, static_cast<std::size_t>(i+2) );
65
68 CPPUNIT_ASSERT_EQUAL( recv_data[0](
row, col), static_cast<
Real>(
row * 100000.0 + col * 1000.0 + j + 10.0 * i) );
69 };
70
71
72 Parallel::push_parallel_vector_data(*TestCommWorld, send_data, verify_data);
73 }
Communicator * TestCommWorld
LIBMESH_DEVICE_INLINE ResultVector row(const TensorLike &T_in, const unsigned int row_index)
auto index_range(const T &sizable)
Helper function that returns an IntRange<std::size_t> representing all the indices of the passed-in v...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
uint8_t processor_id_type
IntRange< T > make_range(T beg, T end)
The 2-parameter make_range() helper function returns an IntRange<T> when both input parameters are of...