38 _mesh = std::make_unique<Mesh>(*TestCommWorld);
39 const std::unique_ptr<Elem> test_elem = Elem::build(elem_type);
40 _dim = test_elem->dim();
41 const unsigned int ny =
_dim > 1;
42 const unsigned int nz =
_dim > 2;
45 _mesh->add_node_integer(
"buffer integer1");
46 _mesh->add_node_integer(
"buffer integer2");
50 const Real default_weight = 1.0;
51 unsigned char weight_index = cast_int<unsigned char>
52 (
_mesh->add_node_datum<
Real>(
"rational_weight",
true,
55 libmesh_assert_not_equal_to(weight_index, 0);
58 _mesh->set_default_mapping_data(weight_index);
62 0., 1., 0., ny, 0., nz,
65 for (
auto elem :
_mesh->element_ptr_range())
68 CPPUNIT_ASSERT_EQUAL(elem->mapping_data(), weight_index);
74 for (
auto node :
_mesh->node_ptr_range())
76 Real & x = (*node)(0);
77 Real & y = (*node)(1);
78 node->set_extra_datum<
Real>(weight_index, 1);
88 node->set_extra_datum<
Real>(weight_index, sqrt(
Real(2))/2);
92 _es = std::make_unique<EquationSystems>(*_mesh);
109 auto rng =
_mesh->active_local_element_ptr_range();
110 _elem = rng.begin() == rng.end() ? nullptr : *(rng.begin());
std::unique_ptr< FEBase > _fe
std::unique_ptr< EquationSystems > _es
Manages consistently variables, degrees of freedom, and coefficient vectors.
unsigned int add_variable(std::string_view var, const FEType &type, const std::set< subdomain_id_type > *const active_subdomains=nullptr)
Adds the variable var to the list of variables for this system.
const FEType & variable_type(const unsigned int i) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::unique_ptr< Mesh > _mesh