90 const std::vector<Real> gold_vector = {-1, 3, 10,
102 const std::vector<dof_id_type>
103 node_reordering({0, 3, 1, 8, 5, 4, 6, 7, 2});
107 for (
const auto & node : read_mesh.node_ptr_range())
114 #ifdef LIBMESH_USE_COMPLEX_NUMBERS 115 const unsigned int v2 = 3;
117 const unsigned int v2 = 1;
119 CPPUNIT_ASSERT_EQUAL(node->n_vars(0), 3*v2);
121 CPPUNIT_ASSERT_LESS(node_reordering.size(), std::size_t(node->id()));
122 const dof_id_type gold_i_ux = node_reordering[node->id()] * 3;
125 CPPUNIT_ASSERT_LESS(gold_vector.size(), std::size_t(gold_i_v));
127 LIBMESH_ASSERT_FP_EQUAL(
libmesh_real(sys2_soln(node->dof_number(0,0,0))),
128 gold_vector[gold_i_ux], tol);
129 LIBMESH_ASSERT_FP_EQUAL(
libmesh_real(sys2_soln(node->dof_number(0,v2,0))),
130 gold_vector[gold_i_uy], tol);
131 LIBMESH_ASSERT_FP_EQUAL(
libmesh_real(sys2_soln(node->dof_number(0,2*v2,0))),
132 gold_vector[gold_i_v], tol);
135 #ifdef LIBMESH_USE_COMPLEX_NUMBERS 136 LIBMESH_ASSERT_FP_EQUAL(
libmesh_real(sys2_soln(node->dof_number(0,1,0))),
138 LIBMESH_ASSERT_FP_EQUAL(
libmesh_real(sys2_soln(node->dof_number(0,2,0))),
139 std::abs(gold_vector[gold_i_ux]), tol);
140 LIBMESH_ASSERT_FP_EQUAL(
libmesh_real(sys2_soln(node->dof_number(0,4,0))),
142 LIBMESH_ASSERT_FP_EQUAL(
libmesh_real(sys2_soln(node->dof_number(0,5,0))),
143 std::abs(gold_vector[gold_i_uy]), tol);
144 LIBMESH_ASSERT_FP_EQUAL(
libmesh_real(sys2_soln(node->dof_number(0,7,0))),
146 LIBMESH_ASSERT_FP_EQUAL(
libmesh_real(sys2_soln(node->dof_number(0,8,0))),
147 std::abs(gold_vector[gold_i_v]), tol);
ADRealEigenVector< T, D, asd > abs(const ADRealEigenVector< T, D, asd > &)
std::unique_ptr< NumericVector< Number > > solution
Data structure to hold solution values.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
processor_id_type processor_id() const