AssertDimension (partition_blocks[partition], task_info.n_blocks) when calling MatrixFree::reinit() for finest level in GMG

40 views
Skip to first unread message

Denis Davydov

unread,
May 5, 2017, 2:38:14 PM5/5/17
to deal.II User Group
Dear all,

I am hitting  an AssertDimension (partition_blocks[partition], task_info.n_blocks); when initializing MatrixFree object for the finest level of the mesh.
This happens at 2nd h-adaptive step with 3 a-priori global refinements. 
The part of the code during setup of each level is rather standard GMG with Laplace operator:

        typename MatrixFree<dim,LevelNumberType>::AdditionalData mg_additional_data;

        mg_additional_data.tasks_parallel_scheme = MatrixFree<dim,LevelNumberType>::AdditionalData::partition_color;

        mg_additional_data.level_mg_handler = level;

        mg_additional_data.mapping_update_flags = update_gradients | update_JxW_values;

        ConstraintMatrix level_constraints;

        IndexSet relevant_dofs;

        DoFTools::extract_locally_relevant_level_dofs(dof_handler, level,

                                                      relevant_dofs);

        level_constraints.reinit(relevant_dofs);

        level_constraints.add_lines(mg_constrained_dofs.get_boundary_indices(level));

        level_constraints.close();


        std::shared_ptr<MatrixFree<dim,LevelNumberType>> mg_level_data(new MatrixFree<dim,LevelNumberType>());


        mg_level_data->reinit (mapping, dof_handler, level_constraints, quadrature_formula,

                               mg_additional_data);


backtrace from this reinit is: 

 matrix_free.h:1668
   1665     quad_hp.emplace_back (quad[q]);
   1666   internal_reinit(StaticMappingQ1<dim>::mapping, dof_handler,constraint,
   1667                   locally_owned_set, quad_hp, additional_data);
-> 1668 }

 matrix_free.templates.h:166
   163        // constraint_pool_data. It also reorders the way cells are gone through
   164        // (to separate cells with overlap to other processors from others
   165        // without).
-> 166        initialize_indices (constraint, locally_owned_set);

 matrix_free.templates.h:689
   686          (size_info, task_info, renumbering, irregular_cells,
   687           dof_handlers.active_dof_handler == DoFHandlers::hp);
   688        else
-> 689          dof_info[0].make_thread_graph_partition_color
   690          (size_info, task_info, renumbering, irregular_cells,
   691           dof_handlers.active_dof_handler == DoFHandlers::hp);

dof_info.templates.h:1011
   1008                 break;
   1009               }
   1010         }
-> 1011       AssertDimension (partition_blocks[partition], task_info.n_blocks);

Any ideas?

Regards,
Denis.

Martin Kronbichler

unread,
May 6, 2017, 2:00:36 AM5/6/17
to dea...@googlegroups.com
Hi Denis,

This is a bug somewhere in the initialization of the blocks. Could you
please send me the code to reproduce this behavior?

Best,
Martin

Denis Davydov

unread,
May 11, 2017, 8:42:48 AM5/11/17
to deal.II User Group
Just to confirm my sanity, I can reproduce the error by loading in the p::d::Tria and setting up GMG objects.
Of course, that does not really help anyone to try this as the refinement history in p::d::Tria::save() is written as a binary file... :-(

Denis Davydov

unread,
May 11, 2017, 8:43:44 AM5/11/17
to deal.II User Group
p.s. missed attachments in the last post.
parallel_multigrid_adaptive_02.cc
restart.mesh
restart.mesh.info

Daniel Arndt

unread,
May 14, 2017, 4:50:14 AM5/14/17
to deal.II User Group
Denis,

this is solved by https://github.com/dealii/dealii/pull/4376, isn't it?

Denis Davydov

unread,
May 14, 2017, 6:48:22 AM5/14/17
to dea...@googlegroups.com
Correct!

On 14 May 2017, at 10:50, Daniel Arndt <daniel...@iwr.uni-heidelberg.de> wrote:

Denis,

this is solved by https://github.com/dealii/dealii/pull/4376, isn't it?

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/zSC33HFN9AA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages