Skip to content

Commit

Permalink
Adjust tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
bangerth committed Dec 21, 2019
1 parent 085080d commit 6720df5
Show file tree
Hide file tree
Showing 13 changed files with 608 additions and 602 deletions.
7 changes: 3 additions & 4 deletions tests/bits/anna_3.cc
Expand Up @@ -91,12 +91,11 @@ SystemTest<dim>::check()
{
deallog << "Checking for component " << c << std::endl;
std::vector<bool> x(fe.n_components(), false);
x[c] = true;
std::vector<bool> sel(dof_handler.n_dofs());
DoFTools::extract_dofs(dof_handler, ComponentMask(x), sel);
x[c] = true;
IndexSet sel = DoFTools::extract_dofs(dof_handler, ComponentMask(x));

for (unsigned int i = 0; i < sel.size(); ++i)
if (sel[i])
if (sel.is_element(i))
deallog << " DoF " << i << std::endl;
};

Expand Down
7 changes: 2 additions & 5 deletions tests/dofs/dof_tools_12.cc
Expand Up @@ -27,16 +27,13 @@ template <typename DoFHandlerType>
void
check_this(const DoFHandlerType &dof_handler)
{
std::vector<bool> selected_dofs(dof_handler.n_dofs());
std::vector<bool> mask(dof_handler.get_fe().n_components(), false);

// only select first component
mask[0] = true;
DoFTools::extract_dofs(dof_handler, ComponentMask(mask), selected_dofs);
output_bool_vector(selected_dofs);
output_bool_vector(DoFTools::extract_dofs(dof_handler, ComponentMask(mask)));

// also select last component
mask.back() = true;
DoFTools::extract_dofs(dof_handler, ComponentMask(mask), selected_dofs);
output_bool_vector(selected_dofs);
output_bool_vector(DoFTools::extract_dofs(dof_handler, ComponentMask(mask)));
}
7 changes: 2 additions & 5 deletions tests/dofs/dof_tools_12a.cc
Expand Up @@ -25,16 +25,13 @@ template <typename DoFHandlerType>
void
check_this(const DoFHandlerType &dof_handler)
{
std::vector<bool> selected_dofs(dof_handler.n_locally_owned_dofs());
std::vector<bool> mask(dof_handler.get_fe().n_components(), false);

// only select first component
mask[0] = true;
DoFTools::extract_dofs(dof_handler, ComponentMask(mask), selected_dofs);
output_bool_vector(selected_dofs);
output_bool_vector(DoFTools::extract_dofs(dof_handler, ComponentMask(mask)));

// also select last component
mask.back() = true;
DoFTools::extract_dofs(dof_handler, ComponentMask(mask), selected_dofs);
output_bool_vector(selected_dofs);
output_bool_vector(DoFTools::extract_dofs(dof_handler, ComponentMask(mask)));
}
1,104 changes: 552 additions & 552 deletions tests/dofs/dof_tools_12a.with_p4est=true.mpirun=3.output

Large diffs are not rendered by default.

25 changes: 9 additions & 16 deletions tests/dofs/dof_tools_13a.cc
Expand Up @@ -47,22 +47,16 @@ check_this(const DoFHandlerType &dof_handler)
// distribute to first component
Vector<double> dof_data(dof_handler.n_dofs());

// preset the vector to make sure
// that the function zeroes out
// previous content. however, only
// touch those elements that we
// will actually use
std::vector<bool> component_dofs(dof_handler.n_dofs());
IndexSet component_dofs;
{
std::vector<bool> component_mask(dof_handler.get_fe().n_components(),
false);
component_mask[0] = true;
DoFTools::extract_dofs(dof_handler,
ComponentMask(component_mask),
component_dofs);
component_dofs =
DoFTools::extract_dofs(dof_handler, ComponentMask(component_mask));

for (unsigned int i = 0; i < dof_data.size(); ++i)
if (component_dofs[i] == true)
if (component_dofs.is_element(i) == true)
dof_data(i) = i + 1;
else
dof_data(i) = 0;
Expand All @@ -77,7 +71,7 @@ check_this(const DoFHandlerType &dof_handler)
// check that no other values were
// set
for (unsigned int i = 0; i < dof_data.size(); ++i)
if (component_dofs[i] == false)
if (component_dofs.is_element(i) == false)
AssertThrow(dof_data(i) == 0, ExcInternalError());


Expand All @@ -92,11 +86,10 @@ check_this(const DoFHandlerType &dof_handler)
std::vector<bool> component_mask(dof_handler.get_fe().n_components(),
false);
component_mask.back() = true;
DoFTools::extract_dofs(dof_handler,
ComponentMask(component_mask),
component_dofs);
component_dofs =
DoFTools::extract_dofs(dof_handler, ComponentMask(component_mask));
for (unsigned int i = 0; i < dof_data.size(); ++i)
if (component_dofs[i] == true)
if (component_dofs.is_element(i) == true)
dof_data(i) = i + 1;
else
dof_data(i) = 0;
Expand All @@ -110,6 +103,6 @@ check_this(const DoFHandlerType &dof_handler)
// check that no other values were
// set
for (unsigned int i = 0; i < dof_data.size(); ++i)
if (component_dofs[i] == false)
if (component_dofs.is_element(i) == false)
AssertThrow(dof_data(i) == 0, ExcInternalError());
}
12 changes: 11 additions & 1 deletion tests/dofs/dof_tools_common.h
Expand Up @@ -49,7 +49,7 @@ check_this(const DoFHandlerType &dof_handler);


