Definition at line 18 of file mixed_dim_mesh_test.C.
◆ build_mesh()
void MixedDimensionMeshTest::build_mesh |
( |
| ) |
|
|
inlineprotected |
◆ CPPUNIT_TEST() [1/3]
◆ CPPUNIT_TEST() [2/3]
MixedDimensionMeshTest::CPPUNIT_TEST |
( |
testMesh |
| ) |
|
◆ CPPUNIT_TEST() [3/3]
◆ CPPUNIT_TEST_SUITE()
The goal of this test is to ensure that a 2D mesh with 1D elements overlapping on the edge is consistent.
That is, they share the same global node numbers and the same dof numbers for a variable.
◆ CPPUNIT_TEST_SUITE_END()
MixedDimensionMeshTest::CPPUNIT_TEST_SUITE_END |
( |
| ) |
|
◆ setUp()
void MixedDimensionMeshTest::setUp |
( |
| ) |
|
|
inline |
◆ tearDown()
void MixedDimensionMeshTest::tearDown |
( |
| ) |
|
|
inline |
◆ testDofOrdering()
void MixedDimensionMeshTest::testDofOrdering |
( |
| ) |
|
|
inline |
Definition at line 138 of file mixed_dim_mesh_test.C.
145 DofMap& dof_map = es.get_system(
"TestDofSystem").get_dof_map();
147 std::vector<dof_id_type> top_quad_dof_indices, bottom_quad_dof_indices, edge_dof_indices;
155 CPPUNIT_ASSERT_EQUAL( edge_dof_indices[0], top_quad_dof_indices[0] );
156 CPPUNIT_ASSERT_EQUAL( edge_dof_indices[1], top_quad_dof_indices[1] );
160 CPPUNIT_ASSERT_EQUAL( edge_dof_indices[0], bottom_quad_dof_indices[3] );
161 CPPUNIT_ASSERT_EQUAL( edge_dof_indices[1], bottom_quad_dof_indices[2] );
165 CPPUNIT_ASSERT_EQUAL( top_quad_dof_indices[0], bottom_quad_dof_indices[3] );
166 CPPUNIT_ASSERT_EQUAL( top_quad_dof_indices[1], bottom_quad_dof_indices[2] );
References libMesh::EquationSystems::add_system(), libMesh::DofMap::dof_indices(), libMesh::ReplicatedMesh::elem_ptr(), libMesh::FIRST, libMesh::EquationSystems::get_system(), and libMesh::EquationSystems::init().
◆ testMesh()
void MixedDimensionMeshTest::testMesh |
( |
| ) |
|
|
inline |
◆ testPointLocatorTree()
void MixedDimensionMeshTest::testPointLocatorTree |
( |
| ) |
|
|
inline |
Definition at line 169 of file mixed_dim_mesh_test.C.
173 Point top_point(0.5, 0.5);
174 const Elem* top_elem = (*locator)(top_point);
175 CPPUNIT_ASSERT(top_elem);
180 Point bottom_point(0.5, -0.5);
181 const Elem* bottom_elem = (*locator)(bottom_point);
182 CPPUNIT_ASSERT(bottom_elem);
189 std::set<subdomain_id_type> subdomain_id; subdomain_id.insert(1);
190 Point interface_point( 0.5, 0.0 );
191 const Elem* interface_elem = (*locator)(interface_point, &subdomain_id);
192 CPPUNIT_ASSERT(interface_elem);
195 CPPUNIT_ASSERT_EQUAL( (
dof_id_type)2, interface_elem->
id() );
References libMesh::DofObject::id(), and libMesh::MeshBase::sub_point_locator().
◆ _mesh
The documentation for this class was generated from the following file:
void dof_indices(const Elem *const elem, std::vector< dof_id_type > &di) const
Fills the vector di with the global degree of freedom indices for the element.
virtual const Node * node_ptr(const dof_id_type i) const override
virtual const Elem & elem_ref(const dof_id_type i) const
virtual Elem * add_elem(Elem *e) override
Add elem e to the end of the element array.
The ReplicatedMesh class is derived from the MeshBase class, and is used to store identical copies of...
unsigned int add_variable(const std::string &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.
libMesh::Parallel::Communicator * TestCommWorld
A Point defines a location in LIBMESH_DIM dimensional Real space.
virtual dof_id_type n_nodes() const override
The QUAD4 is an element in 2D composed of 4 nodes.
This is the EquationSystems class.
virtual Node *& set_node(const unsigned int i)
const Elem * interior_parent() const
std::unique_ptr< PointLocatorBase > sub_point_locator() const
virtual dof_id_type n_elem() const override
This class handles the numbering of degrees of freedom on a mesh.
subdomain_id_type subdomain_id() const
virtual const Elem * elem_ptr(const dof_id_type i) const override
The Edge2 is an element in 1D composed of 2 nodes.
This is the base class from which all geometric element types are derived.
dof_id_type node_id(const unsigned int i) const
void prepare_for_use(const bool skip_renumber_nodes_and_elements=false, const bool skip_find_neighbors=false)
Prepare a newly ecreated (or read) mesh for use.
Manages consistently variables, degrees of freedom, coefficient vectors, matrices and linear solvers ...
void set_mesh_dimension(unsigned char d)
Resets the logical dimension of the mesh.
virtual Node * add_point(const Point &p, const dof_id_type id=DofObject::invalid_id, const processor_id_type proc_id=DofObject::invalid_processor_id) override
functions for adding /deleting nodes elements.