◆ build_quad_mesh()
void OverlappingTestBase::build_quad_mesh |
( |
unsigned int |
n_refinements = 0 | ) |
|
|
inlineprotectedinherited |
◆ clear()
void OverlappingTestBase::clear |
( |
| ) |
|
|
inlineprotectedinherited |
◆ CPPUNIT_TEST() [1/3]
◆ CPPUNIT_TEST() [2/3]
◆ CPPUNIT_TEST() [3/3]
◆ CPPUNIT_TEST_SUITE()
◆ CPPUNIT_TEST_SUITE_END()
OverlappingAlgebraicGhostingTest::CPPUNIT_TEST_SUITE_END |
( |
| ) |
|
◆ init()
void OverlappingTestBase::init |
( |
MeshBase & |
mesh | ) |
|
|
inlineprotectedinherited |
◆ run_ghosting_test()
void OverlappingAlgebraicGhostingTest::run_ghosting_test |
( |
const unsigned int |
n_refinements, |
|
|
bool |
build_coupling_matrix |
|
) |
| |
|
inlineprivate |
Definition at line 544 of file overlapping_coupling_test.C.
549 std::unique_ptr<CouplingMatrix> coupling_matrix;
550 if (build_coupling_matrix)
559 functor.set_coupling_matrix(coupling_matrix);
574 std::unique_ptr<PointLocatorBase> point_locator =
_mesh->sub_point_locator();
586 for (
const auto & elem :
_mesh->active_local_subdomain_elements_ptr_range(2))
589 CPPUNIT_ASSERT_EQUAL(2, (
int)elem->subdomain_id());
591 const std::vector<libMesh::Point> & qpoints = subdomain_two_context.get_element_fe(u_var)->get_xyz();
594 subdomain_two_context.pre_fe_reinit(system,elem);
595 subdomain_two_context.elem_fe_reinit();
597 std::set<subdomain_id_type> allowed_subdomains;
598 allowed_subdomains.insert(1);
604 for (
const auto & qp : qpoints )
606 const Elem * overlapping_elem = (*point_locator)( qp, &allowed_subdomains );
607 CPPUNIT_ASSERT(overlapping_elem);
610 subdomain_one_context.pre_fe_reinit(system,overlapping_elem);
611 subdomain_one_context.elem_fe_reinit();
References libMesh::DofMap::add_algebraic_ghosting_functor(), libMesh::NumericVector< T >::build(), libMesh::ParallelObject::comm(), libMesh::System::current_local_solution, libMesh::FEMContext::elem_fe_reinit(), libMesh::System::get_dof_map(), libMesh::FEMContext::get_element_fe(), libMesh::System::get_mesh(), libMesh::DofMap::get_send_list(), libMesh::GHOSTED, libMesh::TriangleWrapper::init(), libMesh::System::n_dofs(), libMesh::System::n_local_dofs(), libMesh::FEMContext::pre_fe_reinit(), libMesh::DofMap::reinit_send_list(), libMesh::System::solution, and libMesh::System::variable_number().
◆ setUp()
void OverlappingAlgebraicGhostingTest::setUp |
( |
| ) |
|
|
inline |
◆ setup_coupling_matrix()
void OverlappingTestBase::setup_coupling_matrix |
( |
std::unique_ptr< CouplingMatrix > & |
coupling | ) |
|
|
inlineprotectedinherited |
◆ tearDown()
void OverlappingAlgebraicGhostingTest::tearDown |
( |
| ) |
|
|
inline |
◆ testGhostingCouplingMatrix()
void OverlappingAlgebraicGhostingTest::testGhostingCouplingMatrix |
( |
| ) |
|
|
inline |
◆ testGhostingNullCouplingMatrix()
void OverlappingAlgebraicGhostingTest::testGhostingNullCouplingMatrix |
( |
| ) |
|
|
inline |
◆ testGhostingNullCouplingMatrixUnifRef()
void OverlappingAlgebraicGhostingTest::testGhostingNullCouplingMatrixUnifRef |
( |
| ) |
|
|
inline |
◆ _es
◆ _mesh
std::unique_ptr<MeshBase> OverlappingTestBase::_mesh |
|
protectedinherited |
The documentation for this class was generated from the following file:
void add_algebraic_ghosting_functor(GhostingFunctor &evaluable_functor, bool to_mesh=true)
Adds a functor which can specify algebraic ghosting requirements for use with distributed vectors.
Manages consistently variables, degrees of freedom, and coefficient vectors.
unsigned int n_vars() const
const Parallel::Communicator & comm() const
void run_ghosting_test(const unsigned int n_refinements, bool build_coupling_matrix)
static std::unique_ptr< NumericVector< T > > build(const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package())
Builds a NumericVector on the processors in communicator comm using the linear solver package specifi...
Implements (adaptive) mesh refinement algorithms for a MeshBase.
dof_id_type n_local_dofs() const
std::unique_ptr< MeshBase > _mesh
const MeshBase & get_mesh() const
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.
std::unique_ptr< NumericVector< Number > > current_local_solution
All the values I need to compute my contribution to the simulation at hand.
std::unique_ptr< EquationSystems > _es
libMesh::Parallel::Communicator * TestCommWorld
A Point defines a location in LIBMESH_DIM dimensional Real space.
The QUAD4 is an element in 2D composed of 4 nodes.
const std::vector< dof_id_type > & get_send_list() const
virtual Node *& set_node(const unsigned int i)
void reinit_send_list(MeshBase &mesh)
Clears the _send_list vector and then rebuilds it.
void setup_coupling_matrix(std::unique_ptr< CouplingMatrix > &coupling)
void build_quad_mesh(unsigned int n_refinements=0)
std::unique_ptr< NumericVector< Number > > solution
Data structure to hold solution values.
This class handles the numbering of degrees of freedom on a mesh.
void init(MeshBase &mesh)
subdomain_id_type subdomain_id() const
This is the base class from which all geometric element types are derived.
unsigned short int variable_number(const std::string &var) const
const DofMap & get_dof_map() const
dof_id_type n_dofs() const
Manages consistently variables, degrees of freedom, coefficient vectors, matrices and linear solvers ...
This class provides all data required for a physics package (e.g.