Definition at line 343 of file mixed_dim_mesh_test.C.
◆ build_mesh()
void MixedDimensionNonUniformRefinement::build_mesh |
( |
| ) |
|
|
inlineprotected |
Definition at line 368 of file mixed_dim_mesh_test.C.
485 #ifdef LIBMESH_ENABLE_AMR
References libMesh::ReplicatedMesh::add_elem(), libMesh::ReplicatedMesh::add_point(), libMesh::MeshBase::elem_ref(), libMesh::ReplicatedMesh::node_ptr(), libMesh::MeshBase::prepare_for_use(), libMesh::Elem::REFINE, libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::MeshBase::set_mesh_dimension(), libMesh::Elem::set_node(), libMesh::Elem::set_refinement_flag(), libMesh::Elem::subdomain_id(), and TestCommWorld.
◆ CPPUNIT_TEST() [1/2]
◆ CPPUNIT_TEST() [2/2]
MixedDimensionNonUniformRefinement::CPPUNIT_TEST |
( |
testMesh |
| ) |
|
◆ CPPUNIT_TEST_SUITE()
Given a mesh with four 2D elements and an overlapping 1D element this test ensures that when a single 2D element that is flagged for refinement, which is a neighbor of the 1D element, that the 1D element will is also be flagged for refinement due to an underrefined_boundary_limit of 0 (default) and the neighboring 2D element will also refined due to an overrefined_boundary_limit of 0 (default).
◆ CPPUNIT_TEST_SUITE_END()
MixedDimensionNonUniformRefinement::CPPUNIT_TEST_SUITE_END |
( |
| ) |
|
◆ setUp()
void MixedDimensionNonUniformRefinement::setUp |
( |
| ) |
|
|
inline |
◆ tearDown()
void MixedDimensionNonUniformRefinement::tearDown |
( |
| ) |
|
|
inline |
◆ testDofOrdering()
void MixedDimensionNonUniformRefinement::testDofOrdering |
( |
| ) |
|
|
inline |
Definition at line 560 of file mixed_dim_mesh_test.C.
562 #ifdef LIBMESH_ENABLE_AMR
568 DofMap& dof_map = es.get_system(
"TestDofSystem").get_dof_map();
570 std::vector<dof_id_type> top_quad5_dof_indices, top_quad6_dof_indices;
571 std::vector<dof_id_type> bottom_quad11_dof_indices, bottom_quad12_dof_indices;
572 std::vector<dof_id_type> edge13_dof_indices, edge14_dof_indices;
582 CPPUNIT_ASSERT_EQUAL( edge13_dof_indices[0], top_quad5_dof_indices[0] );
583 CPPUNIT_ASSERT_EQUAL( edge13_dof_indices[1], top_quad5_dof_indices[1] );
586 CPPUNIT_ASSERT_EQUAL( edge14_dof_indices[0], top_quad6_dof_indices[0] );
587 CPPUNIT_ASSERT_EQUAL( edge14_dof_indices[1], top_quad6_dof_indices[1] );
590 CPPUNIT_ASSERT_EQUAL( edge13_dof_indices[0], bottom_quad11_dof_indices[3] );
591 CPPUNIT_ASSERT_EQUAL( edge13_dof_indices[1], bottom_quad11_dof_indices[2] );
594 CPPUNIT_ASSERT_EQUAL( edge14_dof_indices[0], bottom_quad12_dof_indices[3] );
595 CPPUNIT_ASSERT_EQUAL( edge14_dof_indices[1], bottom_quad12_dof_indices[2] );
598 CPPUNIT_ASSERT_EQUAL( edge13_dof_indices[1], edge14_dof_indices[0] );
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 MixedDimensionNonUniformRefinement::testMesh |
( |
| ) |
|
|
inline |
◆ _mesh
The documentation for this class was generated from the following file:
bool refine_and_coarsen_elements()
Refines and coarsens user-requested elements.
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...
Implements (adaptive) mesh refinement algorithms for a MeshBase.
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 * parent() const
const Elem * interior_parent() 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.
void set_refinement_flag(const RefinementState rflag)
Sets the value of the refinement flag for the element.
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.
virtual dof_id_type n_active_elem() const override