//---------------------------- fe_nothing_01.cc ---------------------------
-// test that FE_Nothing works as intended
+// test that FE_Nothing works as intended: we used to abort in the
+// computation of face domination relationships
#include "../tests.h"
void test ()
{
Triangulation<dim> triangulation;
- GridGenerator :: hyper_cube (triangulation, -0.5, 0.5);
- triangulation.refine_global(4);
+ GridGenerator :: hyper_cube (triangulation, 0, 1);
+ triangulation.refine_global(1);
hp::FECollection<dim> fe_collection;
fe_collection.push_back (FE_Q<dim>(1));
for(; cell != endc; cell++)
{
Point<dim> center = cell->center();
- if( std::sqrt(center.square()) < 0.25 )
+ if( std::sqrt(center.square()) < 0.5 )
cell->set_active_fe_index(1);
else
cell->set_active_fe_index(0);
// Attempt to distribute dofs.
// Fails here with assertion from
- // hp_vertex_dof_identities().
- // Seems this function expects all
- // elements to be of type FE_Q, and
- // therefore have dofs at the cell
- // vertices.
-
+ // hp_vertex_dof_identities() and
+ // after that is fixed in face
+ // domination computation.
dof_handler.distribute_dofs (fe_collection);
deallog << " Number of active cells: "
+DEAL:: Number of active cells: 2
+DEAL:: Number of degrees of freedom: 2
+DEAL:: Number of active cells: 4
+DEAL:: Number of degrees of freedom: 8
+DEAL:: Number of active cells: 8
+DEAL:: Number of degrees of freedom: 26
DEAL::OK