const unsigned int coarse_component,
const FiniteElement<dim,spacedim> &coarse_fe,
const std::vector<types::global_dof_index> &weight_mapping,
- std::vector<std::map<types::global_dof_index, float> > &weights,
- bool is_called_in_parallel)
+ const bool is_called_in_parallel,
+ std::vector<std::map<types::global_dof_index, float> > &weights)
{
unsigned int pos = 0;
for (unsigned int local_dof=0; local_dof<copy_data.dofs_per_cell; ++local_dof)
weights[wi][wj] = copy_data.global_parameter_representation[pos](i);
}
}
- else
- // Note that when this function operates with distributed
- // fine grid, this assertion is switched off since the
- // condition does not necessarily hold
- Assert (copy_data.global_parameter_representation[pos](i) == 0 || is_called_in_parallel,
- ExcInternalError());
+ else if (!is_called_in_parallel)
+ {
+ // Note that when this function operates with distributed
+ // fine grid, this assertion is switched off since the
+ // condition does not necessarily hold
+ Assert (copy_data.global_parameter_representation[pos](i) == 0,
+ ExcInternalError());
+ }
+
++pos;
}
coarse_component,
std_cxx11::cref(coarse_grid.get_fe()),
std_cxx11::cref(weight_mapping),
- std_cxx11::ref(weights),
- is_called_in_parallel),
+ is_called_in_parallel,
+ std_cxx11::ref(weights)),
scratch,
copy_data);
}