Dear all,
I am doing a SolutionTransfer in the same fashion as described in the docu of SolutionTransfer class.
After calling
-triangulation.execute_coarsening_and_refinement();
I proceed with
-dofHandler.distribute_dofs(feSystem);
-constraints.clear();
-DoFTools::make_hanging_node_constraints(dofHandler, constraints);
where my feSystem has 2 blocks (3 copies of FE_Q<3(1) and 1 copy of FE_DGQ<3>(0))
The function
DoFTools::make_hanging_node_constraints(dofHandler, constraints)
throws
dealii::types::global_dof_index dealii::AffineConstraints<number>::calculate_line_index(size_type) const [with number = double; dealii::types::global_dof_index = unsigned int; size_type = unsigned int]
The violated condition was:
local_lines.is_element(line_n)
Additional information:
The index set given to this constraints object indicates constraints
for degree of freedom 167 should not be stored by this object, but a
constraint is being added.
Before refinement, dofHandler stored 138 DoFs, after refinement 202.
I could not reproduce the error on a minimal example.
However, it is not clear to me why
make_hanging_constraints() reports an error associated with dof index 167,
if I cleared the constraints object before hand and can be certain that my DoFHandler has 202 DoFs.
So the sequence of distributing DoFs, followed by clearing constraints and calling make hanging node constraints should work independently of how my program arrived at these lines of code. Is this not true?
Any general hints as for the problem source and narrowing down the problem?
Thanks,
Simon