An error occurred in line <2248> of file </Users/praveen/Applications/deal.II/9.5.1/install/include/deal.II/lac/affine_constraints.h> in function
types::global_dof_index dealii::AffineConstraints<>::calculate_line_index(const size_type) const [number = double]
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 0 should not be stored by this object, but a
constraint is being added.
Everything is same, cell worker, copier are same for both WorkStream and MeshWorker, so I cannot see why only MeshWorker gives this problem.
Here is how I setup my constraints
// Setup affine constraints
constraints.clear();
constraints.reinit(locally_relevant_dofs);
setup_periodic_constraints();
constraints.close();
//------------------------------------------------------------------------------
template <int dim>
void
CGSEM<dim>::setup_periodic_constraints()
{
if(parameters.periodic_x == true ||
parameters.periodic_y == true ||
parameters.periodic_z == true)
{
pcout << "Setup periodic constraints ...\n";
}
else
{
return;
}
typedef typename DoFHandler<dim>::cell_iterator Iter;
std::vector<GridTools::PeriodicFacePair<Iter>> periodicity_vector;
// Periodic along x
if(parameters.periodic_x == true)
GridTools::collect_periodic_faces(dof_handler,
0,
1,
0,
periodicity_vector);
// Periodic along y
if(parameters.periodic_y == true)
GridTools::collect_periodic_faces(dof_handler,
2,
3,
1,
periodicity_vector);
// Periodic along z
if(dim == 3 && parameters.periodic_z == true)
GridTools::collect_periodic_faces(dof_handler,
4,
5,
2,
periodicity_vector);
DoFTools::make_periodicity_constraints<dim, dim>(periodicity_vector, constraints);
}
Thanks
praveen