void
output_bool_vector(std::vector<bool> &v)
output_bool_vector(const std::vector<bool> &v)
{
for (unsigned int i = 0; i < v.size(); ++i)
deallog << (v[i] ? '1' : '0');
Expand All @@ -58,6 +58,16 @@ output_bool_vector(std::vector<bool> &v)



void
output_bool_vector(const IndexSet &v)
{
for (unsigned int i = 0; i < v.size(); ++i)
deallog << (v.is_element(i) ? '1' : '0');
deallog << std::endl;
}



template <int dim>
void
set_boundary_ids(Triangulation<dim> &tria)
Expand Down
12 changes: 11 additions & 1 deletion tests/dofs/dof_tools_common_parallel.h
Expand Up @@ -50,7 +50,7 @@ check_this(const DoFHandlerType &dof_handler);


void
output_bool_vector(std::vector<bool> &v)
output_bool_vector(const std::vector<bool> &v)
{
for (unsigned int i = 0; i < v.size(); ++i)
deallog << (v[i] ? '1' : '0');
Expand All @@ -59,6 +59,16 @@ output_bool_vector(std::vector<bool> &v)



void
output_bool_vector(const IndexSet &v)
{
for (unsigned int i = 0; i < v.size(); ++i)
deallog << (v.is_element(i) ? '1' : '0');
deallog << std::endl;
}



template <int dim>
void
check(const FiniteElement<dim> &fe, const std::string &name)
Expand Down
6 changes: 3 additions & 3 deletions tests/dofs/extract_dofs_by_component_01.cc
Expand Up @@ -69,11 +69,11 @@ check()
for (unsigned int c = 0; c < element.n_components(); ++c)
component_mask[c] = (int_mask & (1 << c));

std::vector<bool> dofs(dof.n_dofs());
DoFTools::extract_dofs(dof, ComponentMask(component_mask), dofs);
const IndexSet dofs =
DoFTools::extract_dofs(dof, ComponentMask(component_mask));

for (unsigned int d = 0; d < dof.n_dofs(); ++d)
deallog << dofs[d];
deallog << dofs.is_element(d);
deallog << std::endl;
}
}
Expand Down
6 changes: 3 additions & 3 deletions tests/dofs/extract_dofs_by_component_01_hp.cc
Expand Up @@ -70,11 +70,11 @@ check()
for (unsigned int c = 0; c < element.n_components(); ++c)
component_mask[c] = (int_mask & (1 << c));

std::vector<bool> dofs(dof.n_dofs());
DoFTools::extract_dofs(dof, ComponentMask(component_mask), dofs);
IndexSet dofs =
DoFTools::extract_dofs(dof, ComponentMask(component_mask));

for (unsigned int d = 0; d < dof.n_dofs(); ++d)
deallog << dofs[d];
deallog << dofs.is_element(d);
deallog << std::endl;
}
}
Expand Down
6 changes: 3 additions & 3 deletions tests/dofs/extract_dofs_by_component_01x.cc
Expand Up @@ -62,11 +62,11 @@ check()
std::vector<bool> component_mask(element.n_components(), false);
component_mask[0] = true;

std::vector<bool> dofs(dof.n_dofs());
DoFTools::extract_dofs(dof, ComponentMask(component_mask), dofs);
const IndexSet dofs =
DoFTools::extract_dofs(dof, ComponentMask(component_mask));

for (unsigned int d = 0; d < dof.n_dofs(); ++d)
deallog << dofs[d];
deallog << dofs.is_element(d);
deallog << std::endl;
}

Expand Down
6 changes: 3 additions & 3 deletions tests/dofs/extract_dofs_by_component_01y.cc
Expand Up @@ -66,11 +66,11 @@ check()
std::vector<bool> component_mask(element.n_components(), false);
component_mask[comp] = true;

std::vector<bool> dofs(dof.n_dofs());
DoFTools::extract_dofs(dof, ComponentMask(component_mask), dofs);
const IndexSet dofs =
DoFTools::extract_dofs(dof, ComponentMask(component_mask));

for (unsigned int d = 0; d < dof.n_dofs(); ++d)
deallog << dofs[d];
deallog << dofs.is_element(d);
deallog << std::endl;
}
}
Expand Down
6 changes: 3 additions & 3 deletions tests/dofs/extract_dofs_by_component_02.cc
Expand Up @@ -69,11 +69,11 @@ check()
for (unsigned int c = 0; c < element.n_blocks(); ++c)
component_mask[c] = (int_mask & (1 << c));

std::vector<bool> dofs(dof.n_dofs());
DoFTools::extract_dofs(dof, BlockMask(component_mask), dofs);
const IndexSet dofs =
DoFTools::extract_dofs(dof, BlockMask(component_mask));

for (unsigned int d = 0; d < dof.n_dofs(); ++d)
deallog << dofs[d];
deallog << dofs.is_element(d);
deallog << std::endl;
}
}
Expand Down
6 changes: 3 additions & 3 deletions tests/dofs/extract_dofs_by_component_02_hp.cc
Expand Up @@ -70,11 +70,11 @@ check()
for (unsigned int c = 0; c < element[0].n_blocks(); ++c)
component_mask[c] = (int_mask & (1 << c));

std::vector<bool> dofs(dof.n_dofs());
DoFTools::extract_dofs(dof, BlockMask(component_mask), dofs);
const IndexSet dofs =
DoFTools::extract_dofs(dof, BlockMask(component_mask));

for (unsigned int d = 0; d < dof.n_dofs(); ++d)
deallog << dofs[d];
deallog << dofs.is_element(d);
deallog << std::endl;
}
}
Expand Down

0 comments on commit 6720df5

Please sign in to comment.